mirror of
				https://github.com/v2board/v2board.git
				synced 2025-10-31 09:21: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;
 | ||
|     }
 | ||
| }
 |