javascript - Discord.js - Bot 不会在日志中指定/提及频道
问题描述
尝试创建“清除”命令时,我希望使其删除消息,并在指定的日志通道中记录该操作。但是,日志不会指定执行命令的通道,我不确定如何让它提及通道。
这就是我所拥有的:
if (command === 'purge') {
if (
!message.member.roles.cache.some((r) => ['Indian Mod'].includes(r.name))
)
return message.reply('not high enough perms ``(MOD PERMS)``');
let member = message.mentions.members.first();
const channel11 = client.channels.cache.find(
(channel) => channel.id === 'id',
);
const deleteCount = parseInt(args[0], 10);
if (!deleteCount || deleteCount < 2 || deleteCount > 100)
return message.reply(
'Please provide a number between 2 and 100 for the number of messages to delete',
);
channel = message.guild.channels.cache.get('channelID');
const fetched = await message.channel.messages.fetch({
limit: deleteCount,
});
message.channel
.bulkDelete(fetched)
.catch((error) =>
message.reply(`Couldn't delete messages because of: ${error}`),
);
const embedmessagep = new Discord.MessageEmbed()
.setColor(`RANDOM`)
.setTitle('Purge Command Executed')
.setTimestamp()
.setFooter('DM me with any inquiries regarding bot API')
.addFields(
{ name: `Channel:`, value: `<\#${message.guild.id}>` },
{ name: `Moderator:`, value: `${message.author.tag}` },
{ name: `Number Deleted:`, value: `${deleteCount}` },
);
channel11.send(embedmessagep);
}
发生问题的行在嵌入中:
{ name: `Channel:`, value: `<\#${message.guild.id}>` },
解决方案
message.guild.id
是服务器 ID,而不是频道 ID。你的意思是message.channel.id
?
推荐阅读
- api - 类型:国家地区状态问题
- android - android不进入协程
- r - 为什么我在 R 的 DLNM(dlnm 包)中出现此错误?
- python - Woocommerce 产品抓取常规和销售价格未提取
- scipy - 最小化(方法='BFGS')和 scipy.optimize.fmin_bfgs 之间的区别
- hyperledger-fabric - 在 Hyperledger Fabric 上使用 testnetwork 创建通道时出错
- c# - .Net Core 3.1 MVC 身份验证个人用户帐户和 ASP.NET Core 项目中的脚手架身份
- nginx - 如何在 Nginx 上使用多个网站/路径提供静态内容?
- c# - Jetbrains Rider 无法在 .net 核心项目上运行测试
- r - R 字典使用字符串作为值还是只使用列表?