Прочие обработчики
Помимо обработчиков команд еще нужно уметь создавать свои обработчики.
Создавать обработчики можно по обычному, главное указывать 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)
...