首页 > 解决方案 > 如何将命令结果从通道重定向到另一个?

问题描述

我有一个不和谐的机器人,我做了一个“说”命令。
我想将命令的结果重定向到不同的频道。例如,我!say hey在通道“A”中编写命令,但消息在通道“B”中发送。

const Discord = require("discord.js");

module.exports.run = async (bot, message, args) => {
  if (!message.member.hasPermission("ADMINISTRATOR")) return;
  const sayMessage = args.join(" ");
  message.delete().catch();
  message.channel.send(sayMessage);
}

module.exports.help = {
  name: "say"
}

标签: javascriptdiscord.js

解决方案


我有一段时间没有使用 discord.js,但我相信这是因为您正在使用.channel您收到的消息的属性。
例如:消息在通道 1 上接收,因此使用其通道属性将在通道 1 上发送它。

您要做的是获取对您希望将其发送到的频道的引用,然后使用该频道.send方法。

如下所示,您需要找到要发布到的频道的 ID。

client.channels.get(theChannelID).send('My Message');

推荐阅读