dd/app/Services/TG/Hook/Mod/Dove.php
2025-07-07 12:39:33 +08:00

181 lines
4.0 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
namespace App\Services\TG\Hook\Mod;
//use App\Models\Hook as ModelHook;
use App\Models\DoveSite as ModelDoveSite;
use App\Services\TomTool\Http;
use App\Services\TG\Http as TGHttp;
class Dove extends Base {
public function go($aParam, $aData)
{
$oDoveSiteCheckedList = ModelDoveSite::where("dove_checked", 1)->get();
list(, $sSubCmd) = explode("%", $aData['message']['text'], 2);
$aData['message']['text'] = $sSubCmd;
$aData['is_dove'] = 1;
$aData['dove_token'] = env('dove_token');
$oTGHttp = new TGHttp();
$oHttp = new Http();
$oHttp->sMethod = "post";
$oHttp->bIsJson = true;
$r = [];
foreach ($oDoveSiteCheckedList as $row) {
$sApiUrl = "https://".$row->www.$row->api_path;
$oHttp->sToUrl = $sApiUrl;
$oHttp->aData = $aData;
$tmp = $oHttp->send();
$r = "***".$row->code."*** \n\n".$tmp;
$oTGHttp->sendToTG($r);
}
Http::response(200);
}
public function del($aParam)
{
$sCode = $aParam["aArg"][1] ?? false;
if (!$sCode) {
return "要code";
}
$oDove = ModelDoveSite::where("code", $sCode)->first();
if (!$oDove) {
return "没有";
}
$oDove->delete();
return $this->list();
}
public function add($aParam)
{
$sCode = $aParam["aArg"][1];
$oDove = new ModelDoveSite();
$oDove->code = $sCode;
$oDove->save();
return $this->list();
}
public function set($aParam)
{
$sCode = $aParam["aOption"][1] ?? false;
$k = $aParam["aOption"][2] ?? false;
$v = $aParam["aArg"][1] ?? false;
if (!$sCode) {
return "需要code";
}
$oDove = ModelDoveSite::where("code", $sCode)->first();
if (!$oDove) {
return "没有";
}
$oDove->$k = $v;
$oDove->save();
return $this->toJson($oDove);
}
public function list()
{
$oDove = ModelDoveSite::all();
$r = $this->toJson($oDove);
return $r;
}
public function check($aParam)
{
$iSetValue = $aParam['iSetValue'] ?? 1;
$sCode = $aParam['aArg'][1];
$oDoveSite = ModelDoveSite::where("code", $sCode)->first();
if (!$oDoveSite) {
throw new \Exception("没有这个code");
}
$oDoveSite->dove_checked = $iSetValue;
$r = $oDoveSite->save();
if (!$r) {
throw new \Exception("没check上");
}
$r = $this->now();
return $r;
}
public function checkOne($aParam)
{
ModelDoveSite::query()->update(["dove_checked" => 0]);
return $this->check($aParam);
}
public function checkClear()
{
$r = ModelDoveSite::query()->update(["dove_checked" => 0]);
return $this->list();
}
public function checkUn($aParam)
{
$sCode = $aParam["aArg"][1];
$r = ModelDoveSite::where("code", $sCode)->update(["dove_checked" => 0]);
return $this->now();
}
public function now()
{
$aDoveSiteNow = ModelDoveSite::where("dove_checked", 1)->get()->toArray();
// if ($aDoveSiteNow) {
// $r = "";
// foreach ($aDoveSiteNow as $row) {
// $r .= "\n";
// $r .= $row['code']."::".$row['www']."::".$row['class'];
// }
// } else {
// $r = "没有";
// }
if (!$aDoveSiteNow) {
return "没有";
}
$r = $this->toJson($aDoveSiteNow);
return $r;
}
}