GAME DATABASE / DOCUMENTATION

Everything you need
to master the bot.

How to install it, organize alerts, configure your server, and use every one of the 35 slash commands in v4.6.

35Documented slash commandsVersion 4.6 · October 2026
START HERE

Setup in three simple steps.

01

Invite

Add Game DataBase to a Discord server you manage. The bot runs on its own hosting; you do not need to upload Python files.

02

Create channels

Create #game-deals for giveaways and #key-alerts for authorized retailer sales. Both are ordinary text channels.

03

Configure & test

Run /setchannels, then /channels and /test. Select the target channel when testing each route.

SECURITY

Permissions & roles

Only members who can manage the server should configure where the bot publishes or change the alert policies. The bot itself needs permission to view and send embedded messages in the two destination channels.

Server managers

Manage Server permission for /setup, /setchannels, /filters, /keyalerts, /digitalgamekey and other administrative actions.

Bot channel permissions

View Channel · Send Messages · Embed Links in both #game-deals and #key-alerts.

Everyone else

Can use game search, info, watches and read-only commands. Price-drop DMs require an explicit /watch and enabled DMs.

CHANNEL ROUTING

Two channels. No confusion.

#game-deals

Regular giveaway scanner and any new eligible offers discovered with /check. /setup and /setchannel manage this route.

#key-alerts

Public /digitalgamekey posts and future automatic /keyalerts retailer sales. /setkeychannel manages this route.

Run /setchannels to set both at once. The names are suggestions; you can use any two different text channels.
AUTOMATION

Control what gets posted

Automatic retailer sales are disabled by default for new servers. Once enabled, the first scheduled scan establishes a baseline without reposting old listings. Later scans may post new or changed qualifying sales to the digital-key channel.

30 mindefault check interval
50%+sample minimum discount
10/daysample daily retailer cap

Manual /digitalgamekey posting shares the retailer daily budget. Set price and currency to match the owner's IsThereAnyDeal region. API availability and deal eligibility determine actual posts.

SUPPORT

Quick troubleshooting

Nothing is posting in #game-deals

Run /channels to confirm the giveaway destination, /enable to resume standard notifications, and /test with the giveaway target. The bot posts newly discovered eligible offers, not all historical deals.

Digital key sales go to the wrong channel

Run /setkeychannel channel:#key-alerts or use /setchannels. /setchannel changes giveaways only. Confirm with /channels.

Automatic key alerts say “Awaiting baseline”

The first scheduled scan saves current retailer offers without posting them. Leave the bot online and check /keyalertstatus after a scheduled cycle.

No additional retailer deals today

Review /keyalertstatus for the UTC-day cap, per-cycle limit, blocked stores, currency and filters. Manual retailer posts also count toward that daily cap.

I added /watch but got no DM

The first price is only a baseline. The bot attempts a DM if a later Steam check observes a lower USD price. Enable DMs and ensure the Steam API is available.

Where does the Discord token or ITAD API key go?

Server members do not need keys. The bot owner configures private credentials on the bot host. Never put secrets into the website, Discord messages or publicly shared files.

COMPLETE COMMAND REFERENCE

All 35 commands.

Descriptions and argument names verified against the current v4.6 bot.py. Optional arguments are labeled, and examples are for Discord’s command picker.

Showing all 35 commands

Server setup

12 commands

/setup

Manage Server
#

Choose the text channel for regular giveaway and free-game alerts.

Saves the server’s giveaway destination and enables standard deal notifications. This does not set your retailer-sales channel.

OPTIONS
channelrequired
/setup channel:#game-deals

Manage Server permission; bot needs View Channel, Send Messages and Embed Links.

/setchannel

Manage Server
#

Change the channel for free-game and giveaway notifications.

Keeps the digital-key channel unchanged. Use when reorganizing the server.

OPTIONS
channelrequired
/setchannel channel:#game-deals

Manage Server permission. For retailer sales use /setkeychannel instead.

/setkeychannel

Manage Server
#

Choose where authorized retailer game sales are published.

Routes both manual /digitalgamekey posts and scheduled /keyalerts offers to one dedicated text channel.

OPTIONS
channelrequired
/setkeychannel channel:#key-alerts

Manage Server permission. The retailer destination must differ from the giveaway channel.

/setchannels

Manage Server
#

Set both game-deal and digital-key channels in one command.

Recommended first-time setup. Saves separate channels so free-game posts and paid retailer sales never mix.

OPTIONS
game_dealsrequired digital_game_keysrequired
/setchannels game_deals:#game-deals digital_game_keys:#key-alerts

Manage Server permission. Choose two different channels with the bot’s required posting permissions.

/channels

Everyone
#

View the server’s current notification destinations.

Shows where /check, regular giveaway scans, /digitalgamekey, and automated key alerts send public posts.

