What FlaviBot can see
Two separate things decide what FlaviBot knows about your server: the permissions you granted it, and the event types it subscribes to on Discord. Permissions are per channel and you control them. The event list is the same for every FlaviBot install, including custom bots.
What reaches the bot
| It receives | Used by |
|---|---|
| Servers, channels, roles | everything |
| Messages and their content | levels, autoresponder, counting, sticky messages, prefix commands |
| Reactions | starboard, reaction roles |
| Members joining, leaving, being updated | welcome, goodbye, persistent roles, invite tracker |
| Voice state changes | music, temp voice channels, voice statistics |
| Invites being created and deleted | invite tracker |
| Bans and audit log entries | moderation, server logs |
| Scheduled events | server logs |
| Discord AutoMod rules and hits | the Discord Automod page |
Message content is the one worth knowing about: FlaviBot reads messages in the channels it can see, which is what makes XP, autoresponders and counting channels possible at all.
What never reaches it
- Presence. FlaviBot does not receive who is online, idle or offline, nor what anyone is playing or listening to.
- Typing indicators.
- Anything in a channel it cannot view. If the bot has no View Channel on a channel, that channel does not exist as far as the bot is concerned: no messages, no XP, no autoresponder, no logs. Removing View Channel is the clean way to keep a private channel private.
What gets stored
Server statistics record message counts per channel, voice time per channel,
and music listening history. Any member can see and change that for
themselves with /privacy: the command replies privately with the current
state and two buttons, one to turn tracking off, one to delete the data
already collected. The setting is per member and applies to every server
using FlaviBot, not just the one where the command was run.
When a permission is missing
FlaviBot checks before it acts rather than after it fails. When the bot itself lacks a permission, the reply lists the missing permission by name; when you are the one who lacks it, the reply names the permission you need and the command you tried. Both are private when the command was run as a slash command. A prefix command's refusal is posted publicly in the channel, unless the server changed that under When a command is refused on the Configuration page.
Automations built with the autoresponder go one step further: a rule that keeps hitting the same permission error is disabled automatically and the dashboard says why.
