How gh0zd/akame-bot-discord works
Akame is a Discord bot whose main workflow handles slash-command and component interactions, resolves language and persisted preferences, executes feature commands, and responds in Discord. Separate event handlers support AFK and welcome behavior; SQLite repositories retain settings and feature state. The README also documents interactive setup, invite tracking, and affection counters. Some command and event wiring is unsampled, so edges are limited to relationships evidenced by excerpts, the source index, or README statements.
Main entry points: commands Slash commands · interactionCreate.js Interaction events · repositories Data repositories · index.js Bot bootstrap
Components 21
Bot runtime
- Bot bootstrap
index.js - Interaction events
src/events/interaction/interactionCreate.js - Command dispatch
src/handlers/commandRunner.js - Command registry
src/handlers/commandHandler.js - Component dispatch
src/handlers/componentHandler.js
User features
- Slash commands
src/commands - Interactive components
src/components - Guild events
src/events/guild - Message events
src/events/message - Welcome setup
src/components/welcomeSetup.js - Welcome delivery
src/utils/welcome.js - Invite tracking
src/utils/inviteTracker.js
Persistent state
- SQLite database
src/database/index.js - Data repositories
src/database/repositories - Database schema
src/database/schema.js
Shared services
- Language resolution
src/utils/i18n.js - Runtime configuration
src/config.js - Interaction responses
src/utils/respond.js - Shared utilities
src/utils
Other components
- Discord user
- Discord platform
Connections 26
- Discord user → Discord platform: initiates interaction
- Discord platform → Interaction events: delivers event
src/events/interaction/interactionCreate.js - Interaction events → Command dispatch: routes command
src/events/interaction/interactionCreate.js - Interaction events → Component dispatch: routes component
src/events/interaction/interactionCreate.js - Command registry → Slash commands: loads commands
src/handlers/commandHandler.js - Bot bootstrap → Command registry: loads commands
index.js - Bot bootstrap → Component dispatch: loads components
index.js - Command dispatch → Slash commands: executes command
- Component dispatch → Interactive components: dispatches component
src/handlers/componentHandler.js - Slash commands → Language resolution: resolves translations
src/commands/utility/language.js - Slash commands → Interaction responses: uses response helpers
src/commands/server/server.js - Interaction events → Language resolution: resolves language
src/events/interaction/interactionCreate.js - Interaction events → Interaction responses: uses response helper
src/events/interaction/interactionCreate.js - Language resolution → Data repositories: reads preferences
src/utils/i18n.js - Data repositories → SQLite database: queries database
src/database/repositories/settings.js - SQLite database → Database schema: applies migrations
src/database/index.js - Guild events → Welcome delivery: delivers welcome
src/events/guild/guildMemberAdd.js - Guild events → Invite tracking: checks invites
src/events/guild/guildMemberAdd.js - Welcome setup → Data repositories: saves settings
src/components/welcomeSetup.js - Welcome setup → Invite tracking: uses tracker
src/components/welcomeSetup.js - Welcome setup → Welcome delivery: uses welcome service
src/components/welcomeSetup.js - Message events → Data repositories: reads AFK state
src/events/message/afk.js - Message events → Discord platform: replies to messages
- Bot bootstrap → Runtime configuration: loads configuration
index.js - Slash commands → Shared utilities: uses shared helpers
src/commands/server/server.js - Slash commands → Discord platform: returns feature result