我想知道 Discord 机器人是否有可能检查机器人试图向 DM 发送的特定用户是否接受直接消息。现在这是我的代码:
exports.run = (client, message) => {
try {
message.author.send(`:ok_hand:`);
} catch (err) {
message.reply('Cannot send Direct Messages to your user!');
}
}
Run Code Online (Sandbox Code Playgroud)
但我希望代码能够在尝试向用户发送消息之前判断用户是否正在接受直接消息。这是可行的吗?
我现在正在为运行时创建一个 Discord bot 命令,我想知道什么是最紧凑(并且仍然正确)的运行时方式来捕获 bot 实际在线的时间并以 24 小时格式返回它。
因此,我在设置机器人时遇到了问题,该机器人将用户扮演包括表情在内的角色。例:
const guildMember = message.member;
guildMember.addRole('<@&439191493169643521>');
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
// content.js
const guildMember = message.member;
guildMember.addRole(config.n);
// config.json
{
"n": "Fox"
}
Run Code Online (Sandbox Code Playgroud)
而且我也尝试了不使用config.json的情况,只是输入了原始排名名称,但它始终不起作用。
这是控制台:
(node:15600) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Supplied parameter was neither a Role nor a Snowflake.
(node:15600) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Run Code Online (Sandbox Code Playgroud) 当我编写 guildMemberAdd 和 guildMemberRemove 时,我遇到了一个问题......所以,我想知道,你如何从用户加入时获取用户名和鉴别符?当我试图member.username和member.discriminator它记录为undefined与undefined
代码下面,没有被印在这个问题上安慰:
exports.run = (client, member) => {
member.guild.channels.find(`name`, `mod-logs`).send({embed: {
"color": 8311585,
"footer": {
"text": "Bot made by: Pawxeric#0858"
},
"author": {
"name": "New Member",
"icon_url": member.avatarURL
},
"fields": [
{"name": `${member.username}#${member.discriminator}`, // logs as undefined#undefined
"value": "Joined"}
]
}});
}
Run Code Online (Sandbox Code Playgroud)
此外,代码在获取使用该member值的任何内容时遇到问题。像avatarURL、username、 和discriminator。如果有什么我遗漏的地方,请在下面分享:3c