Compare commits
2 Commits
1.0.0
...
72d704cd0e
Author | SHA1 | Date | |
---|---|---|---|
72d704cd0e | |||
74fa35c892 |
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "mirzaev/vk-robot-bobby",
|
"name": "mirzaev/vk-robot-bobby",
|
||||||
"description": "Бобби Мирзаев - чат-робот ВКонтакте для проведения ролевых игр",
|
"description": "Чат-робот ВКонтакте для проведения ролевых игр",
|
||||||
"readme": "README.md",
|
"readme": "README.md",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"Bobby",
|
"Bobby",
|
||||||
@@ -16,8 +16,8 @@
|
|||||||
{
|
{
|
||||||
"name": "Arsen Mirzaev Tatyano-Muradovich",
|
"name": "Arsen Mirzaev Tatyano-Muradovich",
|
||||||
"email": "arsen@mirzaev.sexy",
|
"email": "arsen@mirzaev.sexy",
|
||||||
"homepage": "https://hood.su/mirzaev",
|
"homepage": "https://mirzaev.sexy",
|
||||||
"role": "Father"
|
"role": "Programmer"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
|
@@ -42,24 +42,52 @@ $database->truncate();
|
|||||||
$chat = new chat;
|
$chat = new chat;
|
||||||
|
|
||||||
// Инициализация команды "ролевое действие"
|
// Инициализация команды "ролевое действие"
|
||||||
$chat->pattern('/\*([A-я\w\s]+)\*/', new command(function (array $update, string $text) use ($robot) {
|
$chat->pattern('/(*UTF8)\*([A-я\w\s]+)\*/', new command(function (array $update, string $text) use ($robot) {
|
||||||
try {
|
try {
|
||||||
// Удаление сообщения
|
// Удаление сообщения
|
||||||
$robot->message()->delete($update['object']['message']['conversation_message_id'], $update['object']['message']['peer_id']);
|
$robot->message()->delete($update['object']['message']['conversation_message_id'], $update['object']['message']['peer_id']);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Инициализация данных отправителя
|
// Конвертация кодировки текста сообщения
|
||||||
|
// $text = mb_convert_encoding($text, 'UTF-8');
|
||||||
|
|
||||||
|
// Инициализация данных аккаунта отправителя
|
||||||
$sender = $robot->user()->get($update['object']['message']['from_id']);
|
$sender = $robot->user()->get($update['object']['message']['from_id']);
|
||||||
|
|
||||||
// Отправка ответа
|
if (isset($update['object']['message']['reply_message'])) {
|
||||||
$robot->message($update['object']['message']['peer_id'], "@id$sender->id ($sender->first_name) $text");
|
// Найдено сообщение для ответа
|
||||||
|
|
||||||
|
// Инициализация данных аккаунта отправившего сообщение для ответа (получателя)
|
||||||
|
$receiver = $robot->user()->get($update['object']['message']['reply_message']['from_id']);
|
||||||
|
|
||||||
|
// Поиск падежей для получателя
|
||||||
|
preg_match_all('/(*UTF8)\s\|([А-я\w]+)$/', $text, $matches);
|
||||||
|
|
||||||
|
// Инициализация падежа получателя
|
||||||
|
$receiver_case = $matches[1][0];
|
||||||
|
|
||||||
|
// Инициализация цели для ролевого действия
|
||||||
|
$target = " @id$receiver->id ($receiver->first_name$receiver_case)";
|
||||||
|
} else $target = '';
|
||||||
|
|
||||||
|
// Поиск падежей для отправителя
|
||||||
|
preg_match_all('/(*UTF8)^\|([А-я\w]+)\s/', $text, $matches);
|
||||||
|
|
||||||
|
// Инициализация падежа отправителя
|
||||||
|
$sender_case = $matches[1][0];
|
||||||
|
|
||||||
|
// Удаление команд падежей из строки
|
||||||
|
$text = preg_replace('/(*UTF8)\s?\|[А-я\w]+\s?/', '', $text, 500);
|
||||||
|
|
||||||
|
// Отправка сообщения с ролевым действием
|
||||||
|
$robot->message($update['object']['message']['peer_id'], "@id$sender->id ($sender->first_name$sender_case) $text$target");
|
||||||
}));
|
}));
|
||||||
|
|
||||||
$longpoll->handle(function (array $update) use ($robot, $database, $chat) {
|
$longpoll->handle(function (array $update) use ($robot, $database, $chat) {
|
||||||
// Обработка события
|
// Обработка события
|
||||||
|
|
||||||
// var_dump($update);
|
var_dump($update);
|
||||||
|
|
||||||
// Сохранение события в базе данных
|
// Сохранение события в базе данных
|
||||||
// $database->save($update);
|
// $database->save($update);
|
||||||
|
Reference in New Issue
Block a user