Перейти к основному содержимому
Версия: Latest

Прочие обработчики

Помимо обработчиков команд еще нужно уметь создавать свои обработчики.

Создавать обработчики можно по обычному, главное указывать group на группу модуля

Документация по обработчикам в Pyrogram

Где взять группу модуля?

Либо mod.group (группа по умолчанию) либо можно создать новую: mod.get_group()


Примеры

AdRimTUB/__init__.py
from utils import *
from pyrogram import filters

ad_text = f"""
{b('🚀 RimTUB — продвинутый юзербот для Telegram!')}

🔹 Гибкая система модулей: легко добавляй и настраивай новые функции.
🔹 Открытый исходный код: безопасность и возможность кастомизации.
🔹 Простая установка: запусти за пару минут и используй!

Присоединяйся к сообществу и открой новые возможности Telegram!

🔗 {b('GitHub')} {a('github.com/RimTUB/RimTUB', 'https://github.com/RimTUB/RimTUB')}
📢 {b('Канал')} @RimTUB
"""

async def main(app: Client, mod: Module):

@app.on_message(
filters.text & ~filters.me & text_filter("#RimTUB"),
group=mod.get_group()
)
async def _RimTUB(_, msg):
await msg.reply(ad_text, quote=True)

к сведению

Следующий пример взят из модуля MineEvoMiner (версия 2.5) стороннего разработчика @Kotcananacom

warning

Данный пример был написан под RimTUB 2.1, поэтому ХелпЛист в данном примере устарел!

MineEvoMiner/__init__.py
from utils import *
from .miner import *
from .stats.stat import *
from .helplist import module_help # Внимание! В RimTUB 2.2 другая система хелплиста!



async def main(app: Client, mod: Module):

cmd = mod.cmd
module_help(mod) # Внимание! В RimTUB 2.2 другая система хелплиста!

@mod.on_ready
async def _onr(app): await stats_ready(app, mod)

@cmd('mbc')
async def _mbc(*args): await beautiful_case_found(*args, mod)

@app.on_message(filters.chat(mine_bots_us) & ~filters.me, group=mod.get_group())
async def _found_cases(*args): await found_cases(*args, mod)

@app.on_message(filters.chat(list(mine_bots.values())) & filters.text & ~filters.me, group=mod.get_group())
async def _count_clicks(*args): await count_clicks(*args, mod)

@app.on_message(filters.chat(mine_bots_us) & filters.text & ~filters.me, group=mod.get_group())
async def _count_plasma(*args): await plasma_count(*args, mod)

...