Guess the flag!
Designate a channel as a flag guessing channel and let your users guess flags of countries and US states.
Features
- Automatic flag guessing game running in a designated channel.
- Users guess the country or state name represented by a displayed flag image.
- Configurable difficulty range from 1 (easiest) to 5 (hardest).
- First-letter reveal and skip functionality with configurable rate limits.
- Optional leaderboard to track user scores.
- Wrong guesses can be automatically deleted to keep the channel clean.
- View details about the previous flag after it has been solved or skipped (country code, capital, region, continent).
- Immunity roles to bypass rate limits on actions.
Setup
- Enable the module in your SCNX dashboard.
- Create an empty text channel on your server for the quiz.
- Open the configuration and set the "Game-Channel" to the empty channel.
- The bot needs the "Manage Messages", "Manage Channels", and "Read Message History" permissions in the game channel.
- Optionally, adjust the difficulty range or enable the leaderboard.
Usage
Once set up, the bot posts a flag image in the game channel. Users guess the country or state name by typing their guesses directly in the channel. The bot enforces a cooldown between guesses.
- If the guess is correct, the bot reacts with a celebration emoji and posts a new flag.
- If the guess is wrong, the bot reacts with a cross emoji. Wrong guesses are optionally deleted after 5 seconds.
- Users can click buttons below the quiz message to:
- Reveal first letter - Shows the first letter of the country or state name.
- Skip - Skips the current flag and loads a new one. The skipped flag's answer is revealed.
- Question info - Shows details about the previous flag, including country code, capital, region, and continent.
- Leaderboard - Shows the top 25 players (if leaderboard is enabled).
When the leaderboard is enabled, users earn 1 point for each correct guess.
Configuration
In this configuration file, you can configure the flag quiz. Open it in your dashboard.
| Field | Description |
|---|---|
| Game-Channel | The text channel where the quiz takes place. The channel must be empty. |
| Maximum amount of hints per user per hour | Maximum number of first-letter reveals a user can request per hour. |
| Maximum amount of skips per user per hour | Maximum number of times a user can skip a flag per hour. |
| Delete wrong guesses? (recommended) | If enabled, wrong guesses are deleted after 5 seconds to keep the channel clean. |
| Minimum difficulty | The minimum difficulty of flags shown (1 = easiest, 5 = hardest). |
| Maximum difficulty | The maximum difficulty of flags shown (1 = easiest, 5 = hardest). |
| Enable Leaderboard | If enabled, a leaderboard button appears and users earn points for correct guesses. |
| Immunity roles | Roles that are exempt from skip and first-letter rate limits. |
Troubleshooting
The bot is not posting flags
- Make sure the game channel is empty and correctly set in the configuration.
- Ensure the bot has the "Manage Messages", "Manage Channels", and "Read Message History" permissions in the game channel.
No flags are appearing with my difficulty settings
- Make sure the minimum difficulty is lower than or equal to the maximum difficulty.
- Try widening the difficulty range to include more flags.
Stored data
The following data is being stored for the game state:
- Current flag data and previous flag data (including image URL, country names, and first-letter usage)
- The ID of the pinned info message in the game channel
- Metadata about the entry (date when created and last updated)
The following data is being stored about every gameplay action (skip, first-letter reveal):
- The user ID who performed the action
- The type of action
- Metadata about the entry (date when created and last updated)
If the leaderboard is enabled, the following data is stored about every participating user:
- The user ID
- Their total points
- Metadata about the entry (date when created and last updated)
To remove all data stored by this module, purge the module database.
