awaitMessages
是 Discord.js 库中的一个功能,它允许你在指定的文本频道(textChannel)中等待用户的消息,并对这些消息进行响应。这个功能在创建交互式命令和处理用户输入时非常有用。
awaitMessages
是一个异步函数,它接收一个过滤器和一个选项对象作为参数。过滤器用于确定哪些消息应该被接受,而选项对象可以包含诸如最大等待时间、是否允许多条消息等设置。
max
(最大接收消息数)、time
(等待时间,单位毫秒)、errors
(指定哪些错误类型应该导致函数返回)等。以下是一个使用 awaitMessages
的简单示例:
const Discord = require('discord.js');
const client = new Discord.Client();
client.on('message', async message => {
if (message.content === '!collect') {
const filter = m => m.author.id === message.author.id; // 只接受发送者的消息
const options = { max: 1, time: 10000, errors: ['time'] }; // 最多接收1条消息,等待10秒
try {
const collected = await message.channel.awaitMessages(filter, options);
message.channel.send(`你发送的消息是: ${collected.first().content}`);
} catch (e) {
message.channel.send('收集消息超时。');
}
}
});
client.login('your-token-here');
问题:awaitMessages
不触发或没有按预期工作。
原因:
解决方法:
message
事件监听器已正确添加到客户端。通过理解这些基础概念和常见问题,你可以更有效地使用 awaitMessages
来增强你的 Discord 机器人功能。
领取专属 10元无门槛券
手把手带您无忧上云