Skip to content

Telegram bot for me and my friends, which helps us to order cocktails and other things at our parties.

License

Notifications You must be signed in to change notification settings

NikitosKey/alcounting_bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Телеграмм бот Алкоучёт

in progress

...

Что тут происходит на данный момент

Что сделано

  1. Найден хостинг: https://www.pythonanywhere.com
  2. Выбраны библиотеки и язык для бота
  3. Намечен примерный план работы
  4. Выбрана система для хранения данных: SQLite
  5. Примерный макет базы данных готов и подключён к боту
  6. Начато написание интерфейса
  7. Базовые возможности и интерефейс покупателя
  8. Базовые возможности и интрефейс бармена

Что нужно сделать

На данный момент остается панель админа + оптимизация и переписывание говнокода.

Уровни доступа

  1. Администратор.

    Имеет полный доступ ко всем возможностям бота.

    • выбор роли заказчика или бармена (скоро)
    • различные логи (как получится)
    • какая-либо статистка (не скоро)
    • вносить изменения в списки прав (не скоро)
    • фичи, которые я ещё не придумал (не скоро)
  2. Бармен.

    • может посмотреть очередь заказов (готово)
    • отмечать выполненные заказы (готов)
    • принимать заказы, заказ получит соответствующий статус (готово)
    • заказать что-либо самостоятельно (готово)
  3. Покупатель (заказчик).

    • Может посмотреть барную карту (готово)
    • Посмотреть информацию о позициях (готово)
    • Выбрать из перечня, подтвердить и заказать (готово)
    • Посмотреть свои заказы и их статус (готово)
    • Сумма заказов, календарь вечеринок... (пока не скоро)

База данных

Находится в data/database.db (загитигнорена во избежание утечки пользовательских данных) хранится локально на хосте

Представляет собой SQLite базу, вся логика прописывается в файле database.py. Позднее нужно будет создать класс, обслуживающий эту бд.

Бд содержит таблицу пользователей, барную карту и таблицу заказов (из которой формируется очередь бармена)

Пока что структура примерная, походу дела картина станет яснее.

Данные заказов

Табличка в базе данных, где хранится:

  • номер заказа (может и не нужен, пока вместо него дата и время)
  • наименование продукта из меню
  • id покупателя
  • id бармена
  • статус заказа
  • список со временем изменений статуса заказа (пока не нужно, ибо статуса всего два и, наверное, больше не нужно)
Барная карта

Табличка в бд с полями:

  • наименование
  • описание
  • стоимость
  • возможно теги (для деления на категории в случае слишком большого меню)
Данные пользователей

Табличка содержит:

  • id пользователя
  • имя пользователя
  • уровень доступа (тип пользователя)
  • ...

...

Introducing

...

Requriments

  • python-telegram-bot v21.0.1 installed from pip
  • python 3.8 - 3.12
  • BOT_TOKEN a variable in your environment with the value of the Telegram bot API token

Instructions

...

About

Telegram bot for me and my friends, which helps us to order cocktails and other things at our parties.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published