How benj4368/merlin works
Merlin is a Discord bot whose main workflow is: Discord delivers an interaction, the event handler selects a command, and that command responds with a bot feature. Major branches include party games, role-play sessions, Smite challenges, media lookup, and bot administration. The graph also shows message-triggered modes and role-play state. Some command implementations and integrations are documented or indexed but were not excerpted, so those relationships are limited to what the README or shown source supports.
Main entry points: commands Slash commands · main.js Bot startup · rp.js Role-play command · interactionCreate.js Interaction router
Components 23
Bot runtime
- Bot startup
main.js - Interaction router
events/interactionCreate.js - Message handler
events/messageCreate.js - Ready handler
events/clientReady.js
Games and challenges
- Smite challenge
commands/challenge.js - Smite resources
resources/smite - LGOW game command
commands/lgow.js - Game roles and state
resources/lgow/lgowClasses.js - Random god command
commands/randomgod.js
Role-play sessions
- Role-play command
commands/rp.js - Session state
resources/rp/rp_data.js - Session sound assets
resources/rp/sounds
Commands and modes
- Slash commands
commands - Media lookup
commands/crit.js - Mode command
commands/mode.js - Mode flags
varModes.js - Reload command
commands/reload.js - Restart command
commands/restart.js - Merlin response
commands/merlin.js
Other components
- Discord users
- Discord platform
- TheTVDB API
- Discord voice
Connections 25
- Discord users → Discord platform: send interactions
readme.md - Discord platform → Bot startup: connects bot
main.js - Bot startup → Slash commands: loads commands
main.js - Bot startup → Interaction router: registers handler
main.js - Bot startup → Message handler: registers handler
main.js - Bot startup → Ready handler: registers handler
main.js - Discord platform → Interaction router: delivers interactions
- Interaction router → Slash commands: dispatches command
events/interactionCreate.js - Slash commands → Smite challenge: includes feature
- Smite challenge → Smite resources: reads game assets
- Slash commands → Media lookup: includes feature
readme.md - Media lookup → TheTVDB API: looks up media
readme.md - Slash commands → LGOW game command: includes feature
readme.md - LGOW game command → Game roles and state: creates game state
commands/lgow.js - Slash commands → Role-play command: includes feature
readme.md - Role-play command → Session state: reads session state
commands/rp.js - Role-play command → Session sound assets: plays sound assets
commands/rp.js - Role-play command → Discord voice: joins voice channel
commands/rp.js - Slash commands → Mode command: includes command
- Mode command → Mode flags: updates mode flags
commands/mode.js - Message handler → Mode flags: reads mode flags
events/messageCreate.js - Slash commands → Reload command: includes command
readme.md - Slash commands → Restart command: includes command
readme.md - Slash commands → Merlin response: includes command
readme.md - Slash commands → Random god command: includes command