聊天機器人(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 並建立新的應用程式(application)。
- 開啟應用程式的 Bot 頁面,複製機器人的 Token。請妥善保管 Token,不要外流。
- 在同一頁開啟 Message Content Intent。Lords Bot 需要它才能讀取指令。儲存你的變更。 如果沒有開啟,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),請查看它。 |
| 清除數據 | 清除已指定的聊天和管理員。 |
| 在聊天中發佈新版本(Post new versions in chat) | 有更新時,在聊天中發佈一次新版本號。預設:開啟。 |
| 資訊欄 | 顯示 聊天 ID(Chat ID)、管理員 ID(Admin ID),在 Discord 上還會顯示 聯盟 ID(Guild ID,也就是你的伺服器)。 |
如果聊天機器人連不上,它會在 15 秒後重試,之後每次等待更久,最長每 5 分鐘一次。token 錯誤,或 Discord 的 Message Content Intent 沒有開啟時,它會直接顯示錯誤並停止,不再重試。
指令
只有聊天機器人的管理員可以在用 set 設定的聊天中使用這些指令。指令可以用 /、! 或 , 開頭。在 Discord 上它們也是斜線指令,輸入時帳號欄位會自動建議帳號名稱。
在 Discord 上,斜線指令只對擁有 管理伺服器(Manage Server)權限的成員顯示。要讓其他身分組也能看到,請開啟 伺服器設定 > 整合(Server Settings > Integrations),選擇你的機器人並允許該身分組。帳號框會比對名稱中的任何部分或 IGG ID 的開頭,並顯示每個帳號是否在執行。如果某個指令無法使用,回覆只有你自己看得到。
在 Telegram 上,點擊訊息框旁的 / 選單按鈕即可選擇指令。傳送 、、、、 或 時不寫帳號,機器人會為每個帳號回覆一個按鈕;點擊其中一個即可對該帳號執行指令。
/help列出所有指令。
/status [all]顯示有多少帳號在執行、在遊戲中,並列出執行中的帳號和它們的狀態。加上 all 也會列出已停止的帳號。
/qstatus顯示在線和離線的帳號數量。
/screenshot傳送主視窗的截圖。
/log IGG ID or name以檔案傳送帳號的日誌。
/shortlog IGG ID or name以訊息傳送帳號日誌的最後一部分。
/start IGG ID or name啟動帳號。
/stop IGG ID or name停止帳號。
/startall [tag]啟動所有未執行的帳號。帶上標籤(Tag 欄)時,只啟動這些帳號。
/stopall [tag]停止所有執行中的帳號。帶上標籤時,只停止這些帳號。
/info IGG ID or name顯示單個帳號:狀態、目前動作、城堡、戰力、聯盟、水晶、護盾和反偵察剩餘時間、佇列、執行時間和代理。
/restart IGG ID or name停止該帳號並重新啟動。
/shields [hours]列出遊戲中沒有護盾的帳號,然後是在指定小時內(預設 2)護盾結束的帳號,最早結束的在前。
/problems列出需要處理的帳號:每個帳號停止的原因(例如存取金鑰過期、被封鎖或達到帳號上限)和多久以前,以及正在執行但已離開遊戲 10 分鐘或更久的帳號。
/mute [minutes]暫停帳號通知指定分鐘數(預設 60)。指令仍可使用。
/unmute恢復帳號通知。
/version顯示正在執行的版本,以及是否有更新。
/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) | 帳號離線時(每次離線一次)、恢復連線時,以及你啟動它後第一次連線時。 |
| 僅在離線超過(分鐘)後(Only after offline for (min)) | 大於 0 時,帳號離線滿這麼多分鐘才會發佈離線訊息;在這段時間內重新連線則不發佈任何訊息。0 表示立即發佈。 |
| 其他登錄(Other Login) | 有其他人登入這個帳號時。 |
| 計劃狀態(Schedule Status) | 排程 休息開始和結束時,以及帳號在休息期間登入檢查任務時。 |
| 接近 RSS 限制(Nearing RSS limit) | 糧食、石料、木材、礦石或金幣達到 40 億、接近遊戲上限時。 |
| 通知來襲的集結 / 攻擊(Post incoming rallies / attacks) | 有集結或攻擊衝著城堡而來時,會標記管理員。每次攻擊只通知一次:要等瞭望塔清空後才會有下一則通知。 |
| 上傳統計數據(Upload Stats) | 把這個帳號儲存的統計報告(禮物統計、聯盟名單和聯盟總動員統計,在 聯盟頁面 中開啟)以檔案形式發到用 加入這個帳號的聊天中。在你這樣設定之前,不會發送任何內容。開啟後,從該聊天傳送的銀行指令 也會以檔案上傳報告。全域設定和模板不會更改它:請在每個帳號中開啟。 |
開啟 在Chatbot中發佈狀態 時,有些通知一定會發送,例如帳號被封鎖或停權時,或達到你的帳號上限時。
同時到達的通知會合併成一則訊息發送。多個帳號有同樣的通知時,只發佈一次,並在下面列出這些帳號。
還是無法解決嗎?到 Discord 詢問我們的工作人員。