Linux123123 / JSPteroAPI

Pterodactyl API using undici
MIT License
6 stars 3 forks source link

Doesn't Delete Server #109

Open Luxerate opened 9 months ago

Luxerate commented 9 months ago

Here's the code I am working with: const { Client, Intents } = require('discord.js'); const node = require('jspteroapi');

const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES], });

const host = 'X'; const apiKey = 'x'; const application = new node.Application(host, apiKey); const allowedChannelId = 'x'; // Replace with your desired channel ID

async function deleteServerAndUser(serverId) { try { console.log(Fetching server information for ID ${serverId}); const serverInfo = await application.getServerInfo(serverId); console.log('Server Information:', serverInfo);

const ownerId = serverInfo.user;
console.log(`User extracted from serverInfo: ${ownerId}`);

console.log(`Deleting server with ID ${serverId}`);
const deleteServerRes = await application.deleteServer(serverId);
console.log(deleteServerRes)

if (deleteServerRes.headers['content-type'].includes('json')) {
  console.log(`Server deletion successful.`);
} else {
  console.log(`Server deletion failed. Unexpected response format.`);
}

console.log(`Deleting user with ID ${ownerId}`);
const deleteUserRes = await application.deleteUser(ownerId);
console.log('User deletion response:', deleteUserRes.data);

if (deleteUserRes.headers['content-type'].includes('json')) {
  console.log(`User deletion successful.`);
} else {
  console.log(`User deletion failed. Unexpected response format.`);
}

// Return user information
return { user: ownerId };

} catch (error) { console.error(Error deleting server and user for ID ${serverId}: ${error.message}); throw error; } }

client.on('messageCreate', async (message) => { try { if (message.author.bot || message.channel.id !== allowedChannelId) return;

const serverId = message.content.trim();
if (!serverId || isNaN(serverId)) return;

const serverIdInt = parseInt(serverId, 10); // Convert to integer

console.log(`Received command to delete server and user for ID ${serverIdInt}`);

const extractRes = await deleteServerAndUser(serverIdInt);
console.log(`User and server deleted for ID ${serverIdInt}`, extractRes);
message.channel.send(`User and server deleted for ID ${serverIdInt}`);

} catch (error) { console.error(Error: ${error.message}); message.channel.send(Error: ${error.message}); } }); client.on('ready', () => { console.log('Bot is now connected and ready.'); });

client.on('error', (error) => { console.error('Discord client error:', error.message); });

client.login(' X ');

And here's the response: Bot is now connected and ready. Received command to delete server and user for ID 6771 Fetching server information for ID 6771 Server Information: { id: 6771, external_id: null, uuid: '192dbb51-afc9-4d58-bfb4-70a9f44c3fa9', identifier: '192dbb51', name: 'ew', description: '', status: null, suspended: false, limits: { memory: 0, swap: 0, disk: 0, io: 500, cpu: 0, threads: null, oom_disabled: true }, feature_limits: { databases: 0, allocations: 0, backups: 0 }, user: 4538, node: 6, allocation: 394, nest: 1, egg: 1, container: { startup_command: 'java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}', image: 'ghcr.io/pterodactyl/yolks:java_17', installed: 1, environment: { MINECRAFT_VERSION: 'latest', SERVER_JARFILE: 'server.jar', DL_PATH: '', BUILD_NUMBER: 'latest', STARTUP: 'java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}', P_SERVER_LOCATION: 'Germany', P_SERVER_UUID: '192dbb51-afc9-4d58-bfb4-70a9f44c3fa9', P_SERVER_ALLOCATION_LIMIT: 0 } }, updated_at: '2024-01-27T14:20:13+00:00', created_at: '2024-01-27T14:20:09+00:00' } User extracted from serverInfo: 4538 Deleting server with ID 6771 Error deleting server and user for ID 6771: Unexpected token '<', "<!DOCTYPE "... is not valid JSON Error: Unexpected token '<', "<!DOCTYPE "... is not valid JSON

I don't knows what's wrong with it and why it expects JSON.

Linux123123 commented 9 months ago

Can you provide the full JSPteroAPI error stack trace? Not only the error.message.