Добавлены совместные ролевые действия и команды падежей
This commit is contained in:
parent
74fa35c892
commit
72d704cd0e
|
@ -42,24 +42,52 @@ $database->truncate();
|
|||
$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 {
|
||||
// Удаление сообщения
|
||||
$robot->message()->delete($update['object']['message']['conversation_message_id'], $update['object']['message']['peer_id']);
|
||||
} catch (Exception $e) {
|
||||
}
|
||||
|
||||
// Инициализация данных отправителя
|
||||
// Конвертация кодировки текста сообщения
|
||||
// $text = mb_convert_encoding($text, 'UTF-8');
|
||||
|
||||
// Инициализация данных аккаунта отправителя
|
||||
$sender = $robot->user()->get($update['object']['message']['from_id']);
|
||||
|
||||
// Отправка ответа
|
||||
$robot->message($update['object']['message']['peer_id'], "@id$sender->id ($sender->first_name) $text");
|
||||
if (isset($update['object']['message']['reply_message'])) {
|
||||
// Найдено сообщение для ответа
|
||||
|
||||
// Инициализация данных аккаунта отправившего сообщение для ответа (получателя)
|
||||
$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) {
|
||||
// Обработка события
|
||||
|
||||
// var_dump($update);
|
||||
var_dump($update);
|
||||
|
||||
// Сохранение события в базе данных
|
||||
// $database->save($update);
|
||||
|
|
Loading…
Reference in New Issue