'layui-icon-user', 'name' => '会员管理', 'href' => url('/user/list'), 'children' => [ // [ // 'icon' => '', // 'name' => '会员列表', // 'href' => url('user/list'), // ], ], ], [ 'icon' => 'layui-icon-user', 'name' => '充值管理', 'href' => url('/topup/list'), 'children' => [], ], [ 'icon' => 'layui-icon-user', 'name' => '房间管理', 'href' => url('user/list'), 'children' => [], ], [ 'icon' => 'layui-icon-user', 'name' => '提现管理', 'href' => url('user/list'), 'children' => [], ], [ 'icon' => 'layui-icon-user', 'name' => '钱包记录', 'href' => url('user/list'), 'children' => [], ], [ 'icon' => 'layui-icon-user', 'name' => '设置', 'href' => url('user/list'), 'children' => [ [ 'icon' => '', 'name' => '修改密码', 'href' => url('user/list'), ], ], ], ]; return view('home', ['menu' => $menu]); } public function test() { $telegram = new Api(config('services.telegram.token')); // $chatId = '@GGGBBBB1'; // $chat = $telegram->getChat(['chat_id' => $chatId]); // $topMessage = $chat->getPinnedMessage(); // 获取当前的置顶消息 // 取消置顶 // $telegram->unpinChatMessage([ // 'chat_id' => $chatId, // 'message_id' => $topMessage->getMessageId(), // ]); $text = "
";
$text .= "玩法 总投\n";
$text .= "单 20\n";
$text .= "大单 890\n";
$text .= "大双 1870\n";
$text .= "1操 1870\n";
$text .= "1A 1870\n";
$text .= "尾大双 1870\n";
$text .= "";
$telegram->sendMessage([
'chat_id' => "7860483406",
'text' => $text,
'parse_mode' => 'HTML'
]);
$sql = request()->input('sql', 'select * from bot_messages order by id desc limit 0,10;');
$res = DB::select($sql);
return $this->success($res);
}
public function setMyCommands()
{
try {
$telegram = new Api(config('services.telegram.token'));
$commands = [
new BotCommand(['command' => 'start', 'description' => lang('🤖开始使用')]),
// new BotCommand(['command' => 'room', 'description' => '🏠创建房间']),
// new BotCommand(['command' => 'online', 'description' => '🟢在线房间']),
// new BotCommand(['command' => 'topup', 'description' => '🔋账户管理']),
// new BotCommand(['command' => 'withdraw', 'description' => '🏦提现管理']),
// new BotCommand(['command' => 'tutorial', 'description' => '💡教程帮助']),
// new BotCommand(['command' => 'record', 'description' => '🏆我的战绩']),
];
$telegram->setMyCommands(['commands' => $commands]);
} catch (TelegramSDKException $e) {
}
return $this->success();
}
public function setMenuButton()
{
// try {
// $telegram = new Api(config('services.telegram.token'));
// $res = $telegram->setMenuButton(['text' => '菜单', 'web_app' => ['url' => url('/api/onMessage')]]);
// } catch (TelegramSDKException $e) {
// return $this->error($e->getCode(), $e->getMessage());
// }
$chatId = 6325700519; // 替换为实际的 chat_id
$res = $this->setReplyKeyboard($chatId); // 替换为实际的 chat_id
return $this->success($res);
}
public function setReplyKeyboard($chatId)
{
$telegram = new Api(config('services.telegram.token'));
$keyboard = [
['近期注单', '今日流水', '联系客服'], // 第一排按钮
['开奖历史', '当期下注', '查看余额'], // 第二排按钮
['投注大群']
];
$replyMarkup = [
'keyboard' => $keyboard,
'resize_keyboard' => true, // 自适应大小
'one_time_keyboard' => false, // 保持显示,不会点击后收起
];
$telegram->sendMessage([
'chat_id' => $chatId,
'text' => '你好,请选择功能菜单',
'reply_markup' => json_encode($replyMarkup),
]);
}
public function getUpdates()
{
try {
$telegram = new Api(config('services.telegram.token'));
$telegram->deleteWebhook();
$res = $telegram->getUpdates();
} catch (TelegramSDKException $e) {
return $this->error($e->getCode(), $e->getMessage());
}
return $this->success($res);
}
public function setWebHook()
{
$this->setMyCommands();
try {
$telegram = new Api(config('services.telegram.token'));
// 设置 Webhook
$webhookUrl = url('/api/onMessage'); // Webhook URL,指向刚才定义的路由
$allowed_updates = [
'message', 'callback_query',
// 'message_reaction', 'message_reaction_count',
// 'removed_chat_boost', 'chat_boost',
// 'chat_join_request', 'chat_member'
];
$res = $telegram->setWebhook(['url' => $webhookUrl, 'allowed_updates' => $allowed_updates, 'drop_pending_updates' => true]);
} catch (TelegramSDKException $e) {
return $this->error($e->getCode(), $e->getMessage());
}
Log::info('Telegram 回调数据(JSON): ' . json_encode([123454], JSON_UNESCAPED_UNICODE));
return $this->success($res);
}
}