|
|
|
@ -9,6 +9,8 @@ from sqlalchemy import create_engine
|
|
|
|
|
from sqlalchemy.orm import sessionmaker |
|
|
|
|
from sqlalchemy.exc import IntegrityError |
|
|
|
|
from models import Allowed_user, Token, Messages_to_delete, Base |
|
|
|
|
from aiogram.utils.markdown import escape_md |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
logging.basicConfig(level=logging.INFO) |
|
|
|
|
DELAY_TIME = int(os.getenv("GBOT_DELAY_TIME")) |
|
|
|
@ -158,27 +160,29 @@ async def send_question(message: types.Message):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@dp.message_handler(commands=["get_invite"]) |
|
|
|
|
async def get_invite(message: types.Message): |
|
|
|
|
|
|
|
|
|
if message["from"]["id"] not in ADMINS: |
|
|
|
|
return |
|
|
|
|
@only_admins |
|
|
|
|
async def get_invite(message: types.Message) -> None: |
|
|
|
|
|
|
|
|
|
token = secrets.token_urlsafe(16) |
|
|
|
|
|
|
|
|
|
bot_info = await bot.get_me() |
|
|
|
|
bot_link = "@" + str(bot_info.username) |
|
|
|
|
|
|
|
|
|
exp = datetime.now() + timedelta(minutes=5) |
|
|
|
|
test = Token(token=token, expire=exp) |
|
|
|
|
session.add(test) |
|
|
|
|
session.commit() |
|
|
|
|
msg = f"Новый токен: *{token}*\nБудет действителен 5 минут\n\nЧтобы вступить в чат напиши боту {escape_md(bot_link)} \n`/add_me {token}`" |
|
|
|
|
|
|
|
|
|
await message.reply( |
|
|
|
|
f"Новый токен: *{token}* \nБудет действителен 5 минут\n\nЧтобы вступить в чат напиши боту [@GorgorodBot](https://t.me/GorgorodBot)\n`/add_me {token}`", |
|
|
|
|
msg, |
|
|
|
|
reply=False, |
|
|
|
|
parse_mode="Markdown", |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@dp.message_handler(commands=["add_me"]) |
|
|
|
|
async def add_me(message: types.Message): |
|
|
|
|
async def add_me(message: types.Message) -> None: |
|
|
|
|
"""Добавление юзера в чат. |
|
|
|
|
|
|
|
|
|
Когда бот получает токен, он проверяет его на валидность (есть ли |
|
|
|
|