debug 2
This commit is contained in:
parent
c4ea7c1835
commit
b3e6363598
2 changed files with 103 additions and 19 deletions
56
index.js
56
index.js
|
|
@ -1,14 +1,25 @@
|
|||
import { Client, GatewayIntentBits, WebhookClient, AuditLogEvent, OAuth2Scopes, Options, Events } from 'discord.js';
|
||||
import firstDetector from './detectors/allDetector.js';
|
||||
import 'dotenv/config';
|
||||
import { Client, GatewayIntentBits, WebhookClient, AuditLogEvent, OAuth2Scopes, Options, Events } from 'discord.js';
|
||||
|
||||
console.log("--- DEBUG ---");
|
||||
console.log("Test Token:", process.env.DISCORD_TOKEN ? "Présent (Longueur: " + process.env.DISCORD_TOKEN.length + ")" : "ABSENT !");
|
||||
console.log("Tentative de connexion à Discord.");
|
||||
// La variable des détecteurs est déclarée mais pas initialisée (elle le sera dans loadDetectors)
|
||||
let firstDetector;
|
||||
|
||||
// Fonction de chargement asynchrone des modules locaux (pour contourner le blocage d'Alpine)
|
||||
async function loadDetectors() {
|
||||
try {
|
||||
// Import dynamique qui attend la connexion réussie du bot
|
||||
const detectorModule = await import('./detectors/allDetector.js');
|
||||
firstDetector = detectorModule.default;
|
||||
console.log("[STATUS] Détecteurs chargés avec succès. Bot prêt à troller.");
|
||||
} catch (e) {
|
||||
console.error("ALERTE: Impossible de charger les détecteurs locaux ! Vérifiez l'arborescence et 'data/index.js'.", e);
|
||||
}
|
||||
}
|
||||
|
||||
// 1. CLIENT DÉFINITION
|
||||
const client = new Client({
|
||||
makeCache: Options.cacheWithLimits({
|
||||
MessageManager: 0, // le bot ne se souviendra pas des anciens messages (pas de cache)
|
||||
MessageManager: 0,
|
||||
}),
|
||||
intents: [
|
||||
GatewayIntentBits.Guilds,
|
||||
|
|
@ -17,9 +28,24 @@ const client = new Client({
|
|||
]
|
||||
});
|
||||
|
||||
// Gestion des Messages (Listeners)
|
||||
// Fonction locale pour traiter un message (remplace newMessageListener)
|
||||
// -- GESTION DES LOGS GUILD (Non-critique, peut être décommenté) --
|
||||
// client.on('guildCreate', ...
|
||||
// client.on('guildDelete', ...
|
||||
|
||||
// -- 2. DÉMARRAGE & READY --
|
||||
client.on(Events.ClientReady, async () => {
|
||||
console.log(`[SUCCESS] Logged in as ${client.user?.tag}`);
|
||||
console.log('Bot is ready!');
|
||||
|
||||
// DÉMARRAGE DU CHARGEMENT DES MODULES LOURDS APRÈS LA CONNEXION
|
||||
await loadDetectors();
|
||||
});
|
||||
|
||||
// -- 3. GESTION DES MESSAGES (Cœur du bot) --
|
||||
async function handleMessage(message) {
|
||||
// Le bot ne répond pas tant que le chargement dynamique n'est pas terminé
|
||||
if (!firstDetector) return;
|
||||
|
||||
try {
|
||||
const reply = await firstDetector.createReply(message);
|
||||
if (reply) {
|
||||
|
|
@ -37,21 +63,16 @@ client.on('messageCreate', async (message) => {
|
|||
|
||||
client.on('messageUpdate', async (oldMessage, newMessage) => {
|
||||
let message = newMessage;
|
||||
|
||||
if (message.partial) {
|
||||
try {
|
||||
message = await message.fetch();
|
||||
} catch (e) {
|
||||
console.error('Error while fetching message', e);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!message.author || message.author.bot) return;
|
||||
if (oldMessage.content === message.content) return; // Pas de changement de texte
|
||||
if (!message.content) return;
|
||||
|
||||
// on évite de spammer
|
||||
if (oldMessage.content === message.content) return;
|
||||
|
||||
if (oldMessage.content && oldMessage.content.match(/(\b|^)quoi(\b|$)/i)) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -59,8 +80,5 @@ client.on('messageUpdate', async (oldMessage, newMessage) => {
|
|||
await handleMessage(message);
|
||||
});
|
||||
|
||||
client.on(Events.ClientReady, () => {
|
||||
console.log(`Hello World !`);
|
||||
});
|
||||
|
||||
// 4. CONNEXION FINALE
|
||||
client.login(process.env.DISCORD_TOKEN);
|
||||
66
indexOld.js
Normal file
66
indexOld.js
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
import { Client, GatewayIntentBits, WebhookClient, AuditLogEvent, OAuth2Scopes, Options, Events } from 'discord.js';
|
||||
import firstDetector from './detectors/allDetector.js';
|
||||
import 'dotenv/config';
|
||||
|
||||
console.log("--- DEBUG ---");
|
||||
console.log("Test Token:", process.env.DISCORD_TOKEN ? "Présent (Longueur: " + process.env.DISCORD_TOKEN.length + ")" : "ABSENT !");
|
||||
console.log("Tentative de connexion à Discord.");
|
||||
|
||||
const client = new Client({
|
||||
makeCache: Options.cacheWithLimits({
|
||||
MessageManager: 0, // le bot ne se souviendra pas des anciens messages (pas de cache)
|
||||
}),
|
||||
intents: [
|
||||
GatewayIntentBits.Guilds,
|
||||
GatewayIntentBits.GuildMessages,
|
||||
GatewayIntentBits.MessageContent,
|
||||
]
|
||||
});
|
||||
|
||||
// Gestion des Messages (Listeners)
|
||||
// Fonction locale pour traiter un message (remplace newMessageListener)
|
||||
async function handleMessage(message) {
|
||||
try {
|
||||
const reply = await firstDetector.createReply(message);
|
||||
if (reply) {
|
||||
await message.reply(reply);
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Erreur dans le détecteur:', e);
|
||||
}
|
||||
}
|
||||
|
||||
client.on('messageCreate', async (message) => {
|
||||
if (message.author.bot) return;
|
||||
await handleMessage(message);
|
||||
});
|
||||
|
||||
client.on('messageUpdate', async (oldMessage, newMessage) => {
|
||||
let message = newMessage;
|
||||
|
||||
if (message.partial) {
|
||||
try {
|
||||
message = await message.fetch();
|
||||
} catch (e) {
|
||||
console.error('Error while fetching message', e);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!message.author || message.author.bot) return;
|
||||
if (oldMessage.content === message.content) return; // Pas de changement de texte
|
||||
if (!message.content) return;
|
||||
|
||||
// on évite de spammer
|
||||
if (oldMessage.content && oldMessage.content.match(/(\b|^)quoi(\b|$)/i)) {
|
||||
return;
|
||||
}
|
||||
|
||||
await handleMessage(message);
|
||||
});
|
||||
|
||||
client.on(Events.ClientReady, () => {
|
||||
console.log(`Hello World !`);
|
||||
});
|
||||
|
||||
client.login(process.env.DISCORD_TOKEN);
|
||||
Loading…
Add table
Add a link
Reference in a new issue