我正在創建一個不和諧的機器人,我需要檢查命令的引數是否是有效的不和諧頻道 ID,我該怎么做?
uj5u.com熱心網友回復:
Client實體有一個channels屬性,因此您可以檢查客戶端是否正在通過 id 處理通道。
客戶端當前處理的所有Channel,由它們的 id 映射 - 只要不使用分片,這將是機器人所屬的每個公會中的每個通道。請注意,DM 通道最初不會被快取,因此在沒有顯式獲取或使用的情況下不會出現在管理器中。
client.channels.cache.get(channelId) ? true : false;
uj5u.com熱心網友回復:
如果您使用Slash Command( ApplicationCommandManager ) 并使用該.create(<ApplicationCommandData> [, <GuildID>])方法,
在ApplicationCommandData(物件)中,
您擁有options等待ApplicationCommandOptionData(物件)陣列的鍵。
而在這里面,你可以傳遞一個type“CHANNEL”的鍵。
type,name和description鍵是必需的,所以不要忘記這些。
這將在您使用該命令時添加一個新引數。
簡單的例子:
.create({
name: "test",
description: "Test command!",
options: [
{
name: "channel",
description: "Select a channel",
required: true, // optionnal
type: "CHANNEL",
},
],
})
有了這個,您可以確定您的引數是一個通道。
如果您使用帶有 的簡單命令系統message.content,請使用@Leau所說的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/398821.html
上一篇:CSS加載但不做任何事情
