diff --git a/send.py b/send.py deleted file mode 100644 index 5dde9c3..0000000 --- a/send.py +++ /dev/null @@ -1,22 +0,0 @@ -import asyncio -from aiogram import Bot -from aiogram.client.default import DefaultBotProperties -from aiogram.enums import ParseMode - -from dutylog.infrastructure.utils.config import load_config - -USER_ID = 983321451 - - -async def main(): - config = load_config() - bot = Bot(token=config.bot.token, default=DefaultBotProperties(parse_mode=ParseMode.HTML)) - - await bot.send_message(USER_ID, "✅ Ответ от администрации ⬇️") - await bot.send_message(USER_ID, "Да. Анонимно") - - await bot.session.close() - - -if __name__ == "__main__": - asyncio.run(main()) diff --git a/src/dutylog/application/bot/admin_dialogs/residents_management.py b/src/dutylog/application/bot/admin_dialogs/residents_management.py index 93fa0a6..85c4241 100644 --- a/src/dutylog/application/bot/admin_dialogs/residents_management.py +++ b/src/dutylog/application/bot/admin_dialogs/residents_management.py @@ -648,13 +648,13 @@ resident_info_window = Window( Format("{info_content}"), Row( Button( - Const("Добавить часы"), + Const("➕ Добавить"), id="add_hours_btn", on_click=lambda c, b, m: m.switch_to(AdminMenuSG.add_hours_select), when=~F["is_admin"], ), Button( - Const("Отнять часы"), + Const("➖️ Отнять"), id="remove_hours_btn", on_click=lambda c, b, m: m.switch_to(AdminMenuSG.remove_hours_select), when=~F["is_admin"], @@ -672,17 +672,19 @@ resident_info_window = Window( on_click=on_rebind_resident, when=~F["is_admin"], ), - Button( - Const("🚪 Разлогинить"), - id="logout_resident_btn", - on_click=lambda c, b, m: m.switch_to(AdminMenuSG.resident_logout_confirm), - when=F["is_busy"] & ~F["is_admin"], - ), - Button( - Const("🗑 Удалить резидента"), - id="delete_resident_btn", - on_click=lambda c, b, m: m.switch_to(AdminMenuSG.resident_delete_confirm), - when=~F["is_admin"], + Row( + Button( + Const("🚪 Разлогинить"), + id="logout_resident_btn", + on_click=lambda c, b, m: m.switch_to(AdminMenuSG.resident_logout_confirm), + when=F["is_busy"] & ~F["is_admin"], + ), + Button( + Const("🗑 Удалить"), + id="delete_resident_btn", + on_click=lambda c, b, m: m.switch_to(AdminMenuSG.resident_delete_confirm), + when=~F["is_admin"], + ) ), SwitchTo( Const("◀️ Назад к результатам поиска"), diff --git a/src/dutylog/application/bot/user_handlers.py b/src/dutylog/application/bot/user_handlers.py index 65b9afc..5ec7a47 100644 --- a/src/dutylog/application/bot/user_handlers.py +++ b/src/dutylog/application/bot/user_handlers.py @@ -38,6 +38,9 @@ async def start_handler( last_name=message.from_user.last_name, ) + if user and user.username != message.from_user.username: + await users_repository.update_user(user_id=message.from_user.id, username=message.from_user.id) + is_creator = message.from_user.id == config.bot.creator_id is_admin = user.is_admin if user else False diff --git a/src/dutylog/infrastructure/database/repositories/users_repository.py b/src/dutylog/infrastructure/database/repositories/users_repository.py index fefa6de..b1fb869 100644 --- a/src/dutylog/infrastructure/database/repositories/users_repository.py +++ b/src/dutylog/infrastructure/database/repositories/users_repository.py @@ -24,20 +24,6 @@ class UsersRepository: user = await self.users_dao.create(user) return user - async def update_user_info( - self, - user_id: int, - username: str | None = None, - first_name: str | None = None, - last_name: str | None = None, - ) -> User | None: - return await self.users_dao.update( - user_id, - username=username, - first_name=first_name, - last_name=last_name, - ) - async def set_admin_status(self, user_id: int, is_admin: bool) -> User | None: return await self.users_dao.update(user_id, is_admin=is_admin)