Skip to content

yy523301/Dice_robot

Repository files navigation

Telegram 骰子机器人

项目简介

这是一个基于 Node.js 开发的 Telegram 骰子游戏机器人。用户可以在指定的群聊中下注,机器人会定期进行开奖,并自动结算积分。

功能特性

  • 用户注册和积分管理
  • 多种下注类型(大、小、单、双)
  • 定时自动开奖
  • 使用 Telegram 内置骰子动画
  • 管理员功能(添加积分)
  • 快捷下注按钮

技术栈

  • Node.js
  • MySQL
  • Redis
  • node-telegram-bot-api
  • dotenv
  • winston (用于日志记录)

安装和运行

  1. 克隆仓库:

    git clone [仓库URL]
    cd [项目文件夹]
    
  2. 安装依赖:

    npm install
    
  3. 配置环境变量: 复制 .env.example 文件为 .env,并填写必要的配置信息。

  4. 配置数据库:

    • 创建 MySQL 数据库
    • 运行 migrations/alter_bets_table.sql 脚本创建必要的表
  5. 运行应用:

    • 生产环境:
      npm start
      
    • 开发环境(使用 nodemon 自动重启):
      npm run dev
      

机器人指令

以下是机器人支持的主要指令:

  1. /start - 开始使用机器人

    • 初次使用时,系统会自动为用户创建账户。
  2. /help - 获取帮助信息

    • 显示所有可用命令和简要说明。
  3. /points - 查询当前积分

    • 显示用户当前的可用积分。
  4. /bet - 使用快捷下注按钮

    • 调出带有下注选项的内联键盘。
  5. #[下注类型] [金额] - 直接下注

    • 例如:#大 100#小 50
    • 下注类型包括:大、小、单、双
  6. /setgamechat - 设置游戏群聊(仅群组管理员可用)

    • 将当前群聊设置为游戏群聊。
  7. /admin addPoints [用户ID] [积分] - 管理员添加积分(仅管理员可用)

    • 为指定用户添加积分。

游戏规则

  • 每 10 秒进行一次开奖
  • 使用 3 个骰子,点数范围为 1-6
  • 总点数大于 10 为"大",小于或等于 10 为"小"
  • 总点数为奇数为"单",偶数为"双"
  • 中奖可获得下注金额的 2 倍积分

注意事项

  • 请在设置的游戏群聊中进行下注和游戏操作。
  • 每次开奖后,未中奖的下注将被清空。
  • 如有任何问题,请联系管理员。

About

电报骰子机器人

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published