update telegram

This commit is contained in:
Tokumeikoi 2020-05-25 16:39:35 +08:00
parent bd1b339db8
commit 2e13bab3d8
4 changed files with 41 additions and 3 deletions

View File

@ -6,6 +6,7 @@ use App\Services\TelegramService;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\User; use App\Models\User;
use App\Utils\Helper;
class TelegramController extends Controller class TelegramController extends Controller
{ {
@ -26,6 +27,8 @@ class TelegramController extends Controller
switch($this->msg->command) { switch($this->msg->command) {
case '/bind': $this->bind(); case '/bind': $this->bind();
break; break;
case '/traffic': $this->traffic();
break;
default: $this->help(); default: $this->help();
} }
} catch (\Exception $e) { } catch (\Exception $e) {
@ -84,4 +87,22 @@ class TelegramController extends Controller
$text = implode(PHP_EOL, $commands); $text = implode(PHP_EOL, $commands);
$telegramService->sendMessage($msg->chat_id, "你可以使用以下命令进行操作:\n\n$text", 'markdown'); $telegramService->sendMessage($msg->chat_id, "你可以使用以下命令进行操作:\n\n$text", 'markdown');
} }
private function traffic()
{
$msg = $this->msg;
if (!$msg->is_private) return;
$user = User::where('telegram_id', $msg->chat_id)->first();
if (!$user) {
$this->help();
return;
}
$transferEnable = Helper::trafficConvert($user->transfer_enable);
$up = Helper::trafficConvert($user->u);
$down = Helper::trafficConvert($user->d);
$remaining = Helper::trafficConvert($user->transfer_enable - ($user->u + $user->d));
$text = "🚥流量查询———————————————\n总流量:`{$transferEnable}`\n已用上行:`{$up}`\n已用下行:`{$down}`\n剩余流量:`{$remaining}`";
$telegramService = new TelegramService();
$telegramService->sendMessage($msg->chat_id, $text, 'markdown');
}
} }

View File

@ -10,7 +10,6 @@ use App\Models\User;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Models\Ticket; use App\Models\Ticket;
use App\Models\TicketMessage; use App\Models\TicketMessage;
use App\Utils\Helper;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
class TicketController extends Controller class TicketController extends Controller
@ -194,7 +193,7 @@ class TicketController extends Controller
->where('telegram_id', '!=', NULL) ->where('telegram_id', '!=', NULL)
->get(); ->get();
foreach ($users as $user) { foreach ($users as $user) {
$text = "📮工单提醒\n———————————————\n主题:\n`{$ticket->subject}`\n内容:\n`{$ticketMessage->message}`"; $text = "📮工单提醒 #{$ticket->id}\n———————————————\n主题:\n`{$ticket->subject}`\n内容:\n`{$ticketMessage->message}`";
SendTelegramJob::dispatch($user->telegram_id, $text); SendTelegramJob::dispatch($user->telegram_id, $text);
} }
} }

View File

@ -98,4 +98,22 @@ class Helper
if (!in_array($suffix, $suffixs)) return false; if (!in_array($suffix, $suffixs)) return false;
return true; return true;
} }
public static function trafficConvert(int $byte)
{
$kb = 1024;
$mb = 1048576;
$gb = 1073741824;
if ($byte > $gb) {
return round($byte / $gb, 2) . ' GB';
} else if ($byte > $mb) {
return round($byte / $mb, 2) . ' MB';
} else if ($byte > $kb) {
return round($byte / $kb, 2) . ' KB';
} else if ($byte < 0) {
return 0;
} else {
return round($byte, 2) . ' B';
}
}
} }

File diff suppressed because one or more lines are too long