first init
This commit is contained in:
commit
8db0b64a71
|
@ -0,0 +1,3 @@
|
|||
!.gitignore
|
||||
composer.phar
|
||||
vendor
|
|
@ -0,0 +1,11 @@
|
|||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
Version 2, December 2004
|
||||
|
||||
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed.
|
||||
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. You just DO WHAT THE FUCK YOU WANT TO.
|
|
@ -0,0 +1,3 @@
|
|||
# vk-robot-wanda
|
||||
|
||||
Ванда Мирзаева - чат-робот ВКонтакте для отображения удалённых сообщений
|
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
"name": "mirzaev/vk-robot-wanda",
|
||||
"description": "Чат-робот ВКонтакте для отображения удалённых сообщений",
|
||||
"readme": "README.md",
|
||||
"keywords": [
|
||||
"Wanda",
|
||||
"Mirzaev",
|
||||
"vk",
|
||||
"chat-robot",
|
||||
"roleplay"
|
||||
],
|
||||
"type": "robot",
|
||||
"license": "WTFPL",
|
||||
"homepage": "https://git.mirzaev.sexy/mirzaev/vk-robot-wanda",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Arsen Mirzaev Tatyano-Muradovich",
|
||||
"email": "arsen@mirzaev.sexy",
|
||||
"homepage": "https://mirzaev.sexy",
|
||||
"role": "Programmer"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"email": "arsen@mirzaev.sexy",
|
||||
"wiki": "https://git.mirzaev.sexy/mirzaev/vk-robot-wanda/wiki",
|
||||
"issues": "https://git.mirzaev.sexy/mirzaev/vk-robot-wanda/issues",
|
||||
"chat": "https://vk.me/wanda.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.5",
|
||||
"mirzaev/vk-arangodb": "^1.0.1",
|
||||
"mirzaev/vk-chat": "^1.0"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"mirzaev\\vk\\robot\\wanda\\": "mirzaev/vk/robot/wanda/system"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"mirzaev\\vk\\robot\\wanda\\tests\\": "mirzaev/vk/robot/wanda/tests"
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,43 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace mirzaev\vk\robot\wanda\programs;
|
||||
|
||||
// Фреймворк ВКонтакте
|
||||
use mirzaev\vk\robots\robot;
|
||||
|
||||
// Модуль чат-робота для фреймворка ВКонтакте
|
||||
use mirzaev\vk\chat\core,
|
||||
mirzaev\vk\chat\program;
|
||||
|
||||
// Встроенные библиотеки
|
||||
use Closure,
|
||||
Exception;
|
||||
|
||||
/**
|
||||
* Программа: "проверить обновления"
|
||||
*
|
||||
* Проверяет последние сообщения на наличие редактирования или удаления
|
||||
*
|
||||
* @package mirzaev\vk\robot\wanda\programs
|
||||
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
|
||||
*/
|
||||
class check_for_changes extends program
|
||||
{
|
||||
/**
|
||||
* Конструктор
|
||||
*
|
||||
* @param callable $program Программа выполняемая командой
|
||||
* @param robot $robot Робот, который будет выполнять команду
|
||||
* @param array $accounts Реестр аккаунтов которым разрешено выполнять команду
|
||||
*/
|
||||
public function __construct(
|
||||
public robot $robot,
|
||||
public array $accounts = []
|
||||
) {
|
||||
parent::__construct(function (core $core, robot $robot, array &$update, string ...$text): void {
|
||||
|
||||
}, $robot, $accounts);
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
index.php
|
|
@ -0,0 +1,57 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// Файлы проекта
|
||||
use mirzaev\vk\robot\wanda\programs\check_for_changes;
|
||||
|
||||
// Фреймворк ВКонтакте
|
||||
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;
|
||||
|
||||
// Инициализация
|
||||
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(217152653)->key('');
|
||||
|
||||
// Инициализация обработчика LongPoll API
|
||||
$longpoll = new longpoll($robot);
|
||||
|
||||
// Инициализация базы данных
|
||||
$database = new database(new connection(require SYSTEM_PATH_ROOT . 'settings/arangodb.php'));
|
||||
|
||||
// Очистка базы данных (тестирование)
|
||||
$database->truncate();
|
||||
|
||||
// Инициализация модуля "чат-робот"
|
||||
$chat = new chat;
|
||||
|
||||
// Инициализация программ: "ответ на сообщение группы", "конвертация упоминаний" и "переменные"
|
||||
$chat->command('/(*UTF8)^.*$/', new check_for_changes($robot));
|
||||
|
||||
$longpoll->handle(function (array $update) use ($robot, $database, $chat) {
|
||||
// Обработка события
|
||||
|
||||
// Сохранение в базе данных
|
||||
$database->save($update);
|
||||
|
||||
// Обработка команды
|
||||
$chat->handle($update);
|
||||
});
|
|
@ -0,0 +1,2 @@
|
|||
vk.php
|
||||
wanda.php
|
|
@ -0,0 +1,8 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'endpoint' => '',
|
||||
'database' => '',
|
||||
'name' => '',
|
||||
'password' => ''
|
||||
];
|
|
@ -0,0 +1,8 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'endpoint' => '',
|
||||
'database' => '',
|
||||
'name' => '',
|
||||
'password' => ''
|
||||
];
|
Loading…
Reference in New Issue