mirror of
https://github.com/openmax-server/server.git
synced 2026-05-22 19:41:41 +03:00
TG Bot: возможность включения белого списка
This commit is contained in:
@@ -24,6 +24,7 @@ domain = "openmax.su"
|
|||||||
avatar_base_url = "http://127.0.0.1/avatar/"
|
avatar_base_url = "http://127.0.0.1/avatar/"
|
||||||
telegram_bot_token = "123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
telegram_bot_token = "123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||||
telegram_bot_enabled = "1"
|
telegram_bot_enabled = "1"
|
||||||
|
telegram_whitelist_enabled = "1"
|
||||||
telegram_whitelist_ids = "1,2,3"
|
telegram_whitelist_ids = "1,2,3"
|
||||||
origins="http://127.0.0.1,https://web.openmax.su"
|
origins="http://127.0.0.1,https://web.openmax.su"
|
||||||
sms_gateway_url = "http://127.0.0.1:8100/sms-gateway"
|
sms_gateway_url = "http://127.0.0.1:8100/sms-gateway"
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ class ServerConfig:
|
|||||||
telegram_bot_token = os.getenv("telegram_bot_token") or "123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
telegram_bot_token = os.getenv("telegram_bot_token") or "123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||||
telegram_bot_enabled = bool(os.getenv("telegram_bot_enabled")) or True
|
telegram_bot_enabled = bool(os.getenv("telegram_bot_enabled")) or True
|
||||||
telegram_whitelist_ids = [x.strip() for x in os.getenv("telegram_whitelist_ids", "").split(",") if x.strip()]
|
telegram_whitelist_ids = [x.strip() for x in os.getenv("telegram_whitelist_ids", "").split(",") if x.strip()]
|
||||||
|
telegram_whitelist_enabled = bool(os.getenv("telegram_whitelist_enabled")) or True
|
||||||
|
|
||||||
### origins
|
### origins
|
||||||
origins = [x.strip() for x in os.getenv("origins", "").split(",") if x.strip()] if os.getenv("origins") else None
|
origins = [x.strip() for x in os.getenv("origins", "").split(",") if x.strip()] if os.getenv("origins") else None
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from common.tools import Tools
|
|||||||
|
|
||||||
|
|
||||||
class TelegramBot:
|
class TelegramBot:
|
||||||
def __init__(self, token, enabled, db_pool, whitelist_ids=None):
|
def __init__(self, token, enabled, db_pool, whitelist_ids=None, whitelist_enabled=False):
|
||||||
self.bot = Bot(token=token)
|
self.bot = Bot(token=token)
|
||||||
self.dp = Dispatcher()
|
self.dp = Dispatcher()
|
||||||
self.router = Router()
|
self.router = Router()
|
||||||
@@ -23,6 +23,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.whitelist_enabled = whitelist_enabled
|
||||||
self.logger = logging.getLogger(__name__)
|
self.logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
self.msg_types = Static().BotMessageTypes()
|
self.msg_types = Static().BotMessageTypes()
|
||||||
@@ -59,7 +60,8 @@ class TelegramBot:
|
|||||||
async def handle_register(self, message: Message):
|
async def handle_register(self, message: Message):
|
||||||
tg_id = str(message.from_user.id)
|
tg_id = str(message.from_user.id)
|
||||||
|
|
||||||
# Проверка ID на наличие в белом списке
|
# Проверка ID на наличие в белом списке (если он включен, конечно)
|
||||||
|
if self.whitelist_enabled:
|
||||||
if self.whitelist_ids and tg_id not in self.whitelist_ids:
|
if self.whitelist_ids and tg_id not in self.whitelist_ids:
|
||||||
await message.answer(
|
await message.answer(
|
||||||
self.get_bot_message(self.msg_types.ID_NOT_WHITELISTED)
|
self.get_bot_message(self.msg_types.ID_NOT_WHITELISTED)
|
||||||
|
|||||||
@@ -19,7 +19,8 @@ class TelegramBotController(ControllerBase):
|
|||||||
token=self.config.telegram_bot_token,
|
token=self.config.telegram_bot_token,
|
||||||
enabled=self.config.telegram_bot_enabled,
|
enabled=self.config.telegram_bot_enabled,
|
||||||
db_pool=api['db'],
|
db_pool=api['db'],
|
||||||
whitelist_ids=self.config.telegram_whitelist_ids
|
whitelist_ids=self.config.telegram_whitelist_ids,
|
||||||
|
whitelist_enabled=self.config.telegram_whitelist_enabled,
|
||||||
)
|
)
|
||||||
|
|
||||||
return _start_all()
|
return _start_all()
|
||||||
|
|||||||
Reference in New Issue
Block a user