Browse Source

Динамически генерится ссылка на бота при получении инфайта

master
Дмитрий 3 years ago
parent
commit
0793c3a033
  1. 16
      main.py

16
main.py

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

Loading…
Cancel
Save