如何在Discord.JS V13中使用waitMessages [英] How to use awaitMessages in Discord.JS v13

查看:0
本文介绍了如何在Discord.JS V13中使用waitMessages的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此,我想等待来自用户使用的特定命令的消息。我知道过滤器可能有问题,但我现在不知道如何处理此问题。

我尝试了这样的操作:

const msg_filter = m => m.author.id === message.author.id;
message.channel.awaitMessages(msg_filter, {
    max: 1
});
但现在,我如何才能让它正常工作呢?因为我在谷歌上搜索了几个小时,也没有找到解决这个问题的方法。我只想从使用该命令的同一用户那里获取一条消息(我只能从bot获取消息,仅此而已)。

推荐答案

Here's a link to the documentation on TextChannel#awaitMessages

但简而言之,awaitMessages返回您必须解析的承诺,如下所示:

const msg_filter = (m) => m.author.id === message.author.id;
const collected = await message.channel.awaitMessages({ filter: msg_filter, max: 1 });

// Or without async/await
const msg_filter = (m) => m.author.id === message.author.id;
message.channel.awaitMessages({ filter: msg_filter, max: 1 })
  .then((collected) => {
    // ...
  });

collected将是消息的Collection。由于您只收集了1条消息,因此您可以使用collected.first()获取集合中的第一条(也是唯一条)消息,然后您可以从那里获取它的.content.reply(),或者执行您想要对消息执行的任何其他操作。

这篇关于如何在Discord.JS V13中使用waitMessages的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