У меня была идея создать бот-диск, который может запускать сервер minecraft на моей машине, если кто-то отправит правильное сообщение в канале диссонанса, а затем сможет отправлять сообщения между сервером minecraft и каналом диссонанса.
Проблема в том, что я не могу понять, как
1) запустить сервер minecraft, чтобы код python мог отправлять команды через него
2) читать журнал сервера Minecraft, не останавливая всю мою программу
У меня была другая идея запустить 2 отдельных файла, которые могли бы как-то общаться, чтобы сделать это возможным.
Я знаю, что вы не должны делать это, но это весь мой код
import discord, subprocess, asyncio, os
class MyClient(discord.Client):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.args = ['java', '-jar', 'server.jar']
self.directory = 'D:\MC SERVER 2k19'
self.runing = False
self.server = False
def server_command(self, cmd):
self.server.stdin.write(cmd + "\n")
async def on_ready(self):
print("ready to work")
async def on_message(self, message):
if message.content.startswith("R please host"):
self.server = subprocess.Popen(self.args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, cwd=self.directory)
await message.channel.send("try and join in 15 sec")
elif message.content.startswith("tell the people"):
mes = str(message.author) + " says " + message.content[16:len(message.content)]
print(mes)
self.server_command(mes)
client = MyClient()
client.run("token")
Что я пытаюсь сделать на самом деле возможно, используя 1 файл?
Как я должен идти о кодировании этого?
Спасибо.