The badge game picker's list: every game of the platform, ONE ROW PER GAME - duplicate entries for one
game are merged, every id in ids. Any game can offer a badge later, so it is not limited to games that
have had one. Badge Notifications' own endpoint - the page does not need Drops'. A card stores the row's
id; treat a card as picked if its gameId is in any row's ids. Search, limit (3-96, steps of 3),
offset; configuredGameIds returns only the rows those ids belong to. 403 while the flag is off.
OptionalconfiguredOptionallimit?: numberOptionaloffset?: numberOptionalsearch?: stringA server's setup. A server that never saved one gets the defaults (everything off, no filter).
"Force Missing Badges": sends, now, every badge still live that this server is set up for and has not been sent, rather than at the next 5-minute check. Never re-sends one already sent.
400 when badges are not set up or the platform is switched off; 403 for the launch flag; 429 within
5 minutes of the last press for this server and platform (error.code === 'rate_limited', count down
from error.retryAfterSeconds); 503 in the first minutes after the bot starts, before its first badge
check (that press does not start the cooldown). data.message is ready to show.
Send a test badge notification to the platform's saved channel. Never pings, writes no "already sent" record, so it can be pressed repeatedly. Uses the newest badge live on that platform right now, or a sample when there is none.
With Premium Plus it posts with the identity a real badge would: the feature webhook, or - given a
gameId - that game card's own channel and webhook. Without Premium Plus it is the platform channel,
as the bot, whatever is stored.
400 when the server is not set up, the platform is off, gameId has no card on that platform, or the
channel is unset / gone / missing permissions; 403 for the vote gate or the launch flag; 503 when the
server's shard cannot be reached.
data is a message to show as-is.
POSTs the collection for the same reason sendTestDropNotification does: one segment is the only
shape the API's catch-all guild routes cannot claim.
OptionalgameSave a server's setup. Scalars are field by field - omit one to leave it unchanged. kickGames /
twitchGames REPLACE that platform's cards, each card whole (an omitted override is null), so send
the full list. A card's gameId must be a real game of THAT platform (from
GET /data/drops/:platform/games); at most 50 per platform.
400 names the field on a bad value. 403 "Premium required" when a server without Premium Plus
sends a non-null card channelId / roleId / webhook, or a feature webhook with a value, or a
server without Premium turns kickAllGames / twitchAllGames on; null and false are always
accepted, so a lapsed server can clear them. 403 when a platform has more cards than
limits.gamesPerPlatform. A webhook username must be 1-80 characters and
cannot contain "discord" or "clyde"; avatarUrl must be https. Answers with the whole setup.
Badge Notifications - a server is pinged, once per badge, when a Kick or Twitch drops campaign offers a chat badge. Separate from Drops: every badge on an enabled platform, with an optional game filter, whether or not the server follows the game in Drops.
Behind the
badgeNotificationslaunch flag: every method answers 403 until it is beta/public for the caller. The feature is free, with limits by plan:BadgeAllGamesplan feature.defaultBadgeGames).CustomWebhooks), exactly as in Drops.data.limitssays which apply to the server, so the form can lock what it cannot use.