Я пытаюсь создать несогласного бота, который примет команду для запуска сервера Minecraft и нажмет кнопку на отдельном веб-сайте, чтобы запустить указанный сервер. Код нажатия кнопки запускается из файла python, но мой бот сделан в node.js. Есть ли способ, которым я мог бы создать что-то, что позволяет node.js использовать файл python? Я начал с оболочки python, но не могу заставить ее работать.
Node.js код:
const { prefix } = require('config.json');
const Discord = require('discord.js');
const client = new Discord.Client();
const token = process.env.DISCORD_BOT_SECRET;
const aternosusername = process.env.ATERNOSUSERNAME;
const aternospassword = process.env.ATERNOSPASSWORD;
const keep_alive = require('./keep_alive.js')
var sleep = require('sleep');
//var PythonShell = require('python-shell');
const puppeteer = require('puppeteer')
client.on('ready', () => {
console.log("I'm in");
console.log(client.user.username);
});
client.on('message', msg => {
if (msg.content === 'Start Server'){
//PythonShell.run('serverstart.py', options, ClickStart() (err, results))
msg.channel.send('Starting Please Wait.........');
sleep.sleep(2);
msg.channel.send('Server is now starting. This will take 5 to 8 mins.');
ClickStart();
}
});
async function ClickStart () {
const browser = await puppeteer.launch({headless:false});
const page = await browser.newPage();
await page.waitFor(1000);
await page.goto('https://aternos.org/go/');
await page.authentication(credidentials);
await page.click('#user');
await page.keyboard.type('World', {delay: 100});
await page.click('#password');
await page.click('#login');
console.log('Loging In');
await page.waitForNavigation();
await page.click('#start');
console.log('Starting Server');
}
client.login(token);