聊天机器人(Discord 和 Telegram)
通过 Discord 或 Telegram 控制 Lords Bot、接收账号提醒,并在聊天中使用你的联盟银行。
聊天机器人把 Lords Bot 和你自己的 Discord 或 Telegram 机器人连接起来。在聊天中,你可以查看哪些账号在线、启动和停止账号、获取日志和截图,并接收访问密钥过期之类的提醒。联盟成员也可以在聊天中使用联盟银行。
工作原理
- 创建你自己的机器人:在 Discord 或 Telegram 上创建,并复制它的 token。
- 连接它: 把 token 粘贴到 Lords Bot 中,然后点击 连接(Connect)。
- 选择你的聊天: 在你想使用的频道或群组中发送 。你就成为了聊天机器人的管理员。
- 开始使用: 用指令控制你的账号,接收提醒,并让你的联盟在聊天中使用银行。
设置聊天机器人
在主窗口中打开 设置 > 选项 > 其他设置(Settings > Options > Other Settings),进入 聊天机器人(Chat Bot)标签页。然后按照 Discord 或 Telegram 的步骤操作。
Discord
- 前往 https://discord.com/developers/applications 并创建一个新应用。
- 打开该应用的 Bot 页面,复制机器人的 token。请妥善保管 token,不要泄露。
- 在同一页面上,开启 Message Content Intent。Lords Bot 需要它来读取指令。保存修改。
- 在 Lords Bot 中,把 token 粘贴到 Bot Token:,选择 Discord,然后点击 连接。
- 当状态显示 Discord 已连接(Discord Connected)时,点击 将Bot添加到 Discord(Add Bot to Discord),把机器人添加到你的服务器。
提示: 如果 Discord 提示该集成“requires code grant”(需要代码授权),请回到开发者门户,为你的机器人关闭 OAuth2 code grant 选项。
Telegram
- 在 Telegram 中打开 https://t.me/BotFather 并发送 。
- 先取一个名称,再取一个以
bot结尾的用户名。BotFather 会把机器人的 token 发给你。 - 向 BotFather 发送 ,选择你的机器人,然后选择 Disable。这样机器人才能读取群组中以
!开头的消息。 - 在 Lords Bot 中,把 token 粘贴到 Bot Token:,选择 Telegram,然后点击 连接。
- 当状态显示 Telegram 已连接(Telegram Connected)时,点击 将Bot添加到 Telegram(Add Bot to Telegram),把机器人添加到你的群组。
仅限 Telegram:你可以勾选 使用代理?(Use Proxy?),并为聊天机器人的连接选择一个你的代理。
指定你的聊天
只有把机器人绑定到一个聊天之后,指令才会生效:
- 在你想使用的 Discord 频道或 Telegram 群组中,发送 (或 )。
- 机器人会回复 群组分配成功!(Group assigned successfully!)
你发送 set 的那个聊天现在就是聊天机器人的聊天,而你就是它的管理员。只有管理员可以使用聊天机器人指令,而且只能在那个聊天中使用。在 Discord 上,发送 set 之后,这些指令还会作为斜杠指令出现在该服务器中。
聊天机器人的管理员(发送 set 的人)与联盟银行的授权用户不是一回事。授权用户是在每个银行的 授权用户(Authorized Users)标签页中单独添加的。
要把聊天机器人移到另一个聊天,请在当前聊天中发送 ,或者在 聊天机器人 标签页中点击 清除数据(Clear Data),然后在新的聊天中再次发送 set。
聊天机器人标签页上的其他按钮
| 项目 | 作用 |
|---|---|
| 断开(Disconnect) | 断开聊天机器人的连接。 |
| 查看日志(View Log) | 显示聊天机器人的连接日志。如果状态显示 出错,请查看日志(Something went wrong, check log),请查看它。 |
| 清除数据 | 清除已指定的聊天和管理员。 |
| 信息框 | 显示 Chat ID、Admin ID,在 Discord 上还会显示 Guild ID(你的服务器)。 |
指令
只有聊天机器人的管理员可以使用这些指令,而且只能在用 set 指定的聊天中使用。指令可以用 /、! 或 , 开头。在 Discord 上它们也是斜杠指令,输入时账号框会自动提示账号名。
/help列出所有指令。
/status列出在线和离线的账号。
/qstatus显示在线和离线账号的数量。
/screenshot发送主窗口的截图。
/log IGG ID or name以文件形式发送该账号的日志。
/shortlog IGG ID or name以消息形式发送该账号日志的最后一部分。
/start IGG ID or name启动该账号。
/stop IGG ID or name停止该账号。
/setcastle IGG ID or name让联盟成员在当前聊天中使用这个账号的联盟银行。参见在聊天中使用联盟银行。
/unsetcastle IGG ID or name把联盟银行从它的聊天中移除。
/set把聊天机器人绑定到当前聊天。参见指定你的聊天。
/cleargroup解除聊天机器人与其聊天的绑定。
如果管理员以外的人使用指令,机器人会回复 您无权使用该命令(You are not authorized to use that command)。在其他聊天中,它会回复 管理员命令只能在使用过 /Set 的聊天中使用。(Admin Commands can only be used in the chat where: /Set was used.)唯一的例外是 ,管理员可以在机器人所在的任何聊天中使用它。
在聊天中使用联盟银行
联盟银行可以在你的聊天机器人所在的任何 Discord 频道或 Telegram 群组中回复指令,而不仅限于管理员聊天。每个银行都要重复以下步骤。
把银行添加到聊天(管理员)
在群聊中发送 ,后面加上银行账号的名字或 IGG ID,例如 。机器人会回复 账户已分配到聊天(Account Assigned to Chat)。要移除它,请在聊天机器人的管理员聊天中发送 。
注册为银行用户(每位玩家)
每位玩家只需把自己的 Discord 或 Telegram 账号与游戏名绑定一次:
- 在群聊中发送一条银行指令,例如 。(如果银行的前缀不是
!,请使用银行的前缀。) - 机器人会回复 **请向银行发送:**以及一条类似 的指令。
- 在游戏中通过联盟聊天或邮件,把这条指令原样发给银行。银行会回复 社交账号已注册(Social account registered)。
- 在群聊中再次发送 ,你就会收到你的余额。
现在你可以在聊天中使用你的阶级所允许的任何银行指令了。要解除绑定,请在游戏中向银行发送 。完整列表请参阅联盟银行指令。
注意: 聊天机器人指令会被优先识别。与聊天机器人指令同名的银行指令(例如 )在聊天中会被当作聊天机器人指令处理。这类银行指令请改在游戏中发送。
账号通知
聊天机器人可以把账号提醒发到管理员聊天。提醒需要按账号分别开启:打开账号窗口,进入 设置 > 一般 > 高级(Settings > General > Advanced),然后找到 聊天机器人 分组。你可以使用全局设置或模板一次设置多个账号。
| 选项 | 发送什么 |
|---|---|
| 在Chatbot中发布状态(Post Status in Chatbot) | 为这个账号开启聊天机器人提醒。 |
| 访问密钥到期(Access Key Expiry) | 访问密钥过期、刷新或无法刷新时。 |
| 连接状态改变(Connection Status Change) | 账号连接、重新连接或断开时。 |
| 其他登录(Other Login) | 有其他人登录该账号时。 |
| 计划状态(Schedule Status) | 计划休息开始和结束时,以及账号在休息期间登录检查任务时。 |
| 接近 RSS 限制(Nearing RSS limit) | 粮食、岩石、木材、矿石或金币达到 40 亿、接近游戏上限时。 |
| 上传统计数据(Upload Stats) | 把这个账号保存的统计报告(礼物统计、联盟名单和联盟总动员统计,在联盟页面中开启)以文件形式发到用 添加了这个账号的聊天中。在你完成这一步之前,不会发送任何内容。开启后,从该聊天发送的银行指令 也会以文件形式上传报告。 |
开启 在Chatbot中发布状态 后,有些提醒总会发送,例如账号被封禁或暂停时,或者达到账号上限时。
还是没解决?到 Discord 上问问我们的工作人员。