本文介紹了Discord.js:message.guild.channels.forEach 不是函數(shù)的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我正在使用 Discord.js 創(chuàng)建一個(gè) Discord 機(jī)器人
I'm creating a Discord Bot using Discord.js
我正在創(chuàng)建靜音命令,但當(dāng)我想為每個(gè)頻道禁用靜音角色的發(fā)言權(quán)限時(shí),我收到此錯(cuò)誤:
I'm creating a mute command but when I want to disable speaking permission for the Mute role for each channel, I get this error:
TypeError: message.guild.channels.forEach is not a function
我有 V12.我查看了其他一些選項(xiàng),但找不到任何可行的選項(xiàng).
I have V12. And I looked at some other options but I couldn't find any working options.
if(!toMute) return message.reply('It looks like you didnt specify the user!');
if(toMute.hasPermission('MANAGE_MESSAGES')) return message.reply("can't mute them");
let muterole = message.guild.roles.cache.find(r => r.name === 'muted');
if(!muterole){
try{
muterole = await message.guild.roles.create({
name: "muted",
color: "#000000",
permissions: []
})
message.guild.channels.forEach(async (channel, id) => {
await channel.overwritePermission(muterole, {
SEND_MESSAGES: false,
ADD_REACTIONS: false
});
});
}catch(e){
console.log(e.stack);
}
} return message.channel.send('Cant')
let mutetime = args[1];
if(!mutetime) return message.reply('You didnt specify the time');
await(toMute.addRole(muterole.id));
message.reply(`Successfully muted <@${toMute.id}> for ${ms(mutetime)}`);
setTimeout(function(){
toMute.removeRole(muterole.id);
message.channel.send(`<@${toMute.id}> has been unmuted!`);
}, ms(mutetime));
}
推薦答案
請(qǐng)嘗試
message.guild.channels.cache.forEach((channel)=>{
...
})
參考:https://discord.js.org/#/docs/main/stable/class/GuildChannelManager?scrollTo=cache
這篇關(guān)于Discord.js:message.guild.channels.forEach 不是函數(shù)的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!
【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!