97 lines
2.7 KiB
JavaScript
97 lines
2.7 KiB
JavaScript
require('dotenv').config();
|
|
const { Client } = require('discord.js-selfbot-v13');
|
|
const client = new Client();
|
|
const fs = require('fs');
|
|
const readline = require('readline');
|
|
|
|
const PREFIX = process.env.PREFIX || '.';
|
|
const MESSAGE_DELETE_TIMEOUT = 10000
|
|
|
|
client.commands = new Map();
|
|
|
|
const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
|
|
for (const file of commandFiles) {
|
|
const command = require(`./commands/${file}`);
|
|
client.commands.set(command.name, command);
|
|
}
|
|
|
|
client.on('ready', () => {
|
|
console.log(`Logged in as ${client.user.tag}! (DZ Loves you 2k25).`);
|
|
|
|
const rl = readline.createInterface({
|
|
input: process.stdin,
|
|
output: process.stdout,
|
|
prompt: `Console > `
|
|
});
|
|
|
|
console.log('Type commands without the prefix to execute them in console mode.');
|
|
console.log('--------------------------------------------------------');
|
|
rl.prompt();
|
|
|
|
rl.on('line', async (line) => {
|
|
const input = line.trim();
|
|
if (!input) {
|
|
rl.prompt();
|
|
return;
|
|
}
|
|
|
|
const args = input.split(/ +/);
|
|
const commandName = args.shift().toLowerCase();
|
|
|
|
if (!client.commands.has(commandName)) {
|
|
console.log(`Command not found: ${commandName}`);
|
|
rl.prompt();
|
|
return;
|
|
}
|
|
|
|
try {
|
|
const mockMessage = {
|
|
author: { id: client.user.id },
|
|
client: client,
|
|
channel: {
|
|
id: 'console',
|
|
send: (content) => {
|
|
console.log('\nCommand output:');
|
|
console.log(content);
|
|
return Promise.resolve({ delete: () => Promise.resolve() });
|
|
}
|
|
},
|
|
delete: () => Promise.resolve()
|
|
};
|
|
|
|
console.log(`Executing command: ${commandName}`);
|
|
await client.commands.get(commandName).execute(mockMessage, args, MESSAGE_DELETE_TIMEOUT);
|
|
} catch (error) {
|
|
console.error('Error executing command:', error);
|
|
}
|
|
|
|
rl.prompt();
|
|
});
|
|
});
|
|
|
|
client.on('messageCreate', async message => {
|
|
if (message.author.id !== client.user.id || !message.content.startsWith(PREFIX)) return;
|
|
|
|
const args = message.content.slice(1).split(/ +/);
|
|
const commandName = args.shift().toLowerCase();
|
|
|
|
if (!client.commands.has(commandName)) return;
|
|
|
|
const deleteDelay = 2000;
|
|
|
|
setTimeout(() => {
|
|
message.delete().catch(console.error);
|
|
}, deleteDelay);
|
|
|
|
try {
|
|
await client.commands.get(commandName).execute(message, args, MESSAGE_DELETE_TIMEOUT);
|
|
} catch (error) {
|
|
console.error(error);
|
|
message.channel.send('There was an error trying to execute that command!')
|
|
.then(sentMessage => {
|
|
setTimeout(() => sentMessage.delete().catch(console.error), MESSAGE_DELETE_TIMEOUT);
|
|
});
|
|
}
|
|
});
|
|
|
|
client.login(process.env.DISCORD_TOKEN); |