我正在思考这个问题。自动完成也不起作用。
有点开始与此,将是容易得多,如果它只是工作(工作以外的承诺)。
代码运行也没有任何问题。delete
方法也被识别,但不在那部分。
我在一个更大的项目中也有这个问题,这让我很困惑。
试着在网上找了几个小时的东西,但是找不到任何能帮助我的东西。希望我在某个时候没有失明:P
完整测试来源:
const Discord = require('discord.js');
const client = new Discord.Client();
client.on("message", message => {
if (message.content === 'test'){
message.channel.send('something').then(r => r.delete(5000));
}
});
问题:
3条答案
按热度按时间h22fl7wq1#
如果需要删除命令triget消息,可以使用
如果你使用需要删除响应消息一段时间后你的代码必须工作,但你可以尝试使用回复方法。
可能是discord.js版本有问题?在v.12版本中,您需要使用
msg.delete({ timeout: 10000 })
jvlzgdj92#
这只是意味着webstorm无法辨别promise解析后对象将具有哪些功能,这是因为discord.js中的message create action有多个返回类型,因此消息对象可能无法传递给r,例如在消息发送失败的情况下,可能是试图将消息发送到没有适当权限的通道。
如果在尝试调用.delete()之前添加一个检查来确认r与message是同一类型,我相信警告会消失。
您可以通过删除bot在通道中发送消息的权限,然后向同一通道发送“test”来观察此突出显示警告您的潜在错误。
smdnsysy3#
最近有错误,并找到了解决方案,例如,如果你想要一个文本通道,通过执行get,你可以有一个文本或语音。所以检查通道示例
TextChannel
(对于我的例子)