mirror of
https://github.com/v2board/v2board.git
synced 2025-02-25 06:40:26 +08:00
update telegram
This commit is contained in:
parent
ca650dd067
commit
ce19ebc97f
@ -24,16 +24,12 @@ class ConfigController extends Controller
|
||||
public function setTelegramWebhook(Request $request)
|
||||
{
|
||||
$telegramService = new TelegramService($request->input('telegram_bot_token'));
|
||||
if (!$telegramService->getMe()) {
|
||||
abort(500, '机器人Token有误');
|
||||
}
|
||||
if (!$telegramService->setWebhook(
|
||||
$telegramService->getMe();
|
||||
$telegramService->setWebhook(
|
||||
config('v2board.app_url')
|
||||
. '/api/v1/guest/telegram/webhook?access_token='
|
||||
. md5(config('v2board.telegram_bot_token', $request->input('telegram_bot_token')))
|
||||
)) {
|
||||
abort(500, 'Webhook设置失败');
|
||||
}
|
||||
);
|
||||
return response([
|
||||
'data' => true
|
||||
]);
|
||||
|
20
app/Http/Controllers/User/TelegramController.php
Normal file
20
app/Http/Controllers/User/TelegramController.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\User;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Services\TelegramService;
|
||||
|
||||
class TelegramController extends Controller
|
||||
{
|
||||
public function getBotInfo()
|
||||
{
|
||||
$telegramService = new TelegramService();
|
||||
$response = $telegramService->getMe();
|
||||
return response([
|
||||
'data' => [
|
||||
'username' => $response->result->username
|
||||
]
|
||||
]);
|
||||
}
|
||||
}
|
@ -62,7 +62,8 @@ class UserController extends Controller
|
||||
'commission_balance',
|
||||
'plan_id',
|
||||
'discount',
|
||||
'commission_rate'
|
||||
'commission_rate',
|
||||
'telegram_id'
|
||||
])
|
||||
->first();
|
||||
$user['avatar_url'] = 'https://cdn.v2ex.com/gravatar/' . md5($user->email) . '?s=64&d=identicon';
|
||||
|
@ -51,6 +51,8 @@ class UserRoute
|
||||
$router->get ('/server/log/fetch', 'User\\ServerController@logFetch');
|
||||
// Coupon
|
||||
$router->post('/coupon/check', 'User\\CouponController@check');
|
||||
// Telegram
|
||||
$router->get ('/telegram/getBotInfo', 'User\\TelegramController@getBotInfo');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -6,9 +6,9 @@ use \Curl\Curl;
|
||||
class TelegramService {
|
||||
protected $api;
|
||||
|
||||
public function __construct(string $token = '')
|
||||
public function __construct($token = '')
|
||||
{
|
||||
$this->api = 'https://api.telegram.org/bot' . config('v2board.telegram_bot_token', $token) . '/';
|
||||
$this->api = 'http://dev.v2board.com/bot' . config('v2board.telegram_bot_token', $token) . '/';
|
||||
}
|
||||
|
||||
public function sendMessage(int $chatId, string $text, string $parseMode = '')
|
||||
@ -22,29 +22,25 @@ class TelegramService {
|
||||
|
||||
public function getMe()
|
||||
{
|
||||
$response = $this->request('getMe');
|
||||
if (!$response->ok) {
|
||||
return false;
|
||||
}
|
||||
return $response;
|
||||
return $this->request('getMe');
|
||||
}
|
||||
|
||||
public function setWebhook(string $url)
|
||||
{
|
||||
$response = $this->request('setWebhook', [
|
||||
return $this->request('setWebhook', [
|
||||
'url' => $url
|
||||
]);
|
||||
if (!$response->ok) {
|
||||
return false;
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
|
||||
private function request(string $method, array $params = [])
|
||||
{
|
||||
$curl = new Curl();
|
||||
$curl->get($this->api . $method, http_build_query($params));
|
||||
$curl->get($this->api . $method . '?' . http_build_query($params));
|
||||
$response = $curl->response;
|
||||
$curl->close();
|
||||
return $curl->response;
|
||||
if (!$response->ok) {
|
||||
abort(500, '来自TG的错误:' . $response->description);
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user