import { Client, GatewayIntentBits } from 'discord.js'; import 'dotenv/config'; import Groq from 'groq-sdk'; import unirest from 'unirest'; const client = new Client({ intents: [ GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent, ] }); const DISCORD_LINUX_API_URL = 'https://api.ssh.surf'; const DISCORD_LINUX_API_KEY = process.env['DISCORD_LINUX_API_KEY']; const GROQ_API_KEY = process.env['GROQ_API_KEY']; const groqClient = new Groq({ apiKey: GROQ_API_KEY }); // Command handler async function execCommandInContainer(cmd) { const response = await unirest .post(`${DISCORD_LINUX_API_URL}/exec`) .headers({ 'Accept': 'application/json', 'Content-Type': 'application/json', 'x-ssh-auth': DISCORD_LINUX_API_KEY }) .send({ cmd }); return response.body; } // When the bot is ready client.once('ready', () => { console.log('Bot is ready!'); }); // Listen for messages client.on('messageCreate', async (message) => { if (message.author.bot) return; // Ignore bot messages if (message.content.startsWith('!goal ')) { const goal = message.content.replace('!goal ', '').trim(); if (!goal) { message.channel.send('Please specify a goal to achieve.'); return; } try { // Automate goal achievement const context = `Initial attempt. Goal: ${goal}`; const result = await automateGoal(context, goal); message.channel.send(result.success ? 'Goal achieved!' : 'Failed to achieve goal.'); } catch (error) { message.channel.send('An error occurred while processing the goal.'); } } // Interactive chat (if needed) if (message.content.startsWith('!chat ')) { const userMessage = message.content.replace('!chat ', '').trim(); try { const aiResponse = await chatWithAI('', userMessage); // Provide current context message.channel.send(aiResponse); } catch (error) { message.channel.send('An error occurred during the chat.'); } } }); // Start the bot client.login(process.env.BOT_TOKEN);