From a9ec3a29a94e34e5e3f0345a8fe53e91c39aa56f Mon Sep 17 00:00:00 2001 From: Olly Hearn Date: Thu, 8 Jun 2023 21:56:48 +0300 Subject: [PATCH] about+black --- bot/app/bot.py | 48 +++++++++++++++++++++++++------------------- bot/app/keyboards.py | 2 ++ bot/app/textbook.py | 9 +++++++-- 3 files changed, 36 insertions(+), 23 deletions(-) diff --git a/bot/app/bot.py b/bot/app/bot.py index d78f3ea..c4eeb5d 100644 --- a/bot/app/bot.py +++ b/bot/app/bot.py @@ -61,7 +61,9 @@ async def start(msg: Message): pass else: await bot.send_message( - chat_id=msg.chat.id, text=textbook.menu.format(name=user.name), reply_markup=keyboards.menu() + chat_id=msg.chat.id, + text=textbook.menu.format(name=user.name), + reply_markup=keyboards.menu(), ) @@ -76,6 +78,7 @@ async def to_menu_handler(call: types.CallbackQuery): reply_markup=keyboards.menu(), ) + @bot.callback_query_handler(func=lambda c: c.data == "new_queue") async def new_queue_handler(call: types.CallbackQuery): user = session.query(User).filter_by(id=call.from_user.id).first() @@ -114,9 +117,7 @@ async def queue_handler(call: types.CallbackQuery, queue_id: str = None): queue_id = call.data[2:] if not queue_id else queue_id queue = session.query(Queue).filter_by(id=queue_id).first() if not queue: - await bot.answer_callback_query( - callback_query_id=call.id, text=textbook.error - ) + await bot.answer_callback_query(callback_query_id=call.id, text=textbook.error) return None async with bot.retrieve_data( user_id=call.from_user.id, chat_id=call.message.chat.id @@ -158,7 +159,9 @@ async def edit_queue_name_handler(call: types.CallbackQuery): ) -@bot.callback_query_handler(func=lambda c: c.data == "cancel", state=States.changing_queue_name) +@bot.callback_query_handler( + func=lambda c: c.data == "cancel", state=States.changing_queue_name +) async def edit_queue_name_cancel_handler(call: types.CallbackQuery): async with bot.retrieve_data( user_id=call.from_user.id, chat_id=call.message.chat.id @@ -170,9 +173,7 @@ async def edit_queue_name_cancel_handler(call: types.CallbackQuery): @bot.message_handler(content_types=["text"], state=States.changing_queue_name) async def update_queue_name(msg: Message): if len(msg.text) > 40 or "\n" in msg.text: - await bot.send_message( - chat_id=msg.chat.id, text=textbook.edit_name_error - ) + await bot.send_message(chat_id=msg.chat.id, text=textbook.edit_name_error) return None async with bot.retrieve_data( user_id=msg.from_user.id, chat_id=msg.chat.id @@ -180,15 +181,11 @@ async def update_queue_name(msg: Message): queue_id = state_data.get("queue_id", None) queue = session.query(Queue).filter_by(id=queue_id).first() if not queue: - await bot.send_message( - chat_id=msg.chat.id, text=textbook.edit_name_error - ) + await bot.send_message(chat_id=msg.chat.id, text=textbook.edit_name_error) return None setattr(queue, "name", msg.text) session.commit() - await bot.send_message( - chat_id=msg.chat.id, text=textbook.edit_queue_name_success - ) + await bot.send_message(chat_id=msg.chat.id, text=textbook.edit_queue_name_success) await asyncio.sleep(1) await bot.set_state(user_id=msg.from_user.id, state=States.default) await bot.send_message( @@ -221,7 +218,9 @@ async def edit_name_handler(call: types.CallbackQuery): ) -@bot.callback_query_handler(func=lambda c: c.data == "cancel", state=States.changing_name) +@bot.callback_query_handler( + func=lambda c: c.data == "cancel", state=States.changing_name +) async def edit_name_cancel_handler(call: types.CallbackQuery): await settings(call) @@ -229,19 +228,16 @@ async def edit_name_cancel_handler(call: types.CallbackQuery): @bot.message_handler(content_types=["text"], state=States.changing_name) async def update_name(msg: Message): if len(msg.text) > 40 or "\n" in msg.text: - await bot.send_message( - chat_id=msg.chat.id, text=textbook.edit_name_error - ) + await bot.send_message(chat_id=msg.chat.id, text=textbook.edit_name_error) return None user = session.query(User).filter_by(id=msg.from_user.id).first() setattr(user, "name", msg.text) session.commit() - await bot.send_message( - chat_id=msg.chat.id, text=textbook.edit_name_success - ) + await bot.send_message(chat_id=msg.chat.id, text=textbook.edit_name_success) await asyncio.sleep(1) await start(msg) + @bot.message_handler(commands=["take_part"]) async def tp(msg: Message): try: @@ -271,12 +267,22 @@ async def q(msg: Message): else: await bot.send_message(chat_id=msg.chat.id, text="Очередь не найдена!") + @bot.message_handler(commands=["mystate"]) async def mystate(msg): state = await bot.get_state(user_id=msg.from_user.id) await bot.send_message(chat_id=msg.from_user.id, text=state) +@bot.callback_query_handler(func=lambda c: c.data == "about") +async def about_handler(call: types.CallbackQuery): + await bot.answer_callback_query( + callback_query_id=call.id, + text=textbook.about, + show_alert=True, + ) + + async def main(): a = asyncio.create_task(bot.polling(non_stop=True)) await a diff --git a/bot/app/keyboards.py b/bot/app/keyboards.py index fda21fd..08db791 100644 --- a/bot/app/keyboards.py +++ b/bot/app/keyboards.py @@ -32,6 +32,7 @@ def queue_menu() -> keyboard: ] ) + def settings() -> keyboard: return keyboard( keyboard=[ @@ -40,6 +41,7 @@ def settings() -> keyboard: ] ) + def edit_name() -> keyboard: return keyboard( keyboard=[ diff --git a/bot/app/textbook.py b/bot/app/textbook.py index 86b4500..531cbbd 100644 --- a/bot/app/textbook.py +++ b/bot/app/textbook.py @@ -11,7 +11,12 @@ error = "Произошла непредвиденная ошибка!" queue_operational_error = "Произошла ошибка! Либо вы не являетесь владельцем очереди, либо данные устарели и вам следует заново выбрать очередь в меню!" edit_queue_name = "Введи новое имя очереди, имя должно быть не длинее 40 символов и не должно содержать переносов строки" settings = "🛠 Меню настроек" -edit_name = "Ты можешь поменять свое имя, которое будет отображаться в очередях. По умолчанию используется твое имя в Телеграме. Имя должно быть не длинее 40 символов и не иметь переносов строки. Пришли мне новое имя, или нажми кнопку \"❌ Отмена\"" +edit_name = 'Ты можешь поменять свое имя, которое будет отображаться в очередях. По умолчанию используется твое имя в Телеграме. Имя должно быть не длинее 40 символов и не иметь переносов строки. Пришли мне новое имя, или нажми кнопку "❌ Отмена"' edit_name_success = "Имя изменено!" edit_queue_name_success = "Имя очереди изменено!" -edit_name_error = "Новое имя не подходит под условия. Напиши подходящее, или нажми кнопку \"❌ Отмена\"" +edit_name_error = ( + 'Новое имя не подходит под условия. Напиши подходящее, или нажми кнопку "❌ Отмена"' +) + + +about = "Бот для очередей.\n\nРазработчик - ollyhearn.\nЯ всегда открыт для вопросов и предложений: @OllyHearn\n\nv0.1.1"