123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <?php
- namespace BotKit;
- // Файл, на который поступают запросы
- require_once __DIR__.'/src/bootstrap.php';
- use BotKit\Common\Bot;
- use BotKit\Common\Commands;
- use BotKit\Common\Message;
- use BotKit\Drivers\TestDriver;
- use BotKit\Events\PlainMessageEvent;
- use BotKit\Events\UnknownEvent;
- use BotKit\Events\MemberJoinedEvent;
- use BotKit\Events\MemberLeftEvent;
- use BotKit\Enums\State;
- use BotKit\Enums\CallbackType;
- use BotKit\Keyboards\SelectGroupNameKeyboard;
- $bot = new Bot();
- $drv = new TestDriver();
- $bot->loadDriver($drv);
- $bot->ensureDriversLoaded();
- // Выбор курса для группы
- $bot->onCallback(CallbackType::SelectGroupCourse, function($e, $u, $driver) {
- // Переносим полученные параметры в новую клавиатуру
- // А так же изменяем сообщение
- $params = $e->getParams();
-
- $driver->editMessage(
- $e->getMessageID(),
- Message::create("Выбери группу")
- ->withKeyboard(new SelectGroupNameKeyboard($params['intent'], $params['course']))
- );
- });
- // Выбор непосредственно группы
- $bot->onCallback(CallbackType::SelectGroup, 'BotKit\Common\Commands::handleGroupSelection');
- // Просмотр условий использования
- $bot->onCallback(CallbackType::TOS, 'BotKit\Common\Commands::showTermsOfService');
- // Ввод логина и пароля при регистрации
- $bot->onCallback(CallbackType::EnterCredentials, 'BotKit\Common\Commands::enterCredentials');
- // Без ответа
- $bot->on(
- PlainMessageEvent::class,
- function ($e, $u, $driver) { return $u->getState() == State::NoResponse; },
- function($e, $u, $driver) {}
- );
- // Начало диалога
- $bot->onCommand('/start', 'BotKit\Common\Commands::helloWorld');
- $bot->on(
- PlainMessageEvent::class,
- function ($e, $u, $driver) { return $u->getState() == State::HelloWorld; },
- "BotKit\Common\Commands::helloWorld"
- );
- // Выбор типа аккаунта
- $bot->on(
- PlainMessageEvent::class,
- function ($e, $u, $driver) {
- return $u->getState() == State::RegSelectType;
- },
- "BotKit\Common\Commands::handleSelectType"
- );
- // Ввод пароля при регистрации
- $bot->on(
- PlainMessageEvent::class,
- function ($e, $u, $driver) {
- return $u->getState() == State::RegLogin;
- },
- "BotKit\Common\Commands::handleRegLogin"
- );
- // План "Б"
- $bot->onEvent(UnknownEvent::class, "BotKit\Common\Commands::unknownEvent");
- $bot->fallback("BotKit\Common\Commands::fallback");
|