Esempio n. 1
0
    async def call_on_init_handlers(self):
        for x in self.on_init_handlers:
            await self.call_async_safed(x, self)

        Logger.Nlog(f"Было загружено {len(self.plugins)} плагинов")

        return True
Esempio n. 2
0
async def on_init(store):
    group_id = store.config.group_id

    Logger.Nlog(
        f"Плагин был загружен с group_id = {group_id} и названием {plugin.name}.\n"
        f"Хранилище плагина {plugin.ystore}\n"
        f"Системное хранилище {store}"
    )  # Мы заметили очень много весёлого да? Согласен, забавно
Esempio n. 3
0
async def before_command(update, store):
    Logger.Nlog(f"Вау, пришло сообщение {update.text} от {update.from_id}")

    #Здесь хранилище будет уже сообщения.
    command = store.command if store.get("command", False) else None
    # Замечу почему так, бот регистрирует команды в определённую ячейку, этот же метод будет вызываться КАЖДОЕ сообщение
    # даже без команды, так что не стоит отсюда что-либо вызывать связанное с этим, также у store есть ещё args (аргументы)
    args = store.args if store.get("args", False) else None

    # Например в течении этого цикла пагинов, мы хотим чтобы перед каждым сообщением бот оставлял что-нибудь.
    store[
        'custom_message'] = "Пользователь, "  # Теперь бот будет писать (Пользователь, <msg>)

    # Думаю здесь всё ясно, идём дальше
    return False  # False - говорит о том, что надо продолжать исполнение, True - остановит же процесс.
Esempio n. 4
0
async def call():
    load_config()
    await db.Loader.load()

    global bot
    bot = Yui()

    bot_longpoll = VKLongPoll(bot)

    current_group_id = await bot_longpoll.request("groups.getById")
    bot_longpoll.group_id = current_group_id.response[0]['id']
    store.config.group_id = current_group_id.response[0]['id']

    await store.call_on_init_handlers()
    logger.Nlog("Приступаю к приёму сообщений!")
    await bot_longpoll.start()
Esempio n. 5
0
def load_config():
    config = None
    try:
        file = io.open('config.json', 'r', encoding="utf-8")
        config = json.loads(file.read())
        file.close()
    except:
        traceback.print_exc()
        Logger.Elog("Произошла ошибка при открытии файла конфига!")
        exit()

    for var in need_values:
        vr = config.get(var, None)
        if vr == None:
            Logger.Elog(f"В конфиге не хватает значения {var} для работы бота")
            exit()

        store.config[var] = vr

    Logger.Nlog("Конфиг был загружен в хранилиище")