当前位置: 首页 > 知识库问答 >
问题:

如何检查用户是否可以接受DMs

傅琦
2023-03-14

我有一个可以工作的DM命令,但如果我尝试DM一个关闭了DMs的人,user.send('test')会给出以下错误:

UnhandledPromiseRejectionWarning:DiscordApiError:无法向此用户发送消息

我如何让它检查用户是否打开了DMs?

共有1个答案

敖子安
2023-03-14

不幸的是,user对象上没有任何属性可以告诉您是否可以DM它们。但是,您可以将.send()方法包装在try-catch块中。如果它抛出,则不会发送消息:

const user = message.mentions.users.first();

try {
  await user.send('test');
  message.channel.send(`Message sent to ${user}`);
} catch (error) {
  console.log(error);

  message.channel.send(`I couldn't message ${user}`);
}
 类似资料:
  • 问题内容: 我最近在一个项目中遇到此问题:有一个嵌套的对象链,例如:类A包含类B的实例变量,而该类又具有类C的实例变量,…,直到在类中有一个节点为止。 Z类树。 每个类为其成员提供获取器和设置器。父A实例由XML解析器创建,并且链中的任何对象为null都是合法的。 现在想象一下,在应用程序中的某个点上,我们有一个对A实例的引用,并且仅当它包含Z对象时,我们才必须在其上调用一个方法。使用常规检查,我

  • valgrind快速启动页面提到: 这将我引向这样一个问题:是否有充分的理由不在生产中从程序中消除这样的错误?发布包含此类错误的程序有什么好处吗?如果有,开发人员如何保护它的安全,尽管据我所知,包含此类错误的程序可以不可预测地运行,并且无法对其行为做出一般假设?如果是这样,你能提供真实世界的例子,说明程序运行时有这些错误比没有错误更好吗?

  • 问题内容: 我正在尝试使用iText的PdfReader来检查给定的PDF文件是否受密码保护,但是却遇到此异常: 线程“主线程”中的异常java.lang.NoClassDefFoundError:org / bouncycastle / asn1 / ASN1OctetString 但是,当针对非密码保护的文件测试相同的代码时,它运行良好。这是完整的代码: 问题答案: 从此处使用Apache P

  • 所以,我正在尝试检查用户是否在某个消息中被@过。这就是我目前拥有的: (它包装在客户端中。当检测到消息发送时) 我在这里做错了什么?

  • 本文向大家介绍如何使用jQuery检查div是否可见?,包括了如何使用jQuery检查div是否可见?的使用技巧和注意事项,需要的朋友参考一下 您可以使用.is(':visible')选择所有可见的元素。 示例

  • 问题内容: 如何用Java代码检查当前的JVM是否有无限强度的加密可用? 问题答案: 我认为您可能可以使用Cipher.getMaxAllowedKeyLength(),同时还将您使用的密码与已知的“良好”安全密码(例如AES)列表进行比较。 这是一篇参考文章,列出了自Java 1.4起当前最大的密钥大小管辖权限制(除非法律也有所改变,否则这些可能没有改变-参见下文)。 如果您在有密码进出口限制的