бот Minecraft, который отправляет сообщения, которые говорят в чате Minecraft в канале раздора - PullRequest
0 голосов
/ 03 февраля 2019

Здравствуйте, я довольно новичок в javascript и пытаюсь создать бота для майнкрафта, который регистрирует чат и отправляет сообщения, сказанные в чате, на канал разногласий.

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');

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Вы, похоже, делаете здесь несколько вещей, если вы просто хотите пересылать сообщения из 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');
0 голосов
/ 03 февраля 2019

Я думаю, что вы должны написать

client.on("message"....)

А откуда берутся переменные каналы?Может быть:

message.channels.get("540620424426422272").send(message)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...