Top.Mail.Ru
Ответы

Можете написать код для бота телеграм что бы он фильтровал можно сказать чат от стикеров? На пайтон

По дате
По рейтингу
Аватар пользователя
Просветленный

код:

1234567891011
 from telegram.ext import Updater, MessageHandler, Filters 
 
def filter_stickers(update, context): 
    message = update.message 
    if message.sticker is not None: 
        message.delete() 
 
updater = Updater(token='YOUR_TOKEN', use_context=True) 
dispatcher = updater.dispatcher 
dispatcher.add_handler(MessageHandler(Filters.all, filter_stickers)) 
updater.start_polling() 

В этом коде создается объект Updater, который будет получать обновления из Telegram API, и объект MessageHandler, который будет вызывать функцию filter_stickers для каждого нового сообщения. Внутри функции проверяется, является ли сообщение стикером, и если да, удаляем его с помощью метода delete(). Затем мы добавляем обработчик в диспетчер и запускаем бесконечный цикл получения обновлений с помощью метода start_polling().
Обратите внимание, что для работы этого кода необходимо заменить YOUR_TOKEN на токен вашего бота в Telegram. Также не забудьте установить библиотеку python-telegram-bot с помощью команды pip install python-telegram-bot.

Аватар пользователя
Мастер

python

123456789101112131415161718192021222324252627282930313233343536
 import logging 
from telegram.ext import Updater, MessageHandler, Filters 
 
# Устанавливаем уровень логирования 
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO) 
 
# Замените "YOUR_BOT_TOKEN" на токен вашего бота 
TOKEN = "YOUR_BOT_TOKEN" 
 
# Функция, которая будет вызываться при получении сообщения 
def filter_stickers(update, context): 
    message = update.message 
 
    # Проверяем, является ли сообщение стикером 
    if message.sticker: 
        # Если это стикер, удаляем его 
        message.delete() 
 
def main(): 
    # Создаем объект Updater и передаем ему токен вашего бота 
    updater = Updater(TOKEN, use_context=True) 
 
    # Получаем объект диспетчера (dispatcher) для регистрации обработчиков 
    dp = updater.dispatcher 
 
    # Регистрируем обработчик для фильтрации стикеров 
    dp.add_handler(MessageHandler(Filters.sticker, filter_stickers)) 
 
    # Запускаем бота 
    updater.start_polling() 
 
    # Ожидаем завершение работы бота (Ctrl+C для остановки) 
    updater.idle() 
 
if __name__ == '__main__': 
    main() 


Не забудьте заменить "YOUR_BOT_TOKEN" на токен вашего бота. Этот код использует библиотеку python-telegram-bot, поэтому убедитесь, что она установлена с помощью pip install python-telegram-bot. Этот бот будет удалять любые сообщения-стикеры, которые ему отправят.