通過從我的客戶端獲取一個頻道,我收到一個錯誤,說我的客戶端當時沒有登錄,所以我client.login()在請求頻道之前使用了我的 main.js,所以客戶端也將在正常啟動時登錄.
我現在問自己兩次登錄客戶端是否會導致任何問題。如果客戶端已經登錄,它是否只是被捕獲,或者是客戶端的副本啟動?
只是想知道我是否會遇到問題,但我沒有找到這個問題的任何答案:)
uj5u.com熱心網友回復:
經測驗,好像用同一個token登錄兩次會導致對方客戶端退出,甚至無法再次登錄。這意味著它不會生成“重復”客戶端。這是我使用的代碼:
const client = new Client({
intents: [
Intents.FLAGS.GUILDS,
Intents.FLAGS.GUILD_MESSAGES
]
})
const client2 = new Client({
intents: [
Intents.FLAGS.GUILDS,
Intents.FLAGS.GUILD_MESSAGES
]
})
client.login('...')
client2.login('...') //the tokens are the same
我們使用相同的client變數得到相同的結果。該messageCreate事件只運行了一次,而不是兩次(我能看出來是因為我的機器人只發送了一條關于該事件的訊息)
把它放在messageCreate事件里面似乎也沒什么區別。
正如我在頂部所說的,這個登錄也可能被簡單地忽略,因為我似乎沒有收到任何ready事件。
因為這幾點,我不會說登錄兩次就沒有問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/343245.html
上一篇:Blazor:自定義AuthenticationStateProvider從不回傳授權狀態
下一篇:Azure函式應用身份驗證登錄