OPTIONS
No parameters
/channels

Replies privately. Everyone on the server can view the routing.

/enable

Manage Server
#

Resume standard giveaway notifications.

Turns on the normal deal alert setting for the configured server. Retailer automation has its own /keyalerts switch.

OPTIONS
No parameters
/enable

Manage Server permission. Run /setup first.

/disable

Manage Server
#

Pause standard game deal notifications.

Disables the server’s configured giveaway alerts. It is not the same as disabling /keyalerts.

OPTIONS
No parameters
/disable

Manage Server permission. Use /keyalerts enabled:false for retailer automation.

/filters

Manage Server
#

Control free-only and minimum discount rules for giveaways.

Set free_only true to limit regular deal posts to free offers. If free_only is false, minimum_discount determines qualifying paid offers.

OPTIONS
free_onlyrequired minimum_discountoptional
/filters free_only:false minimum_discount:30

Manage Server permission; regular giveaway feed only, not the IsThereAnyDeal retailer settings.

/source

Manage Server
#

Enable or disable a specific regular giveaway source.

Choose from the providers offered in Discord’s source picker. This changes regular source notifications, not the retailer store allow-list.

OPTIONS
sourcerequired enabledrequired
/source source:Epic Games enabled:true

Manage Server permission. A selected source may be temporarily unavailable upstream.

/sources

Everyone
#

See which giveaway providers your server follows.

Lists supported regular sources and their enabled/disabled preferences. The Reddit feed is currently disabled pending approved API access.

OPTIONS
No parameters
/sources

Informational; source availability can change independently of these preferences.

/test

Manage Server
#

Send a test notification to either configured channel.

Use the target option to verify permissions for Game giveaways or Digital game keys, separately.

OPTIONS
targetoptional
/test target:Digital game keys

Manage Server permission; cooldown applies. The bot needs View Channel, Send Messages and Embed Links.

/check

Manage Server
#

Manually refresh regular giveaway sources.

Checks configured free-game/giveaway feeds and privately reports offers/new discoveries. Eligible new deals are queued to #game-deals; it does not re-post every old offer.

OPTIONS
No parameters
/check

Manage Server permission; rate limited. For retailer key sales use /digitalgamekey.

Digital key sales

4 commands

/keyalerts

Manage Server
#

Configure automatic authorized-retailer sales notifications.

Enable scheduled checks; set minimum discount, maximum price, CAD/USD currency, shared daily post limit, and per-scan limit. First scheduled scan saves a baseline instead of reposting existing deals.

OPTIONS
enabledrequired minimum_discountoptional max_priceoptional currencyoptional daily_limitoptional per_scanoptional
/keyalerts enabled:true minimum_discount:50 max_price:40 currency:CAD daily_limit:10 per_scan:3

Manage Server permission; /setup and /setkeychannel must be configured, /enable on, /filters free_only:false; owner must set ITAD_API_KEY. Scans run about every 30 minutes.

/keyalertstore

Manage Server
#

Allow or block an individual authorized retailer.

Pick a store such as Humble Store, Fanatical, or Green Man Gaming from Discord’s store list, then enable or disable it for both automated and manual retailer posts.

OPTIONS
retailerrequired enabledrequired
/keyalertstore retailer:Humble Store enabled:true

Manage Server permission; store choices come from the bot’s retailer allow-list.

/keyalertstatus

Everyone
#

Review retailer alert settings and progress.

Shows enablement, configured channel, first-scan baseline state, filters, daily count, pending queue, and blocked shops.

OPTIONS
No parameters
/keyalertstatus

Replies privately. A saved configuration does not guarantee the next API scan succeeds.

/digitalgamekey

Manage Server
#

Preview or manually post current authorized-retailer offers.

Uses IsThereAnyDeal-listed retailer offers; the preview stays private. With preview:false it publishes up to the selected number of new eligible deals to the dedicated #key-alerts channel. Duplicate, cooldown and daily limits still apply.

OPTIONS
limitoptional minimum_discountoptional previewoptional
/digitalgamekey limit:5 minimum_discount:50 preview:true

Manage Server permission. Requires the owner’s IsThereAnyDeal API key. Only preview:false creates public posts; regions and checkout prices need verification.

Steam tools

7 commands

/findgame

Everyone
#

Find Steam App IDs by searching a game title.

Useful starting point for /game, /watch, /players and /canirun. Choose the correct result; soundtracks and editions can have their own App IDs.

OPTIONS
titlerequired
/findgame title:Portal 2

Steam catalog availability may vary.

/game

Everyone
#

Display a Steam game’s description, price and co-op features.

Retrieves store information for a numeric Steam App ID, including genres, release date, US-store USD price and publisher-listed multiplayer modes where available.

OPTIONS
app_idrequired
/game app_id:620

