Первая инициализция
This commit is contained in:
parent
fe5787fcd2
commit
eff0dfd7d4
|
@ -0,0 +1,3 @@
|
|||
!.gitignore
|
||||
composer.phar
|
||||
vendor
|
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
"name": "mirzaev/vk-robot-bobby",
|
||||
"description": "Бобби Мирзаев - чат-робот ВКонтакте для проведения ролевых игр",
|
||||
"readme": "README.md",
|
||||
"keywords": [
|
||||
"Bobby",
|
||||
"Mirzaev",
|
||||
"vk",
|
||||
"chat-robot",
|
||||
"roleplay"
|
||||
],
|
||||
"type": "robot",
|
||||
"license": "WTFPL",
|
||||
"homepage": "https://git.mirzaev.sexy/mirzaev/vk-robot-bobby",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Arsen Mirzaev Tatyano-Muradovich",
|
||||
"email": "arsen@mirzaev.sexy",
|
||||
"homepage": "https://hood.su/mirzaev",
|
||||
"role": "Father"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"email": "arsen@mirzaev.sexy",
|
||||
"wiki": "https://git.mirzaev.sexy/mirzaev/vk-robot-bobby/wiki",
|
||||
"issues": "https://git.mirzaev.sexy/mirzaev/vk-robot-bobby/issues",
|
||||
"chat": "https://vk.me/bobby.mirzaev.sexy"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"type": "funding",
|
||||
"url": "https://fund.mirzaev.sexy"
|
||||
}
|
||||
],
|
||||
"minimum-stability": "dev",
|
||||
"require": {
|
||||
"php": "^8.1",
|
||||
"triagens/arangodb": "~3.8",
|
||||
"guzzlehttp/guzzle": "^7.4",
|
||||
"mirzaev/arangodb": "^1.0",
|
||||
"mirzaev/vk": "^4.2",
|
||||
"mirzaev/vk-arangodb": "^1.0.1",
|
||||
"mirzaev/vk-chat": "^1.0"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"mirzaev\\vk\\robot\\bobby\\": "mirzaev/vk/robot/bobby/system"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"mirzaev\\vk\\robot\\bobby\\tests\\": "mirzaev/vk/robot/bobby/tests"
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
index.php
|
|
@ -0,0 +1,69 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// Фреймворк ВКонтакте
|
||||
use mirzaev\vk\core,
|
||||
mirzaev\vk\api\longpoll;
|
||||
|
||||
// Фреймворк ArangoDB
|
||||
use mirzaev\arangodb\connection;
|
||||
|
||||
// Модуль ArangoDB для фреймворка ВКонтакте
|
||||
use mirzaev\vk\arangodb\longpoll as database;
|
||||
|
||||
// Модуль чат-робота для фреймворка ВКонтакте
|
||||
use mirzaev\vk\chat\core as chat,
|
||||
mirzaev\vk\chat\command;
|
||||
|
||||
// Инициализация
|
||||
defined('SYSTEM_PATH_ROOT') or define('SYSTEM_PATH_ROOT', __DIR__ . '/../');
|
||||
defined('SYSTEM_PATH_PUBLIC') or define('SYSTEM_PATH_PUBLIC', __DIR__);
|
||||
|
||||
// Подключение автозагрузчика
|
||||
require SYSTEM_PATH_ROOT . '../../../../../vendor/autoload.php';
|
||||
|
||||
// Инициализация ядра
|
||||
$core = core::init();
|
||||
|
||||
// Инициализция робота
|
||||
$robot = $core->group('group id here')->key('group key here');
|
||||
|
||||
// Инициализация обработчика LongPoll API
|
||||
$longpoll = new longpoll($robot);
|
||||
|
||||
// Инициализация базы данных
|
||||
$database = new database(new connection(require SYSTEM_PATH_ROOT . 'settings/arangodb.php'));
|
||||
|
||||
// Очистка базы данных (тестирование)
|
||||
$database->truncate();
|
||||
|
||||
// Инициализация модуля "чат-робот"
|
||||
$chat = new chat;
|
||||
|
||||
// Инициализация команды "ролевое действие"
|
||||
$chat->pattern('/\*([A-я\w\s]+)\*/', new command(function (array $update, string $text) use ($robot) {
|
||||
try {
|
||||
// Удаление сообщения
|
||||
$robot->message()->delete($update['object']['message']['conversation_message_id'], $update['object']['message']['peer_id']);
|
||||
} catch (Exception $e) {
|
||||
}
|
||||
|
||||
// Инициализация данных отправителя
|
||||
$sender = $robot->user()->get($update['object']['message']['from_id']);
|
||||
|
||||
// Отправка ответа
|
||||
$robot->message($update['object']['message']['peer_id'], "@id$sender->id ($sender->first_name) $text");
|
||||
}));
|
||||
|
||||
$longpoll->handle(function (array $update) use ($robot, $database, $chat) {
|
||||
// Обработка события
|
||||
|
||||
// var_dump($update);
|
||||
|
||||
// Сохранение события в базе данных
|
||||
// $database->save($update);
|
||||
|
||||
// Обработка команды
|
||||
$chat->handle($update);
|
||||
});
|
|
@ -0,0 +1 @@
|
|||
arangodb.php
|
|
@ -0,0 +1,8 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'endpoint' => '',
|
||||
'database' => '',
|
||||
'name' => '',
|
||||
'password' => ''
|
||||
];
|
Loading…
Reference in New Issue