mirror of
https://github.com/arthur-pbty/selfbot-discord.git
synced 2026-06-03 23:36:23 +02:00
130 lines
4.2 KiB
TypeScript
130 lines
4.2 KiB
TypeScript
const { Events, ActivityType } = require("discord.js");
|
|
const addBaseInDB = require("../fonctions/addBaseInDB");
|
|
const { Client, RichPresence, CustomStatus } = require('discord.js-selfbot-v13');
|
|
import db from '../fonctions/instanceDB';
|
|
require('dotenv').config();
|
|
const joinVC = require('../fonctions/joinVC');
|
|
|
|
module.exports = {
|
|
name: Events.ClientReady,
|
|
async execute(client: any) {
|
|
if (process.env.DISCORD_LOG) {
|
|
const channelId = process.env.DISCORD_LOG.toString();
|
|
const channel = client.channels.cache.get(channelId);
|
|
if (channel) {
|
|
const originalConsoleLog = console.log;
|
|
console.log = function (...args) {
|
|
const message = args.join(' ');
|
|
const currentDate = new Date();
|
|
channel.send(`\`\`\`[${currentDate.toLocaleString()}] ${message}\`\`\``);
|
|
|
|
originalConsoleLog.apply(console, [`[${currentDate.toLocaleString()}]`, ...args]);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
await addBaseInDB(client);
|
|
console.log(`le bot ${client.user.tag} est en ligne`)
|
|
|
|
const status = new RichPresence(client)
|
|
.setApplicationId('1000410111833018378')
|
|
.setType('STREAMING')
|
|
.setURL('https://www.twitch.tv/tuturp33')
|
|
.setState('Administrer sur SwiftBot')
|
|
.setName('SwiftBot')
|
|
.setDetails('SwiftBot')
|
|
.setStartTimestamp(Date.now())
|
|
.setAssetsLargeImage('1213862750451929138')
|
|
.setAssetsLargeText('Rejoins nous sur Discord')
|
|
.setAssetsSmallImage('1213863166874746910')
|
|
.setAssetsSmallText('TuturP33')
|
|
.addButton('Serveur Discord', 'https://discord.gg/zP7sHFpTZX')
|
|
.addButton('Bot Discord', 'https://discord.com/api/oauth2/authorize?client_id=1204577464903409674&permissions=8&scope=applications.commands%20bot');
|
|
|
|
|
|
const customs = new CustomStatus(client).setEmoji('👀').setState('Regarde vos messages !');
|
|
|
|
setInterval(() => {
|
|
db.get('SELECT value FROM stats WHERE name = "sendMessageCounter"', (err: any, row: any) => {
|
|
if (err) {
|
|
console.error(err.message);
|
|
}
|
|
const sendMessageCounter = row ? row.value : 0;
|
|
|
|
db.get('SELECT value FROM stats WHERE name = "receiveMessageCounter"', (err: any, row: any) => {
|
|
if (err) {
|
|
console.error(err.message);
|
|
}
|
|
const receiveMessageCounter = row ? row.value : 0;
|
|
|
|
customs.setEmoji('📈').setState(`${sendMessageCounter} messages envoyés, ${receiveMessageCounter} messages reçus !`);
|
|
});
|
|
});
|
|
|
|
client.user.setPresence({ activities: [status, customs] });
|
|
}, 10000) as NodeJS.Timeout;
|
|
|
|
|
|
let voc = 'None';
|
|
db.all('SELECT * FROM config', (err: any, rows: any) => {
|
|
if (err) {
|
|
console.error(err.message);
|
|
}
|
|
rows.forEach((row: any) => {
|
|
if (row.name === 'autovoc') {
|
|
voc = row.value || 'None';
|
|
} if (row.name === 'messageCounter') {
|
|
let messageCounter = row.value || 0;
|
|
module.exports.messageCounter = messageCounter;
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
const tasks:any = [];
|
|
db.all('SELECT * FROM task', (err: any, rows: any) => {
|
|
if (err) {
|
|
console.error(err.message);
|
|
}
|
|
rows.forEach((row: any) => {
|
|
tasks.push(row);
|
|
});
|
|
|
|
tasks.forEach((task: any) => {
|
|
setInterval(() => {
|
|
try {
|
|
eval(task.code)
|
|
} catch (e) {
|
|
console.log(`Erreur dans la tâche ${name} : ${e}`);
|
|
}
|
|
}, task.time * 60000);
|
|
});
|
|
});
|
|
|
|
|
|
setInterval(() => {
|
|
if (voc !== 'None') {
|
|
const voiceChannel: any = client.channels.cache.get(voc);
|
|
if (!voiceChannel) return;
|
|
const guild = client.guilds.cache.get(voiceChannel.guildId);
|
|
if (!guild) return;
|
|
const member = guild.members.cache.get(client.user.id);
|
|
if (!member.voice.channel) {
|
|
joinVC(client, voc);
|
|
}
|
|
}
|
|
}, 5000);
|
|
|
|
|
|
process.on('unhandledRejection', (reason, p) => {
|
|
console.log(' [antiCrash] :: Unhandled Rejection/Catch');
|
|
console.log(reason, p);
|
|
});
|
|
|
|
process.on('uncaughtException', (err, origin) => {
|
|
console.log(' [antiCrash] :: Uncaught Exception/Catch');
|
|
console.log(err, origin);
|
|
});
|
|
}
|
|
}; |