const { Client, GatewayIntentBits, Events } = require('discord.js'); const { Rcon } = require('rcon-client'); const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent] }); const TOKEN = 'MTI4MTM3OTY5NDY4MzM2MTQyNA.GJuMks.RcB6i2oosYwQ2281QojtVjrqUMUSTP7QmgWTzE'; // Discord bot token'ı const RCON_HOST = '5.180.104.180'; // Minecraft sunucunun IP adresi const RCON_PORT = 25640; // Rcon port numarası const RCON_PASSWORD = 'YOUR_PASSWORD'; // Rcon şifrenizi buraya girin // İzin verilen kullanıcı ID'leri const ALLOWED_USER_IDS = ['123456789012345678', '987654321098765432', '112233445566778899']; client.once('ready', () => { console.log(`Bot ${client.user.tag} olarak giriş yaptı.`); // Botun oynuyor durumunu ayarla client.user.setPresence({ activities: [{ name: 'Minecraft ile oynuyor', type: 0 }], // 0 -> PLAYING status: 'online', }); }); client.on(Events.MessageCreate, async message => { if (message.author.bot) return; // Botlardan gelen mesajları işleme // Mesaj gönderen kişinin ID'sini kontrol et console.log(`Mesaj gönderen kullanıcı ID'si: ${message.author.id}`); if (!ALLOWED_USER_IDS.includes(message.author.id)) { console.log('İzin verilmeyen kullanıcı.'); return message.reply("Bu komutu kullanma izniniz yok."); } // Komutları kontrol et if (message.content.startsWith('/minecraft ')) { const command = message.content.slice(11).trim(); // 'stop' komutunu engelle if (command.toLowerCase() === 'stop') { return message.reply("Bu komutu çalıştırma izniniz yok."); } try { console.log('Connecting to RCON...'); const rcon = await Rcon.connect({ host: RCON_HOST, port: RCON_PORT, password: RCON_PASSWORD }); console.log('Sending command...'); const response = await rcon.send(command); message.channel.send(`Komut çalıştırıldı: ${response}`); await rcon.end(); } catch (error) { console.error('RCON error:', error); message.channel.send(`RCON bağlantı hatası: ${error.message}`); } } }); client.login(TOKEN);