Discord.js突击队广播所有命令错误

Discord.js突击队广播所有命令错误,discord.js,commando,Discord.js,Commando,我试图让广播命令向公会的所有文本频道发送消息。我当前的代码如下所示: const discord=require('discord.js'); const Commando=require('discord.js Commando'); module.exports=类广播命令扩展Commando.Command{ 建造商(客户){ 超级(客户、{ 名称:'广播', 别名:['bcast','bc'], 组:“ebs”, memberName:'广播', 用户权限:['MANAGE_MESSAG

我试图让广播命令向公会的所有文本频道发送消息。我当前的代码如下所示:

const discord=require('discord.js');
const Commando=require('discord.js Commando');
module.exports=类广播命令扩展Commando.Command{
建造商(客户){
超级(客户、{
名称:'广播',
别名:['bcast','bc'],
组:“ebs”,
memberName:'广播',
用户权限:['MANAGE_MESSAGES'],
描述:'向紧急广播频道发送紧急广播',
示例:[“bc警报!在三角区象限B-3发现可疑实体!所有人员小心行事!”,
args:[
{
关键字:“文本”,
提示:“您想播放什么?”,
键入:“字符串”,
},
],
})
};
运行(消息,{text}){
让channel=msg.guild.channels.forEarch(channel=>{
if(channel.type==='text')channel.send(`${text}`){
tts:没错
};
})
}
};
我的问题是,它给了我一个使用它的错误。这就是错误:

11|EBS     |     at CommandoClient.emit (events.js:314:20)
11|EBS     |     at GuildMemberRemoveAction.handle (/home/nimbi/ebs/node_modules/discord.js/src/client/actions/GuildMemberRemove.js:20:62)
11|EBS     |     at GuildMemberRemoveHandler.handle (/home/nimbi/ebs/node_modules/discord.js/src/client/websocket/packets/handlers/GuildMemberRemove.js:9:38)
11|EBS     |     at WebSocketPacketManager.handle (/home/nimbi/ebs/node_modules/discord.js/src/client/websocket/packets/WebSocketPacketManager.js:108:65)
11|EBS     |     at WebSocketConnection.onPacket (/home/nimbi/ebs/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:336:35)
11|EBS     |     at WebSocketConnection.onMessage (/home/nimbi/ebs/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:299:17)
11|EBS     |     at WebSocket.onMessage (/home/nimbi/ebs/node_modules/ws/lib/event-target.js:120:16)
11|EBS     |     at WebSocket.emit (events.js:314:20)
11|EBS     |     at Receiver.receiverOnMessage (/home/nimbi/ebs/node_modules/ws/lib/websocket.js:789:20)
11|EBS     | /home/nimbi/ebs/EBS.sh: line 1: !#/bin/sh: No such file or directory
11|EBS     | (node:28491) DeprecationWarning: Collection#filterArray: use Collection#filter instead
11|EBS     | (Use `node --trace-deprecation ...` to show where the warning was created)
11|EBS     | /home/nimbi/ebs/EBS.sh: line 1: !#/bin/sh: No such file or directory
11|EBS     | (node:22022) DeprecationWarning: Collection#filterArray: use Collection#filter instead
11|EBS     | (Use `node --trace-deprecation ...` to show where the warning was created)
我正在想办法实现这个。这是我帮助一个朋友建立的Scfi LARP服务器所需要的

我在节点12.x上,使用Discord.JS Commando

我也试过:

const discord=require('discord.js');
const Commando=require('discord.js Commando');
module.exports=类广播命令扩展Commando.Command{
建造商(客户){
超级(客户、{
名称:'广播',
别名:['ebcast','bcast','bc','ebc'],
组:“ebs”,
memberName:'广播',
用户权限:['MANAGE_MESSAGES'],
描述:'向紧急广播频道发送紧急广播',
示例:[“bc警报!在三角区象限B-3发现可疑实体!所有人员小心行事!”,
args:[
{
关键字:“文本”,
提示:“您想播放什么?”,
键入:“字符串”,
},
],
})
};
运行(消息,{text}){
const channels=msg.guild.channels.filter(c=>c.guild&&c.type=='text');
Promise.all(channels.map(c=>c.send(`${text}`)){
tts:没错
};
}
};
然而,它给出了这个错误:

11|EBS     |     at WebSocketPacketManager.handle (/home/nimbi/ebs/node_modules/discord.js/src/client/websocket/packets/WebSocketPacketManager.js:108:65)
11|EBS     |     at WebSocketConnection.onPacket (/home/nimbi/ebs/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:336:35)
11|EBS     |     at WebSocketConnection.onMessage (/home/nimbi/ebs/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:299:17)
11|EBS     |     at WebSocket.onMessage (/home/nimbi/ebs/node_modules/ws/lib/event-target.js:120:16)
11|EBS     |     at WebSocket.emit (events.js:314:20)
11|EBS     |     at Receiver.receiverOnMessage (/home/nimbi/ebs/node_modules/ws/lib/websocket.js:789:20)
11|EBS     | /home/nimbi/ebs/EBS.sh: line 1: !#/bin/sh: No such file or directory
11|EBS     | (node:28491) DeprecationWarning: Collection#filterArray: use Collection#filter instead
11|EBS     | (Use `node --trace-deprecation ...` to show where the warning was created)
11|EBS     | /home/nimbi/ebs/EBS.sh: line 1: !#/bin/sh: No such file or directory
11|EBS     | (node:22022) DeprecationWarning: Collection#filterArray: use Collection#filter instead
11|EBS     | (Use `node --trace-deprecation ...` to show where the warning was created)
11|EBS     | /home/nimbi/ebs/EBS.sh: line 1: !#/bin/sh: No such file or directory
11|EBS     | (node:22853) DeprecationWarning: Collection#filterArray: use Collection#filter instead
11|EBS     | (Use `node --trace-deprecation ...` to show where the warning was created)
我试过的另一件事是:

const discord=require('discord.js');
const Commando=require('discord.js Commando');
module.exports=类广播命令扩展Commando.Command{
建造商(客户){
超级(客户、{
名称:'广播',
别名:['ebcast','bcast','bc','ebc'],
组:“ebs”,
memberName:'广播',
用户权限:['MANAGE_MESSAGES'],
描述:'向紧急广播频道发送紧急广播',
示例:[“bc警报!在三角区象限B-3发现可疑实体!所有人员小心行事!”,
args:[
{
关键字:“文本”,
提示:“您想播放什么?”,
键入:“字符串”,
},
],
})
};
运行(消息,{text}){
const channel_list=msg.guild.channels.find(c=>c.id==['759042556972630036','759042556972630037','759042556972630038','75906157386867405312','759042556536553557','759801988560322611','759116305218666496']
返回channel_list.send(`${text}`){
tts:没错
};
}
};

然而,这也失败了。

你的思路是正确的。最大的问题是定义
.send
函数的外部

检查下面的代码示例,并尝试一下

run(msg,{text}){
//注意:如果您使用的是Discord JS版本12.0.0或更高版本,则需要使用“.channels.cache”
//如果您使用的是Discord JS 11.1.0或更低版本,请删除“.cache”
msg.guild.channels.cache
.filter(channel=>channel.type=='text')
.forEach((文本频道)=>{
send(text,{tts:true});
});
}