<?php namespace App\Plugins\Telegram\Commands; use App\Exceptions\ApiException; use App\Models\User; use App\Plugins\Telegram\Telegram; use App\Services\TicketService; class ReplyTicket extends Telegram { public $regex = '/[#](.*)/'; public $description = '快速工单回复'; public function handle($message, $match = []) { if (!$message->is_private) return; $this->replayTicket($message, $match[1]); } private function replayTicket($msg, $ticketId) { $user = User::where('telegram_id', $msg->chat_id)->first(); if (!$user) { throw new ApiException('用户不存在'); } if (!$msg->text) return; if (!($user->is_admin || $user->is_staff)) return; $ticketService = new TicketService(); $ticketService->replyByAdmin( $ticketId, $msg->text, $user->id ); $telegramService = $this->telegramService; $telegramService->sendMessage($msg->chat_id, "#`{$ticketId}` 的工单已回复成功", 'markdown'); $telegramService->sendMessageWithAdmin("#`{$ticketId}` 的工单已由 {$user->email} 进行回复", true); } }