[英]When running getting: TypeError: Cannot read properties of undefined (reading 'send')
運行代碼時出現此錯誤,我的研究表明它的發送不可用或未定義,我不完全理解它或如何修復它。
編碼:
const { SlashCommandBuilder } = require('@discordjs/builders');
const { Client, Collection, Intents, MessageEmbed } = require('discord.js');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS] })
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
const channel = client.channels.cache.get('997960087249371136');
do {
sleep(1000)
let number = Math.floor(Math.random() * 5);
if(number = 1) {
channel.send("Carrier under attack!")
} else if(number = 2) {
channel.send("Carrier leak detected in lower quaters!")
} else if(number = 3) {
channel.send("All is quiet, for now.")
} else if(number = 4) {
channel.send("Unidentified aircraft entering our airspace!")
} else {
console.log("The impossible is possible!")
}
}
while(true);
我知道渠道確實存在。
您剛剛創建了客戶端,尚未使用令牌登錄,這就是為什么“client.channels.cache”為空且尚不包含任何通道的原因。 要解決此問題,您必須將所有內容都放在“就緒”事件中
您的代碼還有其他一些問題:
const { SlashCommandBuilder } = require('@discordjs/builders');
const { Client, Collection, Intents, MessageEmbed } = require('discord.js');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS] })
client.on('ready', async () =>{
const channel = client.channels.cache.get('997960087249371136');
do {
await sleep(1000)
let number = Math.floor(Math.random() * 5);
if(number == 1) return channel.send("Carrier under attack!")
else if(number == 2) return channel.send("Carrier leak detected in lower quaters!")
else if(number == 3) return channel.send("All is quiet, for now.")
else if(number == 4) return channel.send("Unidentified aircraft entering our airspace!")
else return channel.send("The impossible is possible!")
} while(true);
})
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
client.login("YOUR TOKEN")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.