你好,我对javascript很陌生,我正在尝试制作一个minecraft机器人来记录聊天记录并将在聊天记录中说的消息发送到不和谐频道。
const Discord = require('discord.js');
const Mineflayer = require('mineflayer');
const client = new Discord.client();
var bot = Mineflayer.createBot({
host: "localhost",
port: 62146,
email: "username",
password: "password",
});
bot.on('chat', function(username, message) {
if (username === bot.username) return;
channels.get("540620424426422272").send(message)
});
on("message", function(message) {
.channels.get()("500693869684326430").send(message)
});
client.login('token');
答案 0 :(得分:0)
我认为你必须写
client.on("message"....)
可变渠道从何而来?也许:
message.channels.get("540620424426422272").send(message)
答案 1 :(得分:0)
您似乎在这里做了很多事情,如果您只想将消息从Minecraft转发到Discord频道,则无需处理Discord API发出的message
事件,只需处理{{ 1}}事件由Mineflayer发出。定义chat
而不是const client = Discord.Client();
时,请谨慎定义Discord客户。您也不能只在事件处理程序中执行const client = Discord.client();
。 camen6ert建议使用.channels.get()("500693869684326430").send(message)
作为可能的解决方案,但是由于您要使用Mineflayer而不是Discord发出的事件,因此不起作用,当您要获取特定的频道ID时,我建议使用{{ 1}}
尝试一下:
message.channels.get("540620424426422272").send(message)