ЧС, возможность отключения белых и чёрных списков

This commit is contained in:
Anatoliy Esherkin 2026-03-12 10:50:52 +03:00 committed by GitHub
parent dfd1954795
commit f627cdc785
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 12 additions and 6 deletions

View File

@ -13,6 +13,7 @@ class TelegramBot:
self.enabled = enabled self.enabled = enabled
self.db_pool = db_pool self.db_pool = db_pool
self.whitelist_ids = whitelist_ids if whitelist_ids is not None else [] self.whitelist_ids = whitelist_ids if whitelist_ids is not None else []
self.blacklist_ids = blacklist_ids if blacklist_ids is not None else []
self.logger = logging.getLogger(__name__) self.logger = logging.getLogger(__name__)
self.msg_types = Static().BotMessageTypes() self.msg_types = Static().BotMessageTypes()
@ -46,11 +47,16 @@ class TelegramBot:
async def handle_register(message): async def handle_register(message):
tg_id = str(message.from_user.id) tg_id = str(message.from_user.id)
# Проверка ID на наличие в белом списке # Проверка ID на наличие в белом списке и в чёрном списке
if tg_id not in self.whitelist_ids: if whitelist_enabled:
await self.bot.send_message(message.chat.id, self.get_bot_message(self.msg_types.ID_NOT_WHITELISTED)) if tg_id not in self.whitelist_ids:
return await self.bot.send_message(message.chat.id, self.get_bot_message(self.msg_types.ID_NOT_WHITELISTED))
return
elif blacklist_enabled:
if tg_id in self.blacklist_ids:
await self.bot.send_message(message.chat.id, self.get_bot_message(self.msg_types.ID_BLACKLISTED))
return
async with self.db_pool.acquire() as conn: async with self.db_pool.acquire() as conn:
async with conn.cursor() as cursor: async with conn.cursor() as cursor:
# Проверка на существование # Проверка на существование
@ -127,4 +133,4 @@ class TelegramBot:
chat_id, self.get_bot_message(self.msg_types.INCOMING_CODE).format(phone=phone, code=code) chat_id, self.get_bot_message(self.msg_types.INCOMING_CODE).format(phone=phone, code=code)
) )
except Exception as e: except Exception as e:
self.logger.error(f"Ошибка отправки кода в Telegram: {e}") self.logger.error(f"Ошибка отправки кода в Telegram: {e}")