Last updated: 12 September 2026
This policy explains what data the BetterYAG Discord bot (“the bot”) and its control panel at gpbot.groundpower.dev collect, why, how long it is kept, and how you can have it removed.
Operator: GroundPower
Contact: ykimp@protonmail.com
BetterYAG is a self-hosted fork of the open-source YAGPDB project. It is not affiliated with the official YAGPDB bot or with Discord Inc.
Server, channel and role IDs, and the settings administrators choose in the control panel: auto-moderation rules, custom commands, role menus, welcome messages, log channels, feeds, streaming role settings, soundboard sounds and similar.
Why: the bot needs them to work the way each server set it up.
Kept: while the bot is in the server. Settings are not deleted automatically when the bot is
removed, so they come back if it is added again. A server owner can ask us to delete them at any time.
When you log in to the control panel with Discord, we receive your Discord user ID, username, avatar and the list of servers you are in, so we can show the servers you can manage. When an administrator changes a setting, the change is logged with their user ID and username so the server's staff can see who changed what.
Kept: the login session until you log out or it expires; the change log until the server owner asks us to delete it.
Discord sends the bot information about the members of servers it is in: user IDs, usernames, nicknames, roles and join dates. Most of it is only held in memory while the bot runs. It is used for auto-roles, welcome and farewell messages, re-applying an active mute to someone who leaves and rejoins, role menus, and permission checks before moderation commands.
What is stored:
resetpastnames (for example
@BetterYAG resetpastnames) or ask us to delete it.Other features store only what they need to work, for example open support tickets or verification status, and the deletion options below cover them too.
The bot reads the text of messages in channels it can see in order to:
The bot's built-in commands are run through Discord's slash commands or by mentioning the bot, so they do not depend on message content.
Messages are processed in memory and not stored, with three exceptions:
logs command, a snapshot of recent messages
in one channel. Kept until a server administrator deletes them in the control panel or you ask us to.Direct messages to the bot are handled the same way: they are used to run the command you sent and are not stored, except in the command log. The bot does not see messages in servers it is not in.
Discord sends the bot members' online status and current activity, for example the game someone is playing. The bot uses it in memory for:
topgames command, which shows what is being played in the server right now,whois command.Presence updates also tell the bot when a username changes, which goes into the username history above. Apart from a short-lived list of who is streaming right now, used to add and remove the streaming role, presence data is not stored, and we do not build profiles of what people play.
Opt-out: run the presence command with optout
(for example /presence action:optout) and the bot stops using your presence in every server.
optin turns it back on and status shows your current setting.
Message counts per channel and member join and leave counts, shown on each server's stats page. They do not identify individual users. Kept until the server owner asks us to delete them.
The bot, its database and its cache run on a server rented from Hetzner Online GmbH in Nuremberg, Germany. The database and cache are not reachable from the internet; only the bot and the operator can access them. Bot credentials are kept in environment variables on that server, not in source code.
presence command with
optout.resetpastnames.The bot is not directed at children under 13, or under the minimum age for digital consent in your country, in line with Discord's Terms of Service.
If this policy changes in a meaningful way, the date at the top of this page will be updated.