Setup
Requirements
- AthenaBot with the
coreplugin enabled - A text channel where games and leaderboard updates can be posted
- Bot permissions in the game channel:
- Send Messages
- Embed Links
- Attach Files
- Use External Emojis if your game copy uses custom emojis
- Manage Messages if you want the plugin to delete
!gamecommand messages
- Economy and XP support if you plan to use coin or XP rewards
- Dashboard access if you want to configure the plugin from the web UI
Installation
- Place the plugin folder at
plugins/random_games. - Start AthenaBot once so it can generate
configuration/randomgames.json5andconfiguration/randomgames_lang.json5. - AthenaBot should install required plugin dependencies automatically. If it does not, stop the bot and run:
npm install canvas axios node-schedule moment-timezone- Open the dashboard, go to the
randomgamesconfiguration, and set the game channel ID. - Restart AthenaBot after changing channel IDs, reward settings, leaderboard schedules, or dependency state.
If dashboard-backed config storage is enabled, use the dashboard for normal
setup. Editing configuration/randomgames.json5 may not change the live
config until the dashboard data is updated.
Minimum Working Config
This is the smallest shape needed for manual testing:
{
config: {
embedColor: "#6F8FAF",
commands: {
prefix: "!",
gameCommandRole: "",
slash: {
game: {
name: "game",
description: "RandomGames utilities",
permissionLevel: "everyone"
}
}
},
randomGames: {
channelId: "YOUR_GAME_CHANNEL_ID",
triggers: {
timeInterval: 60,
messageCount: 5,
cooldown: 30,
requireBoth: true
}
},
countdown: { duration: 5 },
font: "AlfaSlabOne",
gameDurations: {
Default: 15
},
rewards: {
type: "both",
coinsDestination: "balance"
},
leaderboards: {
enable: true,
updateInterval: 30,
channel: "YOUR_GAME_CHANNEL_ID",
timezone: "America/Chicago"
},
debug: {
Enabled: false
}
}
}First Test
- Start AthenaBot.
- In the configured game channel, run:
!game list- Start a random game:
!game random- Start a specific game:
!game trivia- Check a leaderboard:
/game leaderboard type: weeklyIf the game starts, posts a countdown, accepts answers, and writes a leaderboard row after a win, the core flow is working.
Recommended Launch Settings
- Keep
debug.Enabledfalse for production. - Set
commands.gameCommandRoleonly if games should be limited to members with a specific role. - Use
requireBoth: trueif you want games to start only after both message activity and interval timing are satisfied. - Start with weekly and monthly announcements enabled, then enable daily announcements only if your server wants frequent winner posts.
- Test all MVP role IDs before release. The bot can only assign roles below its highest role.