From dd177e3d2c4579bf435c1f583a1ceab3fb438791 Mon Sep 17 00:00:00 2001 From: Andrew Guschin Date: Tue, 15 Oct 2024 20:08:19 +0400 Subject: move project files to src --- keyboards.py | 123 ----------------------------------------------------------- 1 file changed, 123 deletions(-) delete mode 100644 keyboards.py (limited to 'keyboards.py') diff --git a/keyboards.py b/keyboards.py deleted file mode 100644 index aa8d761..0000000 --- a/keyboards.py +++ /dev/null @@ -1,123 +0,0 @@ -import backend_api -from abc import ABC - - -class Keyboard(ABC): - @classmethod - def get_keyboard(cls, telegram_id=None): - pass - - -class MenuKeyboard(Keyboard): - CHOOSE_TASK = "Выбрать задание📚" - TOP_10 = "hidden Топ-10📊" - RULES = "Правилаℹ️" - ADMIN = "/admin" - HELP = "Связаться с Базальт СПО🐧" - - @classmethod - def get_keyboard(cls, telegram_id=None, solved=False): - if telegram_id is not None: - status_code, data = backend_api.get_profile(telegram_id) - if status_code == 200 and data["is_admin"]: - return [ - [cls.ADMIN], - [cls.CHOOSE_TASK], - [cls.TOP_10, cls.RULES], - [cls.HELP], - ] - - if solved: - return [ - [cls.RULES], - [cls.HELP], - ] - else: - return [ - [cls.CHOOSE_TASK], - [cls.RULES], - [cls.HELP], - ] - - -class BackToMenuKeyboard(Keyboard): - CANCEL = "Вернуться в меню↩️" - - @classmethod - def get_keyboard(cls, telegram_id=None): - return [[cls.CANCEL]] - - -class TasksKeyboard(Keyboard): - CANCEL = "Вернуться в меню↩️" - - @classmethod - def get_keyboard(cls, telegram_id=None): - status, tasks = backend_api.get_published_tasks() - titles_keyboard = [[cls.CANCEL]] - if status == 200: - titles = [] - for task in sorted(tasks, key=lambda t: t.get("title")): - titles.append([task.get("title")]) - titles_keyboard.extend(titles) - - return titles_keyboard - - -class PublishTasksKeyboard(Keyboard): - CANCEL = "Вернуться в меню↩️" - - @classmethod - def get_keyboard(cls, telegram_id=None): - status, tasks = backend_api.get_tasks() - titles_keyboard = [[cls.CANCEL]] - if status == 200: - titles_keyboard.extend([task.get("title")] for task in tasks) - - return titles_keyboard - - -class TaskChosenKeyboard(Keyboard): - TYPE_ANSWER = "Ввести ответ✏️" - CANCEL = "Назад↩️" - - @classmethod - def get_keyboard(cls, telegram_id=None): - return [ - # [cls.TYPE_ANSWER], - [cls.CANCEL], - ] - - -class ContinueKeyboard(Keyboard): - CONTINUE = "Продолжить➡️" - - @classmethod - def get_keyboard(cls, telegram_id=None): - return [[cls.CONTINUE]] - - -class AnsweringKeyboard(Keyboard): - CANCEL = "Отмена↩️" - - @classmethod - def get_keyboard(cls, telegram_id=None): - return [[cls.CANCEL]] - - -class AdminKeyboard(Keyboard): - CANCEL = "Вернуться в меню↩️" - PUBLISH_TASK = "Опубликовать задачу" - HIDE_TASK = "Скрыть задачу" - ANNOUNCE = "Сделать объявление" - MESSAGE_PLAYER = "Написать сообщение от имени бота" - - @classmethod - def get_keyboard(cls, telegram_id=None): - return [ - [cls.CANCEL], - [cls.PUBLISH_TASK], - [cls.HIDE_TASK], - [cls.ANNOUNCE], - [cls.MESSAGE_PLAYER], - ] -- cgit v1.2.3