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