• Home
  • Pyrogram
  • Создание кастомных фильтров в Pyrogram: расширяем возможности ботов

Создание кастомных фильтров в Pyrogram: расширяем возможности ботов

Image

В этом видеоуроке вы узнаете, как создать кастомные фильтры в Pyrogram, которые позволят вам более точно настроить обработку событий ваших ботов. Вы узнаете, как создавать фильтры для конкретных типов сообщений, а также как использовать их при регистрации хэндлеров. Не пропустите этот урок, если хотите улучшить свои навыки разработки ботов и настроить их работу максимально эффективно!

from pyrogram import Client
from pyrogram.enums import ParseMode
from pyrogram.handlers import MessageHandler
from pyrogram.types import Message
from pyrogram import filters

api_id = 12345678
api_hash = 'abcdefghijklmnopqrstuvwxyz'

client = Client(name='me_client', api_id=api_id, api_hash=api_hash, parse_mode=ParseMode.HTML)

async def filter_text(_, __, message):
    return "telegram likes pyrogram" in message.text


def data_post(data, text):
    async def filter_data(self, client, message: Message):
        return self.data in message.text or self.text in message.text

    return filters.create(filter_data, data=data, text=text)

# filter_data = filters.create(filter_text)


def message_text(client: Client, message: Message):
    message.reply('You sent a message that passed the custom filter', quote=True)

client.add_handler(MessageHandler(message_text, data_post('telegram likes pyrogram', "don't panic")))

client.run()
Image