diff --git a/main.py b/main.py index 79ced36..b0534f1 100644 --- a/main.py +++ b/main.py @@ -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: """Добавление юзера в чат. Когда бот получает токен, он проверяет его на валидность (есть ли