github/app/Services/TG/Hook/Mod/Hub.php
2025-07-19 20:34:01 +08:00

126 lines
3.6 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\Services\TG\Hook\Dog;
use App\Models\Article as ModelArticle;
class Hub extends Base {
private $oDog;
public function __construct($aUpdate = [])
{
$this->oDog = new Dog(new ModelArticle());
$this->oDog->_setDogName("hub"); // 必须
// $this->oDDT->_setPrimaryKey("id"); // 可选默认id
// $this->oDDT->_setStrField(["content"]); // 可选,指定长文本字段
// $this->oDog->_setInFormat(["user_name"]);
// $this->oDog->_setOutFormat(["user_name" => "date"]);
}
public function __call($sName, $aArg)
{
return $this->oDog->$sName($aArg[0]);
}
public function github($aParam)
{
// $sWhereField = $aParam["aOption"] ?? $this->
$iId = $aParam["aArg"][1] ?? false;
if (empty($aParam["aOption"]) && empty($aParam["aArg"])) {
return "/dog#github {id}";
}
$oArticle = ModelArticle::find($iId);
var_dump($oArticle);exit;
$this->oHttp->sToUrl = "https://api.github.com/repos/".$oArticle->user_name."/".$oArticle->project_name;
$this->oHttp->sMetHod = "get";
$r = $this->oHttp->send();
$aGitHub = json_decode($r, true);
if (!isset($aGitHub["id"])) {
$aGitHub["thisSendUrl"] = $this->oHttp->sToUrl;
return $this->toJson($aGitHub);
}
$tmp = str_replace("T", " ", rtrim($aGitHub["updated_at"], "Z")); //updated_at, pushed_at
$tmp = strtotime($tmp);
$tmpDate = date("Y-m-d H:i:s", $tmp + (8 * 3600));
$tmpTime = strtotime($tmpDate);
$tmpNowTime = time();
$tmpDiff = $tmpNowTime - $tmpTime;
$iLastUpdate = ceil($tmpDiff / 60);
$aGitHubNew = [];
$aGitHubNew["⭐️星星"] = $aGitHub["stargazers_count"];
$aGitHubNew["♻️最后更新"] = $iLastUpdate."分钟前"; // 替换T为空格并去掉Z
$aGitHubNew["watchers"] = $aGitHub["watchers_count"];
$aGitHubNew["forks"] = $aGitHub["forks_count"];
$aGitHubNew["watchers"] = $aGitHub["watchers_count"];
$aGitHubNew["url"] = $this->urlFormat($aGitHub["html_url"]);
return $this->toJson($aGitHubNew);
}
// public function JsonAdd($aParam) {
//
// return $this->JsonSet($aParam, "add");
//
// }
// public function Json($aParam)
// {
// $iId = $aParam["aOption"][1] ?? false;
// $sJson = $aParam["aArg"] ?? false;
//
// if (empty($aParam["aOption"]) && empty($aParam["aArg"])) {
// return "/article#json__id? <json> | 有id为set无id为add";
// }
//
//
//// if (!$iId) {
//// return "需要id";
//// }
////
//// if (!$sJson) {
//// return "需要json";
//// }
//
// if (!$iId) {
//
// $oArticle = new ModelArticle();
//
// } else {
//
// $oArticle = ModelArticle::find($iId);
// if (!$oArticle) {
// return "没到到这个";
// }
//
// }
//
// $sJson = implode(" ", $sJson);
//
// $aJson = json_decode($sJson, true);
//
// foreach ($aJson as $k => $v) {
// $oArticle->$k = $v;
// }
//
// $oArticle->save();
//
// $aParam["aArg"][1] = $oArticle->id;
// return $this->Find($aParam);
// }
}