mirror of
				https://github.com/v2board/v2board.git
				synced 2025-11-04 03:11:46 +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 = 'http://dev.v2board.com/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;
 | 
						||
    }
 | 
						||
}
 |