Вы, похоже, делаете здесь несколько вещей, если вы просто хотите пересылать сообщения из Minecraft на канал Discord, вам не нужно обрабатывать событие message
, генерируемое из API Discord, только событие chat
испускается Mineflayer.Будьте внимательны при определении клиента Discord, так как вы хотите сделать const client = Discord.Client();
, а не const client = Discord.client();
.Вы не можете просто сделать .channels.get()("500693869684326430").send(message)
в вашем обработчике событий.camen6ert предложил использовать message.channels.get("540620424426422272").send(message)
в качестве возможного решения, однако это не сработает, так как вы хотите использовать событие, генерируемое Mineflayer, а не Discord, когда вы хотите получить конкретный идентификатор канала, я бы предложил использовать client.channels.get('ID').send('Message content');
Попробуйте это:
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;
client.channels.get("540620424426422272").send(message)
});
client.login('token');