'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]);
}
function getMatchingNumbers($target)
{
// 定义从1到80的数字
$numbers = range(1, 80);
$bestMatch = null;
// 暴力法:随机选取20个不重复数字,并计算对应的3个数字
for ($i = 0; $i < 100000; $i++) { // 限制尝试次数,避免死循环
shuffle($numbers); // 随机打乱数字
$selectedNumbers = array_slice($numbers, 0, 20); // 取前20个数字
// 按照从小到大的顺序排序
sort($selectedNumbers);
// 计算第一个数字
$firstSum = $selectedNumbers[1] + $selectedNumbers[4] + $selectedNumbers[7] + $selectedNumbers[10] + $selectedNumbers[13] + $selectedNumbers[16];
$firstDigit = $firstSum % 10; // 取个位数
// 计算第二个数字
$secondSum = $selectedNumbers[2] + $selectedNumbers[5] + $selectedNumbers[8] + $selectedNumbers[11] + $selectedNumbers[14] + $selectedNumbers[17];
$secondDigit = $secondSum % 10;
// 计算第三个数字
$thirdSum = $selectedNumbers[3] + $selectedNumbers[6] + $selectedNumbers[9] + $selectedNumbers[12] + $selectedNumbers[15] + $selectedNumbers[18];
$thirdDigit = $thirdSum % 10;
// 计算最终结果
$result = $firstDigit + $secondDigit + $thirdDigit;
// 如果符合目标结果,返回这组数字
if ($result === $target) {
$bestMatch = $selectedNumbers;
break; // 找到一个匹配的结果后,结束循环
}
}
return $bestMatch;
}
public function test()
{
// $target = 27;
$target = request()->input('a', 15);
$target = intval($target);
$matchingNumbers = $this->getMatchingNumbers($target);
if ($matchingNumbers !== null) {
echo "找到的数字是:" . implode(", ", $matchingNumbers);
} else {
echo "未找到匹配的数字组合。";
}
echo "
";
echo $target;
echo "
";
$sum = 0;
for ($i = 1; $i < 19; $i = $i + 3) {
echo $matchingNumbers[$i];
$sum += $matchingNumbers[$i];
if ($i < 16) {
echo " + ";
}
}
echo " = " . $sum;
echo "
";
$sum = 0;
for ($i = 2; $i < 20; $i = $i + 3) {
echo $matchingNumbers[$i];
$sum += $matchingNumbers[$i];
if ($i < 17) {
echo " + ";
}
}
echo " = " . $sum;
echo "
";
$sum = 0;
for ($i = 3; $i < 20; $i = $i + 3) {
echo $matchingNumbers[$i];
$sum += $matchingNumbers[$i];
if ($i < 18) {
echo " + ";
}
}
echo " = " . $sum;
echo "
";
exit();
$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);
}
}