update telegram

This commit is contained in:
Tokumeikoi
2020-05-17 15:23:39 +08:00
parent 871291e02d
commit 422b18ca66
7 changed files with 137 additions and 1 deletions

View File

@ -3,6 +3,7 @@
namespace App\Http\Controllers\Admin;
use App\Http\Requests\Admin\ConfigSave;
use App\Services\TelegramService;
use Illuminate\Http\Request;
use App\Utils\Dict;
use App\Http\Controllers\Controller;
@ -20,6 +21,20 @@ class ConfigController extends Controller
]);
}
public function setTelegramWebhook()
{
$telegramService = new TelegramService();
if (!$telegramService->getMe()) {
abort(500, '机器人Token有误');
}
if (!$telegramService->setWebhook(config('v2board.app_url') . '/api/v1/guest/telegram/webhook?access_token=' . md5(config('v2board.telegram_bot_token')))) {
abort(500, 'Webhook设置失败');
}
return response([
'data' => true
]);
}
public function fetch()
{
// TODO: default should be in Dict

View File

@ -0,0 +1,21 @@
<?php
namespace App\Http\Controllers\Guest;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class TelegramController extends Controller
{
public function __construct(Request $request)
{
if ($request->input('access_token') !== md5(config('v2board.telegram_bot_token'))) {
abort(500, 'authentication failed');
}
}
public function webhook(Request $request)
{
info($request->input());
}
}

View File

@ -15,6 +15,7 @@ class AdminRoute
$router->get ('/config/fetch', 'Admin\\ConfigController@fetch');
$router->post('/config/save', 'Admin\\ConfigController@save');
$router->get ('/config/getEmailTemplate', 'Admin\\ConfigController@getEmailTemplate');
$router->get ('/config/setTelegramWebhook', 'Admin\\ConfigController@setTelegramWebhook');
// Plan
$router->get ('/plan/fetch', 'Admin\\PlanController@fetch');
$router->post('/plan/save', 'Admin\\PlanController@save');

View File

@ -17,6 +17,8 @@ class GuestRoute
$router->post('/order/stripeNotify', 'Guest\\OrderController@stripeNotify');
$router->post('/order/bitpayXNotify', 'Guest\\OrderController@bitpayXNotify');
$router->post('/order/payTaroNotify', 'Guest\\OrderController@payTaroNotify');
// Telegram
$router->post('/telegram/webhook', 'Guest\\TelegramController@webhook');
});
}
}