The core of the bot for callback api vk
Прописать нужные данные в index.php
Пример событий лежит в Bot/Events
$event->set(Bot\Events\MessageNew::class); // message_new
$event->on('message_new', function($event, $request) {
// ...
});
Пример событий лежит в Bot/Events а пример комманд в Bot/Commands
Бот ответит на Начать и старт
$command->add('Начать|Старт', 'Bot\Commands\Class@method')->start();
Метод start() задает префикс команды.
->start('/');
Без параметров - снимает. Работает так же для группы комманд и глобально:
$cmd = new Command([
'start' => '!'
]);
// или
$cmd = new Command([
'start' => ['!', '^', '/']
]);
$cmd->add('Начать|Старт', function($message, $args) {
$message->send('Привет!');
})->start();
$cmd->group('video', function() {
$this->add(null, function($message, $args) { // ответ на команду /video
$message->send(
'Список разделов:'
."\n"
.'/video coub - рандом coub видео'
."\n"
.'/video animem - рандом анимем видео'
);
})
$this->add('coub', 'Bot\Commands\Videos@getCoubRandom'); // ответит на /video coub
$this->add('animem', 'Bot\Commands\Videos@getAniMemesRandom'); // ответит на /video animem
});
P.S Глубина группы может быть бесконечной
use Engine\Libs\VkApi\Client;
use Engine\Libs\VkApi\Enums\Language;
$api = new Client(
SERVICE_KEY,
5.103,
Language::RUSSIAN
);
$response = $api->messages->send([
'peer_id' => 1,
'message' => 'Test',
'random_id' => rand(11111, 21302414)
]);
// или
$user = $api->users->get(['user_ids' => 1]);
$message->send('Привет'); // ответ в текущий чат
$message->send('Привет', [
'peer_id' => 1
]); // ответ в другой чат
$message->sendPhoto(ROOT.'/files/img/test.jpg');
$message->sendPhoto(ROOT.'/files/img/test.jpg', [
'message' => 'lol kek cheburek'
]);