TelegramController: add at support for Telegram Bot command

This commit is contained in:
Alpha Kane 2022-02-17 20:58:47 +08:00
parent 766d1193c7
commit 0697d1cd7a
No known key found for this signature in database
GPG Key ID: 180A31AB98D5C156

View File

@ -28,6 +28,17 @@ class TelegramController extends Controller
public function handle()
{
$msg = $this->msg;
$commandName = explode('@', $msg->command);
// To reduce request, only commands contains @ will get the bot name
if (count($commandName) == 2) {
$botName = $this->getBotName();
if ($commandName[1] === $botName){
$msg->command = $commandName[0];
}
}
try {
foreach (glob(base_path('app//Plugins//Telegram//Commands') . '/*.php') as $file) {
$command = basename($file, '.php');
@ -53,6 +64,13 @@ class TelegramController extends Controller
}
}
public function getBotName()
{
$telegramService = new TelegramService();
$response = $telegramService->getMe();
return $response->result->username;
}
private function getMessage(array $data)
{
if (!isset($data['message'])) return false;