@mod.on_ready
@mod.on_ready - Это декоратор который срабатывает при запуске ЮБ. В нем ты можешь, например, запускать воркеры
осторожно
Воркеры или любые другие долгие процессы нельзя запускать прямо в теле on_ready. Для запуска воркеров используй mod.add_task()
Примеры
SomeModule
from utils import *
async def main(app: Client, mod: Module):
@mod.on_ready
async def _onr(app: Client):
mod.logger.info("RimTUB запустился!")
к сведению
Следующий пример взят из модуля 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)
...
MineEvoMiner/miner/mine.py, lines 25-32
# Когда клиент запущен
async def stats_ready(app: Client, mod: Module):
AutoStopTimer(app, mod)
mod.add_task(miner(app, mod))
if await mod.db.get('mine', False):
await mod.db.set('start_mine', time.time())
await mod.db.sql("CREATE TABLE IF NOT EXISTS mineevo_stats (type_case TEXT, type_bust TEXT, count INTEGER, timee TEXT)")
await initialization_found(app, mod)