首页 > 解决方案 > 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}>` },

标签: javascriptnode.jsdiscord.js

解决方案


message.guild.id是服务器 ID,而不是频道 ID。你的意思是message.channel.id


推荐阅读