这是一个基于 Node.js 开发的 Telegram 骰子游戏机器人。用户可以在指定的群聊中下注,机器人会定期进行开奖,并自动结算积分。
- 用户注册和积分管理
- 多种下注类型(大、小、单、双)
- 定时自动开奖
- 使用 Telegram 内置骰子动画
- 管理员功能(添加积分)
- 快捷下注按钮
- Node.js
- MySQL
- Redis
- node-telegram-bot-api
- dotenv
- winston (用于日志记录)
-
克隆仓库:
git clone [仓库URL] cd [项目文件夹]
-
安装依赖:
npm install
-
配置环境变量: 复制
.env.example
文件为.env
,并填写必要的配置信息。 -
配置数据库:
- 创建 MySQL 数据库
- 运行
migrations/alter_bets_table.sql
脚本创建必要的表
-
运行应用:
- 生产环境:
npm start
- 开发环境(使用 nodemon 自动重启):
npm run dev
- 生产环境:
以下是机器人支持的主要指令:
-
/start
- 开始使用机器人- 初次使用时,系统会自动为用户创建账户。
-
/help
- 获取帮助信息- 显示所有可用命令和简要说明。
-
/points
- 查询当前积分- 显示用户当前的可用积分。
-
/bet
- 使用快捷下注按钮- 调出带有下注选项的内联键盘。
-
#[下注类型] [金额]
- 直接下注- 例如:
#大 100
或#小 50
- 下注类型包括:大、小、单、双
- 例如:
-
/setgamechat
- 设置游戏群聊(仅群组管理员可用)- 将当前群聊设置为游戏群聊。
-
/admin addPoints [用户ID] [积分]
- 管理员添加积分(仅管理员可用)- 为指定用户添加积分。
- 每 10 秒进行一次开奖
- 使用 3 个骰子,点数范围为 1-6
- 总点数大于 10 为"大",小于或等于 10 为"小"
- 总点数为奇数为"单",偶数为"双"
- 中奖可获得下注金额的 2 倍积分
- 请在设置的游戏群聊中进行下注和游戏操作。
- 每次开奖后,未中奖的下注将被清空。
- 如有任何问题,请联系管理员。