我在 discord.js 中制作头像机器人时遇到错误
I'm getting an error in making avatar bot in discord.js
我想为我的机器人发出 returns 用户头像的命令,但出现错误:
DiscordAPIError: Cannot send an empty message
at RequestHandler.execute (C:\Users\Pooyan\Desktop\PDM Bot Main\node_modules\discord.js\src\rest\RequestHandler.js:350:13)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async RequestHandler.push (C:\Users\Pooyan\Desktop\PDM Bot Main\node_modules\discord.js\src\rest\RequestHandler.js:51:14)
at async TextChannel.send (C:\Users\Pooyan\Desktop\PDM Bot Main\node_modules\discord.js\src\structures\interfaces\TextBasedChannel.js:175:15) {
method: 'post',
path: '/channels/885608990418010202/messages',
code: 50006,
httpStatus: 400,
requestData: {
json: {
content: undefined,
tts: false,
nonce: undefined,
embeds: undefined,
components: undefined,
username: undefined,
avatar_url: undefined,
allowed_mentions: undefined,
flags: undefined,
message_reference: undefined,
attachments: undefined,
sticker_ids: undefined
},
files: []
}
}
我的代码:
module.exports = {
name: 'avatar',
aliases: ['icon', 'pfp', 'profilepic'],
permissions: [],
cooldown: 5,
description: '!',
execute(message, args, client, Discord) {
if (!message.mentions.users.size) {
return message.channel.send(`**آواتار شما:** ${message.author.displayAvatarURL({ dynamic: true })}`);
}
const avatar_list = message.mentions.users.map(user => {
return ` آواتار**<@${user.id}>** ${user.displayAvatarURL({ dynamic: true })}`;
});
message.channel.send(avatar_list);
}
}
我正在使用 Discord.js v13,节点 16
Collection#map
returns 一个数组,你尝试 send
那个。由于只能发送一个字符串,所以可以使用Array#join
方法加入返回的数组:
const avatar_list = message.mentions.users.map((user) => {
return ` آواتار**<@${user.id}>** ${user.displayAvatarURL({ dynamic: true })}`;
});
message.channel.send(avatar_list.join('\n'));
我想为我的机器人发出 returns 用户头像的命令,但出现错误:
DiscordAPIError: Cannot send an empty message
at RequestHandler.execute (C:\Users\Pooyan\Desktop\PDM Bot Main\node_modules\discord.js\src\rest\RequestHandler.js:350:13)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async RequestHandler.push (C:\Users\Pooyan\Desktop\PDM Bot Main\node_modules\discord.js\src\rest\RequestHandler.js:51:14)
at async TextChannel.send (C:\Users\Pooyan\Desktop\PDM Bot Main\node_modules\discord.js\src\structures\interfaces\TextBasedChannel.js:175:15) {
method: 'post',
path: '/channels/885608990418010202/messages',
code: 50006,
httpStatus: 400,
requestData: {
json: {
content: undefined,
tts: false,
nonce: undefined,
embeds: undefined,
components: undefined,
username: undefined,
avatar_url: undefined,
allowed_mentions: undefined,
flags: undefined,
message_reference: undefined,
attachments: undefined,
sticker_ids: undefined
},
files: []
}
}
我的代码:
module.exports = {
name: 'avatar',
aliases: ['icon', 'pfp', 'profilepic'],
permissions: [],
cooldown: 5,
description: '!',
execute(message, args, client, Discord) {
if (!message.mentions.users.size) {
return message.channel.send(`**آواتار شما:** ${message.author.displayAvatarURL({ dynamic: true })}`);
}
const avatar_list = message.mentions.users.map(user => {
return ` آواتار**<@${user.id}>** ${user.displayAvatarURL({ dynamic: true })}`;
});
message.channel.send(avatar_list);
}
}
我正在使用 Discord.js v13,节点 16
Collection#map
returns 一个数组,你尝试 send
那个。由于只能发送一个字符串,所以可以使用Array#join
方法加入返回的数组:
const avatar_list = message.mentions.users.map((user) => {
return ` آواتار**<@${user.id}>** ${user.displayAvatarURL({ dynamic: true })}`;
});
message.channel.send(avatar_list.join('\n'));