vk-robot-bobby/mirzaev/vk/robot/bobby/system/programs/reply_to_group.php

70 lines
3.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
declare(strict_types=1);
namespace mirzaev\vk\robot\bobby\programs;
// Фреймворк ВКонтакте
use mirzaev\vk\robots\robot;
// Модуль чат-робота для фреймворка ВКонтакте
use mirzaev\vk\chat\core,
mirzaev\vk\chat\program;
/**
* Программа: "ответ группе"
*
* Обрабатывает ответ напрвленный не пользователю, а группе
*
* @package mirzaev\vk\robot\bobby\programs
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
*/
class reply_to_group extends 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): void {
if (isset($update['object']['message']['reply_message'])) {
// Найдено сообщение для ответа
if ($update['object']['message']['reply_message']['from_id'] < 0) {
// Ответ на сообщение группы
// Инициализация данных аккаунта отправителя
$sender = $robot->user()->get($update['object']['message']['from_id'], name_case: 'gen');
if ($update['object']['message']['reply_message']['from_id'] === -217012993) {
// Ответ на сообщение Бобби Мирзаева
// Отправка сообщения с ролевым действием
$core->message($robot->message()->destination($update['object']['message']['peer_id'])->text("@club217012993 (Бобби) избил @id$sender->id ($sender->first_name) до полусмерти")->mentions(false));
} else if ($update['object']['message']['reply_message']['from_id'] === -191417381) {
// Ответ на сообщение Шамиля Мирзаева
// Отправка сообщения с ролевым действием
$core->message($robot->message()->destination($update['object']['message']['peer_id'])->text('Как дела, @club191417381 (брат)? Давай свалим отсюда?')->mentions(false));
} else {
// Ответ на сообщение другой группы
// Отправка сообщения с ролевым действием
$core->message($robot->message()->destination($update['object']['message']['peer_id'])->text('@club' . $update['object']['message']['reply_message']['from_id'] . ' (Слышь), здристни отсюда')->mentions(false));
}
// Завершение выполнения команд
$core->break();
return;
}
}
}, $robot, $accounts);
}
}