簡體   English   中英

Client.guilds.get() 未按預期工作

[英]Client.guilds.get() not working as intended

我正在為我的朋友寫一個 Discord 機器人,當我為他制作彩虹色的角色功能時,我遇到了一個大錯誤。

首先,這是我的代碼:

var guild = client.guilds.get("493432486148177923")
var role = guild.roles.get("501752627709870080");
var role2 = guild.roles.get("493436150019784704");
setInterval(() => {
  role.setColor([Math.floor(Math.random() * 255), Math.floor(Math.random() * 255), Math.floor(Math.random() * 255)])
  role2.setColor([Math.floor(Math.random() * 255), Math.floor(Math.random() * 255), Math.floor(Math.random() * 255)])
}, 8000)

一切都停在guild變量上。 它給了我空/未定義,當去guild.roles.get()時,它導致我的程序崩潰。 我嘗試使用.find()而不是.get()來查找公會,但這也沒有用。

我不知道您是否仍在尋找答案,但我剛剛遇到了同樣的問題。 經過一番調查,我想出了一個解決方案:

var server = client.guilds.cache.get(serverID);

這對我有用。 希望能幫助到你!

我無法解釋為什么會發生這種情況,但我目前使用的方法是:

var g = client.guilds.get("GUILD-ID");
var c = g.channels.get("CHANNEL-ID");

或者在一行中:

var c = client.guilds.get("GUILD-ID").channels.get("CHANNEL-ID");

不和諧.js v13

這作為Client.guilds.get()工作:

var guild = undefined;
client.guilds.cache.forEach(g => { //Every guild
    if (g.id === "493432486148177923") { //Verify the guild's ID
        return guild = c;
    }
})

//If guild doesn't exist: guild = undefined

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM