another commit

This commit is contained in:
2023-06-08 21:29:12 +03:00
parent e315648bc5
commit 460bb84b76
3 changed files with 38 additions and 5 deletions

View File

@ -38,7 +38,7 @@ class States(StatesGroup):
def get_queue_stats_text(queue: Queue) -> str:
s = f"Название: {queue.name}" f"Количество участников: {len(queue.users)}"
s = textbook.queue_stats.format(name=queue.name, count=len(queue.users))
return s
@ -127,6 +127,7 @@ async def queue_handler(call: types.CallbackQuery, queue_id: str = None):
message_id=call.message.id,
text=get_queue_stats_text(queue),
reply_markup=keyboards.queue_menu(),
parse_mode="html",
)
await bot.answer_callback_query(callback_query_id=call.id)
@ -156,6 +157,7 @@ async def edit_queue_name_handler(call: types.CallbackQuery):
reply_markup=keyboards.edit_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(
@ -165,6 +167,38 @@ async def edit_queue_name_cancel_handler(call: types.CallbackQuery):
await queue_handler(call, queue_id)
@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
)
return None
async with bot.retrieve_data(
user_id=msg.from_user.id, chat_id=msg.chat.id
) as state_data:
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
)
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 asyncio.sleep(1)
await bot.set_state(user_id=msg.from_user.id, state=States.default)
await bot.send_message(
chat_id=msg.chat.id,
text=get_queue_stats_text(queue),
reply_markup=keyboards.queue_menu(),
parse_mode="html",
)
@bot.callback_query_handler(func=lambda c: c.data == "settings")
async def settings(call: types.CallbackQuery):
await bot.set_state(user_id=call.from_user.id, state=States.default)
@ -176,9 +210,6 @@ async def settings(call: types.CallbackQuery):
)
@bot.callback_query_handler(func=lambda c: c.data == "edit_name")
async def edit_name_handler(call: types.CallbackQuery):
await bot.set_state(user_id=call.from_user.id, state=States.changing_name)