mirror of
https://github.com/v2board/v2board.git
synced 2024-11-10 17:49:11 +08:00
47 lines
1.1 KiB
PHP
47 lines
1.1 KiB
PHP
<?php
|
||
namespace App\Services;
|
||
|
||
use \Curl\Curl;
|
||
|
||
class TelegramService {
|
||
protected $api;
|
||
|
||
public function __construct($token = '')
|
||
{
|
||
$this->api = 'https://api.telegram.org/bot' . config('v2board.telegram_bot_token', $token) . '/';
|
||
}
|
||
|
||
public function sendMessage(int $chatId, string $text, string $parseMode = '')
|
||
{
|
||
$this->request('sendMessage', [
|
||
'chat_id' => $chatId,
|
||
'text' => $text,
|
||
'parse_mode' => $parseMode
|
||
]);
|
||
}
|
||
|
||
public function getMe()
|
||
{
|
||
return $this->request('getMe');
|
||
}
|
||
|
||
public function setWebhook(string $url)
|
||
{
|
||
return $this->request('setWebhook', [
|
||
'url' => $url
|
||
]);
|
||
}
|
||
|
||
private function request(string $method, array $params = [])
|
||
{
|
||
$curl = new Curl();
|
||
$curl->get($this->api . $method . '?' . http_build_query($params));
|
||
$response = $curl->response;
|
||
$curl->close();
|
||
if (!$response->ok) {
|
||
abort(500, '来自TG的错误:' . $response->description);
|
||
}
|
||
return $response;
|
||
}
|
||
}
|