Minecraft 服务器客户端通过 Discord Bot
Posted
技术标签:
【中文标题】Minecraft 服务器客户端通过 Discord Bot【英文标题】:Minecraft Server Client via Discord Bot 【发布时间】:2019-09-04 08:31:21 【问题描述】:目前我正在尝试设置一个不和谐机器人,它将我登录到服务器,并将玩家发送的消息传送到不和谐频道。我不是管理员,服务器上也没有任何与员工相关的东西,所以我无法ftp
和使用rcon
,我希望它让我的用户登录,并且只是来回传递消息。这可能吗?
所以,到目前为止,我已经通过npm packages
进行了尝试,但他们似乎都没有做我想做的事。
我正在尝试在运行 Windows 10 的家用计算机上托管 node.js discord.js
机器人。
我发现的npm packages
都没有我需要使用的东西。
【问题讨论】:
【参考方案1】:由于您不是管理员,如果您担心使用机器人,正如 @slothiful 所建议的那样,您还可以研究更费力的实时读取日志文件并解析它的方法。
您客户的日志文件位于 %appdata%/.minecraft/logs/latest.log 中
见
Reading a file in real-time using Node.js
用于读取正在写入的文件。
【讨论】:
【参考方案2】:mineflayer
在您的场景中应该很有用。下面是一些使用 Discord webhook 的示例代码...
const Discord = require('discord.js');
const webhook = new Discord.WebhookClient('ID HERE', 'TOKEN HERE');
const mineflayer = require('mineflayer');
const Minecraft = mineflayer.createBot(
host: '',
port: 25565,
username: 'mail@example.com',
password: '12345678'
);
Minecraft.on('chat', (username, message) =>
let embed = new Discord.RichEmbed()
.setColor('#0E9908')
.setThumbnail(`https://minotar.net/avatar/$username/512`)
.addField(username, message)
.setTimestamp();
webhook.send(embed);
);
如果您想改用机器人,同样的设置也可以使用;您只需在公会中找到您需要消息的频道,然后发送嵌入。
【讨论】:
以上是关于Minecraft 服务器客户端通过 Discord Bot的主要内容,如果未能解决你的问题,请参考以下文章