Enter the game App ID, not an unrelated soundtrack ID.

/players

Everyone
#

View a Steam game’s current player count.

Retrieves the online player figure reported by Steam for one App ID.

OPTIONS
app_idrequired
/players app_id:620

Steam must make the count available.

/canirun

Everyone
#

Read publisher-listed PC system requirements.

Shows minimum and recommended PC hardware requirements from the Steam listing. The bot does not scan or benchmark your own computer.

OPTIONS
app_idrequired
/canirun app_id:620

Not all Steam games publish complete requirements.

/compare

Everyone
#

Find games owned by two public Steam profiles.

Compares ownership from two SteamID64 accounts. Optionally narrows results to titles with publisher-listed co-op support.

OPTIONS
steam_id_onerequired steam_id_tworequired co_op_onlyoptional
/compare steam_id_one:YOUR_FIRST_STEAMID64 steam_id_two:YOUR_SECOND_STEAMID64 co_op_only:true

Both libraries must be public. The bot owner must configure a Steam Web API key; co-op checks may require additional Steam lookups.

/pick

Everyone
#

Pick a game at random from your shortlist.

Enter between two and twenty comma-separated titles for a quick game-night decision.

OPTIONS
gamesrequired
/pick games:Portal 2, Stardew Valley, Overcooked 2

Does not access your Steam account or auto-detect your library.

/hltb

Everyone
#

Open completion-time search results on HowLongToBeat.

Provides a search link for Main Story, Main + Extras and Completionist timing information.

OPTIONS
titlerequired
/hltb title:Portal 2

This is an external search link, not live completion-time data embedded in Discord.

Steam price watches

5 commands

/watch

Everyone
#

Opt into Steam price-drop direct messages for one game.

Saves the current USD Steam price as your baseline. Later checks can trigger a private Discord DM if Steam reports a lower price.

OPTIONS
app_idrequired
/watch app_id:620

DMs must be allowed. No immediate discount alert is sent on registration. Steam price data may be unavailable.

/unwatch

Everyone
#

Stop watching a particular Steam game.

Removes the game from your own watchlist and cancels pending price-drop alerts for it.

OPTIONS
app_idrequired
/unwatch app_id:620

Affects only your personal watchlist.

/watchlist

Everyone
#

List the games you are tracking.

Privately displays your watched Steam titles and the last observed USD prices.

OPTIONS
No parameters
/watchlist

Only your own watchlist is shown.

/clearwatchlist

Everyone
#

Erase all your personal Steam watches.

Deletes your watched games and saved alerts, but only if you explicitly confirm.

OPTIONS
confirmrequired
/clearwatchlist confirm:true

This action removes your personal watch history; use with care.

/wishlist

Everyone
#

Open a public Steam wishlist.

Produces a link to the public Steam wishlist for a supplied SteamID64.

OPTIONS
steam_idrequired
/wishlist steam_id:YOUR_STEAMID64

Does not synchronize that wishlist or automatically create price watches.

Bot & discovery

7 commands

/status

Everyone
#

View the bot’s reported health and server details.

Shows uptime, known deals, delivery queue, Steam watch counts and source health. It is informational and does not change settings.

OPTIONS
No parameters
/status

Reports bot-side counters; does not guarantee every external retailer source is reachable.

/limits

Everyone
#

Check standard notification budgets.

Shows daily and per-cycle limits for the server’s standard deal alerts. For retailer-specific daily counts, use /keyalertstatus.

OPTIONS
No parameters
/limits

No configuration changes.

/deals

Everyone
#

List recently discovered regular game offers.

Displays offers known to the giveaway scanner. This is not the full IsThereAnyDeal retailer catalog.

OPTIONS
No parameters
/deals

Search result inventory depends on successful source checks.

/free

Everyone
#

Find recently discovered free games.

Shows giveaway promotions the bot has tracked from its active sources.

OPTIONS
No parameters
/free

Promotions can end; always verify claim windows at the source.

/help

Everyone
#

Display a quick command summary in Discord.

Good for discovering features without leaving Discord. This site provides the more detailed guide.

OPTIONS
No parameters
/help

The website documentation is more detailed than the in-Discord summary.

/invite

Everyone
#

Get the official bot installation link.

Provides the Game DataBase Discord authorization URL so a manager can add it to another server.

OPTIONS
No parameters
/invite

A user needs permission to add apps to the target server.

/privacy

Everyone
#

Ask for the bot’s configured privacy-policy URL.

If the owner has configured a public privacy-policy URL, the command returns it.

OPTIONS
No parameters
/privacy

If no privacy URL is configured, the bot explains that none is available yet.

ALL SET?

Bring Game DataBase into your server.

Invite the bot, run /setchannels, and fine-tune your alerts.

Add to Discord