Durations in plain words
7d, 12h, 1w2d, 90m or “2 weeks” — in English, Russian or Hebrew units. A server-wide maximum keeps grants reasonable.
A trial VIP for a week, a muted-helper role for a day, event access for a weekend. With BotGG temporary roles you give a role with a duration and forget about it: the bot removes it when the time is up, even across restarts.
/temprole add member:@Alex role:@VIP duration:7d reason:Giveaway prize

✅ @Alex got @VIP for 1 week — until October 17, 2026 8:00 PM (in 7 days).
Only you can see this

7d, 12h, 1w2d, 90m or “2 weeks” — in English, Russian or Hebrew units. A server-wide maximum keeps grants reasonable.
Expiry is checked every 15 seconds and stored in the database, so a restart or a new shard never forgets a role — and never removes one twice.
Members get a DM with the role, the end date and the reason, plus an optional “expires soon” reminder hours before it ends.
Every grant, extension, early removal and expiry is posted to a log channel of your choice, with who did it and why.
Roles above the bot or the staff member, managed roles and roles with dangerous permissions are refused — unless the owner put them on Privileged roles.
Someone leaves to dodge the timer? The clock keeps running and the role comes back when they rejoin. Or end grants on leave — your choice.
Open https://console.botgg.app, pick your server and switch on Temporary roles. Choose manager roles, the longest allowed duration, DMs and a log channel.
Run /temprole add member: @Alex role: @VIP duration: 7d reason: giveaway prize. The bot adds the role and DMs Alex.
Use /temprole extend to add time or /temprole remove to take the role now. /temprole list shows who has what.
The Active roles table lists every timed role with its expiry. Filter by member or role, extend with a duration stepper or remove in one click.
Moderators shouldn’t have to remember to remove a role next Tuesday. BotGG stores every temporary role with its end time and removes it on schedule. If someone takes the role away by hand in Discord, the timer is cleared too, so nothing comes back unexpectedly. A role the member already holds permanently is never turned into a temporary one.
Selling roles for coins? The Shop has timed role items built in. Need people to pick roles themselves? Use Reaction roles. And for timeouts and bans with a duration, see Moderation.
/temprole add member role duration [reason] — give a role for a while/temprole extend member role duration — add time/temprole remove member role — take it away now/temprole list [member] — active temporary rolesGenerated from the bot’s real command definitions. Full list on the commands page.
/temproleGive members a role for a limited time4 subcommands/temprole addmemberroledurationreason?Give a member a role for a while/temprole removememberroleTake a temporary role away now/temprole extendmemberroledurationAdd time to a temporary role/temprole listmember?Show active temporary rolesEvery feature works on the Free plan. Pro raises the limits and unlocks extras.
| Limit | Free | Pro |
|---|---|---|
| Active temporary roles | 200 | 10,000 |
Enable Temporary roles in the BotGG console, then run /temprole add, pick the member and the role and type a duration like 7d or 12h. The bot removes the role automatically when the time is up.
Nothing is lost. Every temporary role is stored in the database with its end time, and the bot checks for expired roles every 15 seconds after it starts again.
Yes. Use /temprole extend with the extra time, or open the Active roles table in the console and extend it with the duration stepper. The time is added to the current end date.
By default the timer keeps running and the role is given back if they rejoin before it ends. You can switch this off so leaving ends the grant.
Up to 200 active temporary roles on the Free plan and 10,000 on Pro. See pricing for every plan.
Add BotGG for free, then switch features on in the web console.