const { Client, Intents } = require('discord.js'); const { exec } = require('child_process'); const path = require('path'); const { Server } = require('minecraft-server-util'); // Bot token'ını buraya gir const DISCORD_TOKEN = 'YOUR_DISCORD_BOT_TOKEN'; // Minecraft sunucu bilgileri const MINECRAFT_SERVER_IP = 'YOUR_MINECRAFT_SERVER_IP'; // Minecraft sunucu IP adresi const MINECRAFT_SERVER_PORT = 25565; // Minecraft sunucu portu, varsayılan olarak 25565 // Minecraft sunucu kontrol komut dosyalarının dizini const COMMANDS_DIR = '/path/to/commands/'; // Komut dosyalarının bulunduğu dizin const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] }); client.once('ready', () => { console.log(`Bot connected as ${client.user.tag}`); }); client.on('messageCreate', async message => { if (!message.content.startsWith('!') || message.author.bot) return; const args = message.content.slice(1).trim().split(/ +/); const command = args.shift().toLowerCase(); if (command === 'status') { try { const response = await Server.query(MINECRAFT_SERVER_IP, MINECRAFT_SERVER_PORT); const status = `Sunucu: ${MINECRAFT_SERVER_IP}:${MINECRAFT_SERVER_PORT}\n` + `Online oyuncular: ${response.players.online}\n` + `Max oyuncu kapasitesi: ${response.players.max}\n` + `Sunucu mesajı: ${response.description}`; message.channel.send(status); } catch (error) { message.channel.send(`Sunucu bilgileri alınamadı: ${error.message}`); } } else if (command === 'mute') { const minecraftCommand = args.join(' '); // Komutta kullanılacak argümanları al exec(`screen -S minecraft -p 0 -X stuff "${minecraftCommand}\n"`, (error, stdout, stderr) => { if (error) { message.channel.send(`Komut gönderilemedi: ${error.message}`); return; } message.channel.send(`Komut gönderildi: ${minecraftCommand}`); }); } else if (command === 'start') { exec(path.join(COMMANDS_DIR, 'start-minecraft-server.sh'), (error, stdout, stderr) => { if (error) { message.channel.send(`Sunucu başlatılamadı: ${error.message}`); return; } message.channel.send(`Sunucu başlatıldı: ${stdout}`); }); } else if (command === 'stop') { exec(path.join(COMMANDS_DIR, 'stop-minecraft-server.sh'), (error, stdout, stderr) => { if (error) { message.channel.send(`Sunucu durdurulamadı: ${error.message}`); return; } message.channel.send(`Sunucu durduruldu: ${stdout}`); }); } else if (command === 'restart') { exec(path.join(COMMANDS_DIR, 'restart-minecraft-server.sh'), (error, stdout, stderr) => { if (error) { message.channel.send(`Sunucu yeniden başlatılamadı: ${error.message}`); return; } message.channel.send(`Sunucu yeniden başlatıldı: ${stdout}`); }); } }); client.login(DISCORD_TOKEN);