logo normal logo hover

Antre des Loutres

Arisoutre

Arisoutre
30 juillet 2026
Bot Discord
🏷️ Version: v3.1.3 📅 Dernier commit : 22 juin 2026 Code source Wiki

Bot principale de l'Antre des Loutres, responsable de l'administration et la gestion de nos membres.

Contributeurs

Langages

  • TypeScript 99.2%
  • Dockerfile 0.6%
  • JavaScript 0.2%

🦦 Arisoutre

Bot Discord de modération pour L'Antre des Loutres

Version License Discord.js TypeScript Node.js

FonctionnalitésInstallationDocumentationConfigurationContribution


🎯 Un bot Discord moderne et puissant pour la modération et la gestion de communauté


📋 À propos

Arisoutre est un bot Discord de modération développé en TypeScript pour le serveur "L'Antre des Loutres". Il offre un système de protection avancé (OtterGuard), une intégration API complète (OtterlyAPI), et une architecture modulaire extensible.

✨ Points forts

  • 🛡️ Système de protection multi-couches avec OtterGuard
  • 🚀 Architecture modulaire séparant framework et logique métier
  • 📊 Intégration API pour la persistance des données
  • 🎨 Embeds personnalisables et messages de bienvenue
  • Performances optimisées avec système de cache
  • 📝 Logs avancés avec support Discord webhooks
  • Tâches planifiées avec node-cron
  • 🔧 Configuration flexible via variables d'environnement

🚀 Fonctionnalités (hérité d'Otterbots)

🛡️ OtterGuard - Système de protection

  • Protection contre les liens : Filtre les liens non autorisés avec liste blanche configurable
  • Protection anti-scam : Détecte et bloque les tentatives de phishing
  • Protection anti-spam : Limite les messages répétitifs et le flood
  • Logs automatiques : Enregistre toutes les actions dans le canal de modération

💬 Commandes slash

Commande Description Permissions
/analyze Analyse le score de fiabilité d'un membre Admin
/clear Supprime des messages en masse (1-100) Admin
/git-repo Affiche les informations du repository Tous

📢 Événements automatiques

  • Bienvenue : Message personnalisé pour les nouveaux membres
  • Au revoir : Notification lors du départ d'un membre
  • Logs de messages : Suivi des suppressions et modifications
  • Statistiques vocales : Suivi de l'activité dans les salons vocaux
  • Comptage de messages : Système de statistiques et de classement

🔌 API Otterly

  • Client HTTP intégré pour communication avec API externe
  • Cache local des routes pour performances optimales
  • Support GET, POST, PUT avec gestion d'erreurs
  • Types TypeScript pour sécurité du code

📊 Système de logs

  • Console : Logs colorés avec pino-pretty
  • Discord : Webhooks pour logs critiques
  • Niveaux : debug, info, success, warn, error
  • Configuration : Activation sélective par niveau

🔧 Installation rapide

Prérequis

  • Node.js 18+ et npm 8+
  • Un bot Discord créé sur le Developer Portal
  • Un serveur Discord avec permissions administrateur

Installation

# Cloner le repository
git clone https://github.com/L-Antre-des-Loutres/Otterbots.git
cd Otterbots

# Installer les dépendances
npm install

# Configurer l'environnement
cp .env.example .env
# Éditer .env avec vos valeurs

# Compiler et lancer
npm run dev

Configuration minimale (.env)

BOT_TOKEN=votre_token_discord
DISCORD_CLIENT_ID=votre_client_id
DISCORD_GUILD_ID=votre_guild_id
MODERATION_CHANNEL_ID=votre_channel_id

📖 Guide complet : docs/INSTALLATION.md


📚 Documentation

Guides principaux

Document Description
📐 ARCHITECTURE.md Architecture du projet et structure des modules
🔧 INSTALLATION.md Guide d'installation pas à pas
⚙️ CONFIGURATION.md Configuration détaillée et variables d'environnement
💻 COMMANDS.md Documentation des commandes et création de nouvelles commandes
📡 EVENTS.md Événements Discord et création d'événements personnalisés
🔌 API.md Utilisation du module OtterlyAPI
👨‍💻 DEVELOPMENT.md Guide de développement et bonnes pratiques

⚙️ Configuration

Structure du projet

Arisoutre/
├── src/
│   ├── app/              # Logique métier
│   │   ├── commands/    # Commandes personnalisées
│   │   ├── config/      # Configuration
│   │   ├── embeds/      # Templates d'embeds
│   │   ├── events/      # Événements
│   │   └── utils/       # Utilitaires
│   │
│   └── otterbots/       # Framework réutilisable
│       ├── handlers/    # Gestionnaires
│       ├── utils/       # Utilitaires framework
│       │   ├── otterguard/   # Système de protection
│       │   ├── otterlyapi/   # Client API
│       │   └── ottercache/   # Système de cache
│       └── ...
│
├── docs/                # Documentation
├── config/              # Configuration externe
└── build/               # Fichiers compilés

Configuration d'OtterGuard

// src/app/config/otterguardConfig.ts
export const otterguardConfig = {
    protectLink: true,    // Protection liens
    protectScam: true,    // Protection scam
    protectSpam: true,    // Protection spam
};

export const authorizedDomains = [
    "https://discord.com",
    "https://youtube.com",
    // Vos domaines...
];

🛠️ Développement

Scripts disponibles

npm run dev      # Développement (lint + build + start)
npm run build    # Compilation TypeScript
npm run lint     # Vérification ESLint
npm start        # Lancer le bot compilé

Créer une commande

// src/app/commands/maCommande.ts
import { SlashCommandBuilder, ChatInputCommandInteraction } from "discord.js";

export default {
    data: new SlashCommandBuilder()
        .setName("macommande")
        .setDescription("Ma nouvelle commande"),
    
    async execute(interaction: ChatInputCommandInteraction): Promise<void> {
        await interaction.reply("Hello World!");
    }
};

Créer un événement

// src/app/events/MonEvenement.ts
import { Events, Message } from "discord.js";

export default {
    name: Events.MessageCreate,
    once: false,
    async execute(message: Message) {
        console.log(`Message de ${message.author.tag}`);
    }
};

📖 Guide complet : docs/DEVELOPMENT.md


🏗️ Architecture

Arisoutre utilise une architecture en couches :

graph TD
    A[Application Layer] --> B[Otterbots Framework]
    B --> C[Discord.js]
    C --> D[Discord API]
    
    A --> E[Commands]
    A --> F[Events]
    A --> G[Config]
    
    B --> H[OtterGuard]
    B --> I[OtterlyAPI]
    B --> J[OtterCache]
    B --> K[OtterLogs]
  • Application Layer : Logique métier spécifique au serveur
  • Otterbots Framework : Framework réutilisable pour bots Discord
  • Modules : OtterGuard, OtterlyAPI, OtterCache, OtterLogs

📖 Détails : docs/ARCHITECTURE.md


🤝 Contribution

Les contributions sont les bienvenues ! Voici comment contribuer :

  1. Fork le projet
  2. Créez votre branche (git checkout -b feature/AmazingFeature)
  3. Committez vos changements (git commit -m 'feat: add amazing feature')
  4. Pushez vers la branche (git push origin feature/AmazingFeature)
  5. Ouvrez une Pull Request

📄 License

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.


👥 Auteurs


Modules utilisés


📞 Support


Fait avec ❤️ par L'Antre des Loutres

⭐ N'oubliez pas de mettre une étoile si ce projet vous plaît !