телеграм бот на python, python-telegram-bot
мне нужно сделать бота который будет отправлять сообщения Мут\Размут @user_id после того как отправлено сообщение:
? Имя(представляет собой гиперссылку на пользователя вида https://t.me/user_id) лишается права слова на 0 минут
? Причина: какая-то причина
? Модератор: Iris | Чат-менеджер (https://t.me/iris_cm_bot)
Нужно взять из этого сообщения user_id и написать его в сообщениях "Мут @user_id""Размут @user_id". как это сделать. сейчас у меня есть такой код:
import re
from telegram import Update
from telegram.ext import Application, MessageHandler, filters, CallbackContext
TOKEN = 'MY_TOKEN'
async def unmute_user(context: CallbackContext):
job = context.job
chat_id = job.chat_id
username = job.data['username']
await context.bot.send_message(chat_id=chat_id, text=f"Размут {username}")
async def handle_message(update: Update, context: CallbackContext):
message = update.message.text
if "Модератор: Iris | Чат-менеджер" in message:
match = re.search(r'? (.*?) лишается права слова', message)
if match:
username = match.group(1)
chat_id = update.message.chat_id
await context.bot.send_message(chat_id=chat_id, text=f"Мут {username}")
context.job_queue.run_once(
callback=unmute_user,
when=1, # 10 секунд
data={'username': username},
chat_id=chat_id
)
def main():
application = Application.builder().token(TOKEN).build()
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
application.run_polling()
if __name__ == '__main__':
main()