no message

This commit is contained in:
hellcat 2025-03-25 19:48:13 +08:00
parent b78c2effe3
commit 2451431caf

View File

@ -12,6 +12,7 @@ namespace App\Controllers\TomApi\Tg;
use App\Models\Config;
use App\Models\TgStep;
use App\Models\Ticket;
use App\Models\Node;
//use GuzzleHttp\Psr7\ServerRequest;
//use GuzzleHttp\Psr7\Utils;
//use Psr\Http\Message\ResponseInterface;
@ -95,18 +96,8 @@ final class HookController
}
}
// 命令
// if ($sText === "/test") {
//
// $serverTime = date("Y-m-d H:i:s");
//
// $this->sendMessage("服务器时间: " . $serverTime);
//
// http_response_code(200);exit;
// }
// 打断
if ($sText === "/break") {
$oTgStep->clearByFromId($aData["fromId"]);
@ -116,6 +107,7 @@ final class HookController
http_response_code(200);exit;
}
// 回复工单
if (strpos($sText, '/reply') === 0) {
// 先清除一遍,只进行一个进程
@ -134,6 +126,114 @@ final class HookController
}
// 快捷回复工单
if (strpos($sText, '/ry') === 0) {
$sText = $this->trimText($sText, '/ry');
list($iTicketId, $sText) = explode(" ", $sText, 2);
$oHttp = new Http();
$oHttp->sMethod = "put";
$oHttp->sToUrl = $_ENV['baseUrl']."/api/tg/ticket/".$iTicketId;
$oHttp->bIsJson = true;
$aData['comment'] = $sText;
$aData['admin_name'] = $aUpdate["message"]["from"]["first_name"];
$oHttp->aData = $aData;
$r = @json_decode($oHttp->send(), true);
// 不论失败成功都清除step
$oTgStep->clearByFromId($aUpdate["message"]["from"]["id"]);
if ($r["ret"] == 1) {
$sMessage = "成功";
} else {
$sMessage = "失败";
Http::response(500, json_encode($aData));
}
$this->sendMessage($sMessage);
Http::response(200, 'ok');
}
// 节点一览
if (strpos($sText, '/node_all') === 0) {
$aNodeAll = Node::orderBy("name")->all()->toArray();
$sMsg = '';
foreach ($aNodeAll as $row) {
$sMsg .= "\n\n";
$sMsg .= "名字:".$row['name']."\n";
$sMsg .= "转发:".$row['zhuanfa_code']."\n";
$sMsg .= "机器:".$row['duck_code']."\n";
$sMsg .= "备注:".$row['memo']."\n";
$sMsg .= "目标:".$row['server']."\n";
$sMsg .= "设置:".$row['custom_config']."\n";
}
$this->sendMessage($sMsg);
Http::response(200, 'ok');
}
// 节点搜索 name
if (strpos($sText, '/nodeNameLike') === 0) {
$sNameLike = $this->trimText($sText, '/nodeNameLike');
$aNodeList = Node::where("name", "like", "%".$sNameLike."%")->toArray();
$sMsg = '';
foreach ($aNodeList as $row) {
$sMsg .= "\n\n";
$sMsg .= "名字:".$row['name']."\n";
$sMsg .= "转发:".$row['zhuanfa_code']."\n";
$sMsg .= "机器:".$row['duck_code']."\n";
$sMsg .= "备注:".$row['memo']."\n";
$sMsg .= "目标:".$row['server']."\n";
$sMsg .= "设置:".$row['custom_config']."\n";
}
$this->sendMessage($sMsg);
Http::response(200, 'ok');
}
// 节点搜索 port
if (strpos($sText, '/nodePortLike') === 0) {
$sPortLike = $this->trimText($sText, '/nodePortLike');
$aNodeList = Node::where("custom_config", "like", "%".$sPortLike."%")->toArray();
$sMsg = '';
foreach ($aNodeList as $row) {
$sMsg .= "\n\n";
$sMsg .= "名字:".$row['name']."\n";
$sMsg .= "转发:".$row['zhuanfa_code']."\n";
$sMsg .= "机器:".$row['duck_code']."\n";
$sMsg .= "备注:".$row['memo']."\n";
$sMsg .= "目标:".$row['server']."\n";
$sMsg .= "设置:".$row['custom_config']."\n";
}
$this->sendMessage($sMsg);
Http::response(200, 'ok');
}
// 工单查找
if (strpos($sText, '/ticket_find') === 0) {
$iTicketId = $this->trimText($sText, '/ticket_find');