Compare commits
10 Commits
49be39d055
...
cc7a9f9a0c
| Author | SHA1 | Date |
|---|---|---|
|
|
cc7a9f9a0c | |
|
|
2776051b17 | |
|
|
1d4cb2d248 | |
|
|
ba6191d7e3 | |
|
|
48c74153ec | |
|
|
ea9e4761bc | |
|
|
da1d762c51 | |
|
|
f627cdc785 | |
|
|
dfd1954795 | |
|
|
c3c9be3a30 |
|
|
@ -1,3 +1,11 @@
|
|||
> [!Caution]
|
||||
>
|
||||
> На данной странице представлены инстансы от сторонних разработчиков.
|
||||
>
|
||||
> Используйте на свой страх и риск
|
||||
>
|
||||
|
||||
# Открытые сервера
|
||||
|
||||
* [JustMAX](https://t.me/justmax_official)
|
||||
* [mox.nyako.tk](https://t.me/opengrame/296), порт 443 (регистрация по реальному номеру)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
> [!Caution]
|
||||
>
|
||||
> Проект находится на ранней стадии разработки и вероятно полон багов.
|
||||
> Проект находится на ранней стадии разработки и, вероятно, полон багов.
|
||||
>
|
||||
> Использование в профессиональных средах не рекомендовано.
|
||||
>
|
||||
|
|
@ -13,7 +13,7 @@ https://t.me/openmax_alerts
|
|||
# Требования
|
||||
|
||||
- Python 3.12+ (поддержка версий ниже не гарантирована)
|
||||
- MariaDB, MySQL или SQLite
|
||||
- MariaDB, MySQL или SQLite (использование последнего не рекомендуется, так как поддержка ещё в разработке)
|
||||
- Уметь патчить клиент MAX или собирать Komet из исходного кода (естественно с заменой сервера)
|
||||
- Сертификат и приватный ключ X.509 (для тестирования сервера можно сгенерировать самоподписанный: ```openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365```)
|
||||
|
||||
|
|
|
|||
|
|
@ -44,4 +44,8 @@ class ServerConfig:
|
|||
### Telegram bot
|
||||
telegram_bot_token = os.getenv("telegram_bot_token") or "123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
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_enabled = bool(os.getenv("telegram_whitelist_enabled")) or False
|
||||
telegram_blacklist_enabled = bool(os.getenv("telegram_blacklist_enabled")) or False
|
||||
|
||||
telegram_whitelist_ids = [x.strip() for x in os.getenv("telegram_whitelist_ids", "").split(",") if x.strip()]
|
||||
telegram_blacklist_ids = [x.strip() for x in os.getenv("telegram_blacklist_ids", "").split(",") if x.strip()]
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ class Static:
|
|||
REGISTRATION_SUCCESS = "registration_success"
|
||||
ACCOUNT_ALREADY_EXISTS = "account_already_exists"
|
||||
ID_NOT_WHITELISTED = "id_not_whitelisted"
|
||||
ID_BLACKLISTED = "id_blacklisted"
|
||||
INTERNAL_ERROR = "internal_error"
|
||||
INCOMING_CODE = "incoming_code"
|
||||
|
||||
|
|
@ -104,6 +105,9 @@ class Static:
|
|||
"id_not_whitelisted": """
|
||||
❌ Ваш ID не находится в белом списке.
|
||||
""",
|
||||
"id_blacklisted": """
|
||||
❌ Ваш ID заблокирован.
|
||||
""",
|
||||
"internal_error": """
|
||||
❌ Ошибка при регистрации аккаунта.
|
||||
""",
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ class TelegramBot:
|
|||
self.enabled = enabled
|
||||
self.db_pool = db_pool
|
||||
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.msg_types = Static().BotMessageTypes()
|
||||
|
|
@ -46,11 +47,16 @@ class TelegramBot:
|
|||
async def handle_register(message):
|
||||
tg_id = str(message.from_user.id)
|
||||
|
||||
# Проверка ID на наличие в белом списке
|
||||
if tg_id not in self.whitelist_ids:
|
||||
await self.bot.send_message(message.chat.id, self.get_bot_message(self.msg_types.ID_NOT_WHITELISTED))
|
||||
return
|
||||
|
||||
# Проверка ID на наличие в белом списке и в чёрном списке
|
||||
if whitelist_enabled:
|
||||
if tg_id not in self.whitelist_ids:
|
||||
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 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)
|
||||
)
|
||||
except Exception as e:
|
||||
self.logger.error(f"Ошибка отправки кода в Telegram: {e}")
|
||||
self.logger.error(f"Ошибка отправки кода в Telegram: {e}")
|
||||
|
|
|
|||
Loading…
Reference in New Issue