loadDriver($drv); $bot->ensureDriversLoaded(); // Выбор даты $bot->onCallback(CallbackType::SelectDate, "BotKit\Common\Commands::handleDate"); // Выбор курса для группы $bot->onCallback(CallbackType::SelectGroupCourse, function($e, $u, $driver) { // Переносим полученные параметры в новую клавиатуру // А так же изменяем сообщение $params = $e->getParams(); $driver->editMessage( $e->getMessageID(), Message::create("Выбери группу") ->withKeyboard(new SelectGroupNameKeyboard($params['intent'], $params['course'], 0)) ); }); // Пользователь запросил смену страницы при выборе специальности группы $bot->onCallback(CallbackType::SelectGroupNavigation, function($e, $u, $driver) { $params = $e->getParams(); $driver->editMessage( $e->getMessageID(), Message::create("Выбери группу") ->withKeyboard(new SelectGroupNameKeyboard( $params['intent'], $params['course'], $params['offset'] )) ); }); // Выбор: вводить или не вводить логин и пароль от АВЕРС при регистрации $bot->onCallback(CallbackType::EnterCredentials, 'BotKit\Common\Commands::enterCredentials'); // Выбор непосредственно группы $bot->onCallback(CallbackType::SelectGroup, 'BotKit\Common\Commands::handleGroupSelection'); // Просмотр условий использования $bot->onCallback(CallbackType::TOS, 'BotKit\Common\Commands::showTermsOfService'); // Заглушка $bot->onCallback(CallbackType::None, function($e, $u, $driver) {}); // Начало диалога $bot->onCommand('/start', 'BotKit\Common\Commands::helloWorld'); $bot->onPlainMessage(State::HelloWorld, "BotKit\Common\Commands::helloWorld"); // Выбор типа аккаунта $bot->onPlainMessage(State::RegSelectType, "BotKit\Common\Commands::handleSelectType"); // Ввод логина от АВЕРС при регистрации $bot->on( PlainMessageEvent::class, function ($e, $u, $driver) { return $u->getState() == State::RegLogin; }, "BotKit\Common\Commands::handleRegLogin" ); // Ввод пароля от АВЕРС при регистрации $bot->on( PlainMessageEvent::class, function ($e, $u, $driver) { return $u->getState() == State::RegPassword; }, "BotKit\Common\Commands::handleRegPassword" ); // Обработка главного меню $bot->on( PlainMessageEvent::class, function ($e, $u, $driver) { return $u->getState() == State::Hub; }, "BotKit\Common\Commands::handleHUB" ); // Без ответа $bot->on( PlainMessageEvent::class, function ($e, $u, $driver) { return $u->getState() == State::NoResponse; }, function($e, $u, $driver) {} ); // План "Б" $bot->onEvent(UnknownEvent::class, "BotKit\Common\Commands::unknownEvent"); $bot->fallback("BotKit\Common\Commands::fallback");