# GO-WYbot **Repository Path**: wyark/go-wybot ## Basic Information - **Project Name**: GO-WYbot - **Description**: Go语言魔兽世界机器人 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2025-05-20 - **Last Updated**: 2026-02-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GO-WYbot(小白版完整使用手册) GO-WYbot 是一个给魔兽私服用的 QQ 机器人后台。 你可以把它理解成一句话: - 在 WebUI 里点开关、填参数 - 在 QQ 群里用命令 - 让机器人帮你做群运营、积分活动、基础管理、GM 指令执行(带白名单) --- ## 1. 它能做什么 核心能力分 5 类: 1. 群聊和游戏联动 - 游戏消息 -> QQ 群转发 - QQ 群消息 -> 游戏(通过 SOAP `.announce` 广播) - 多目标群支持 2. 玩家与账号体系 - QQ 绑定游戏账号 - 查账号/查角色/查 QQ - 自动群名片(LM-/BL-前缀) 3. 积分活动体系 - 打卡、红包、竞猜、邀请、VIP、礼包、抽奖 - 积分存储支持默认表或自定义 SQL(兼容不同 GM 的积分字段) 4. 群风控体系 - 未绑定账号发言限制(可多选:屏蔽/撤回/禁言) - 黑名单(命令拉黑 + 自动踢人) - 刷屏检测(可多选:撤回/禁言/踢群) 5. 运维体系 - `执行指令` 执行 GM 命令(白名单限制) - `AI` 辅助问答/建议/执行(同样受白名单限制) - WebUI 可视化配置 + 日志查看 + 服务启停 --- ## 5. 功能大全(作用 + 怎么配 + 怎么用) 下面是功能开关里全部能力,按界面顺序写。 ### 5.1 游戏到Q群 作用:把游戏聊天记录转发到目标 QQ 群。 配置: - 开启 `游戏到Q群` - 设置 `游戏到QQ消息检查间隔(秒)` 说明: - 数据来源是 Characters 库里的 `_WYQbot聊天记录` - 转发格式:`LM/BL-角色名: 内容` ### 5.2 Q群到游戏 作用:把 QQ 群消息转发到游戏。 配置: - 开启 `Q群到游戏` 说明: - 当前实现是 SOAP 广播 `.announce` - 转发格式大致为 `[Q群]昵称: 内容`(带颜色码) - 命令消息不会被当普通聊天转发 ### 5.3 绑定系统 作用:让玩家把 QQ 和游戏账号关联。 配置: - 开启 `绑定系统` 用法: - `绑定=游戏账号` ### 5.4 打卡系统 作用:每日打卡给积分,支持连续打卡加成。 配置: - 开启 `打卡系统` - 设置基础积分、连续奖励、最大奖励、重置天数 用法: - `打卡` ### 5.5 红包系统 作用:玩家发积分红包,群友抢红包。 配置: - 开启 `红包系统` - 配置最小/最大积分、最大个数、过期时间、分配策略 用法: - `发红包=积分=个数` - `抢红包=红包ID` ### 5.6 自动群名片 作用:自动按账号角色设置群名片(如 `LM-角色名`、`BL-角色名`)。 配置: - 开启 `自动群名片` 说明: - 只对已绑定账号用户生效 - 若用户名片已是 `LM-/BL-/NA-` 前缀,通常不会重复改 ### 5.7 关键词回复 作用:群里或私聊触发关键词自动回复。 配置: - 开启 `关键词回复` - 配关键词列表、匹配方式、是否大小写敏感、冷却秒数 用法: - 管理命令:`关键词=添加=关键词=回复内容` - 也可在 WebUI 表格里直接维护 ### 5.8 竞猜系统 作用:管理员开一局竞猜,玩家押分参与,结算发奖。 配置: - 开启 `竞猜系统` - 配结算时间、最小/最大积分、最大倍率 用法: - `开始竞猜=倍率` - `竞猜=数字=积分` - `结算竞猜` ### 5.9 定时消息 作用:每天固定时间给群发固定文案。 配置: - 开启 `定时消息` - 在表格里配置 `HH:MM + 消息` - 设置检查间隔(分钟) ### 5.10 进群欢迎语 作用:新成员进群自动欢迎。 配置: - 开启 `进群欢迎语` - 发送方式:群内@ / 群临时会话 / 两者都发 - 欢迎文案支持变量:`{nickname}`、`{qq}` ### 5.11 邀请系统 作用:老玩家邀请新玩家,双方拿奖励积分。 配置: - 开启 `邀请系统` - 配置邀请人奖励、被邀请人奖励 用法: - `邀请人=QQ号` - `我的邀请人` - `邀请人数` ### 5.12 VIP系统 作用:设置 VIP 等级和有效期,支持 VIP 额外签到奖励。 配置: - 开启 `VIP系统` - 在表格里配 VIP 等级、名称、签到额外奖励 用法: - `设置VIP=QQ号=等级=天数` - `我的VIP` ### 5.13 礼包系统 作用:配置礼包后,玩家按条件领取。 配置: - 开启 `礼包系统` - 在表格维护礼包:ID、名称、描述、VIP要求、礼包内容 用法: - `领取礼包=角色名=礼包名` - `领取礼包`(不带礼包名时会显示可领列表) - `重置礼包=礼包名` ### 5.14 抽奖系统 作用:消耗积分抽奖,奖励先入“待领取”。 配置: - 开启 `抽奖系统` - 配抽奖消耗、奖励库存上限、冷却时间 - 配奖池(权重法,不需要手算百分比) 用法: - `抽奖` - `我的奖励` - `领取奖励=角色名` ### 5.15 未绑定账号消息限制 作用:未绑定用户发言时自动拦截,降低“游客刷屏”影响。 配置: - 开启 `未绑定账号消息限制` - 限制类型可多选: - 屏蔽消息(不转发到游戏) - 撤回消息 - 禁言用户 - 可设置禁言秒数和提示语 ### 5.16 黑名单 作用:把指定 QQ 拉黑并踢出,后续在目标群发言会再被踢。 配置: - 开启 `黑名单` 用法: - `黑名单=QQ号` - `解除黑名单=QQ号` 附加逻辑: - 目标群出现“踢人事件”(sub_type=kick)时,会自动把被踢者加入黑名单(管理员除外) ### 5.17 刷屏检测 作用:检测同一用户短时间连续发完全一样的内容。 配置: - 开启 `刷屏检测` - 设置“时间窗口(分钟)” - 设置“连续相同内容条数” - 处理方式可多选: - 撤回所有刷屏内容 - 禁言 X 分钟 - 踢出群 执行顺序: - 先撤回 -> 再禁言 -> 最后踢出 ### 5.18 AI助手 作用:可以问“怎么做”,也可以在规则允许时直接执行 GM 命令。 配置: - 开启 `AI助手` - 填接口地址、模型、API Key - 配超时、检索条数、温度、最大输出 token - 执行策略: - 是否允许 AI 直接执行 - 是否必须“执行 ...”前缀 核心安全规则: - `AI` 和 `执行指令` 都必须通过 `GMCommands.ai.jsonl` 白名单校验 - 不在白名单的命令会被拒绝 ### 5.19 消息模板设置 作用:自定义系统提示文案,避免玩家看到“生硬默认提示”。 位置: - `功能设置 -> 功能详细设置 -> 消息模板设置` 可配项: - `用户未绑定提示`:普通用户未绑定时的提示 - `目标用户未绑定提示`:管理员操作目标QQ时的提示 - `邀请人未绑定提示`:设置邀请人时的提示 - `未绑定或无数据提示`:竞猜/积分等场景的兜底提示 变量: - 支持 `{separator}`,会自动替换成当前命令分隔符(例如 `=` 或空格) --- ## 6. 命令大全(完整) 先记 2 条规则: 1. 默认命令格式 - `命令=参数` - 例:`绑定=test001` 2. 如果你把“命令分隔符”留空 - 改为:`命令 参数` - 例:`绑定 test001` ### 6.1 系统命令(完整列表) - `帮助` - `执行指令=` - `AI=<问题或需求>` - `绑定=<游戏账号>` - `解绑=` - `加积分=<目标QQ=积分数量>` - `减积分=<目标QQ=积分数量>` - `打卡` - `我的积分` - `发红包=<积分=个数>` - `抢红包=<红包ID>` - `我的信息` - `关键词=<操作=关键词=回复内容>` - `搜索=<类型=名称>`(类型:物品/生物) - `黑名单=` - `解除黑名单=` - `邀请人=<邀请人QQ号>` - `我的邀请人` - `邀请人数` - `设置VIP=` - `我的VIP` - `开始竞猜=<倍率>` - `竞猜=<数字=积分>` - `结算竞猜` - `领取礼包=<角色名称=礼包名称>` - `重置礼包=<礼包名称>` - `查账号=<账号名>` - `查角色=<角色名>` - `查qq=` - `抽奖` - `我的奖励` - `领取奖励=<角色名称>` 说明: - 真正谁能用、在哪能用,以 WebUI “命令权限设置”为准。 ### 6.2 新手最常用示例 - `绑定=test001` - `打卡` - `我的积分` - `发红包=500=5` - `抢红包=12` - `领取礼包=战士小明=新手礼包` - `抽奖` - `我的奖励` - `领取奖励=战士小明` ### 6.3 管理员常用示例 - `执行指令=server info` - `AI=怎么查看在线人数` - `AI=执行 server info` - `加积分=12345678=100` - `减积分=12345678=50` - `黑名单=12345678` - `解除黑名单=12345678` - `设置VIP=12345678=2=30` - `开始竞猜=3` - `结算竞猜` --- ## 7. AI 功能怎么用(重点) ### 7.1 两种用法 1. 问答/建议 - `AI=怎么给玩家发补偿` 2. 让 AI 执行 - `AI=执行 server info` ### 7.2 安全限制 - 只读取 `GMCommands.ai.jsonl` - AI 返回的命令会再做白名单匹配 - 不在白名单的命令不能执行 ### 7.3 推荐开关 - `允许AI直接执行GM命令`:建议只在你信任的管理群开启 - `执行必须以“执行 ...”前缀触发`:建议保持开启(更安全) --- ## 8. 积分系统(默认 + 自定义) ### 8.1 默认模式(推荐先用) - 模式:`wy_综合记录.jf (默认)` - 默认字段:`wy_综合记录.jf` ### 8.2 自定义SQL模式(兼容不同GM字段) - 模式改为:`自定义SQL` - 数据库来源只能选:`auth / characters / world` - 填写:查询/增加/扣除/设置 四段 SQL 占位符说明: - `{account_id}`:账号ID - `{account}`:游戏账号名(同 `{username}`) - `{username}`:账号名 - `{qq}`:QQ号 - `{character_name}`:角色名(部分场景可用) - `{delta}`:本次增减值 - `{points}`:本次计算后的最新总积分 ### 8.3 `COALESCE(jf, 0)` 是什么 它的意思是: - 如果 `jf` 是空值 `NULL`,按 `0` 来算 - 防止查积分时因为空值报错 --- ## 9. 数据表与文件说明 程序会按需自动创建/维护一部分表: - `wy_综合记录`(绑定、积分、VIP、邀请等核心数据) - `wy_red_packet`、`wy_red_packet_record` - `wy_guessing_records`、`wy_guessing_history` - `wy_gift_records` - `wy_user_rewards` 常见文件: - `config.json`:全部配置 - `blacklist.txt`:黑名单 - `GMCommands.ai.jsonl`:AI/执行指令白名单 - `machine_code.txt`:授权失败时写出的机器码 - `logs/*.log`:运行日志 --- ## 10. 常见问题 ### 10.1 命令没反应 按顺序检查: 1. 服务是否已“启动服务” 2. 当前群是否在“目标群号列表” 3. 命令是否被“命令权限设置”禁用 4. 命令分隔符是不是改过(`=` 还是空格) ### 10.2 QQ消息没进游戏 检查: - `Q群到游戏` 开关是否开启 - SOAP 是否连通 - 机器人是否只收到命令而非普通聊天 ### 10.3 游戏消息没到QQ群 检查: - `游戏到Q群` 开关是否开启 - Characters 库 `_WYQbot聊天记录` 是否有新数据 - 目标群是否配置正确 ### 10.4 AI说“命令不在白名单中” 说明命令不在 `GMCommands.ai.jsonl`。 你需要把该命令加入白名单文件后再试。 ### 10.5 程序一启动就退出 如果是授权问题,控制台会打印: - 失败原因 - 机器码 - 并生成 `machine_code.txt` --- ## 12. 免责声明 本项目用于服务器运营自动化与社群管理。 请遵守你所在地区法律法规与平台规范,合理使用相关功能。