Tick the permissions you want and read off the exact bitmask plus a ready-to-paste OAuth2 authorize URL. Or paste any existing bitmask and see precisely which flags it turns on. Everything runs in your browser and every calculation uses 64-bit BigInt, so high permission bits never silently truncate the way 32-bit JavaScript bitwise operators do.
Generated authorize URL (scope bot applications.commands):
Apricus is a moderation and community bot. The 16 permissions in the recommended preset are the minimum it needs, and each one maps to a concrete feature rather than a vague reason. It asks for kick_members, ban_members and manage_messages so moderators can act on reports; manage_channels, manage_roles and manage_threads-adjacent thread flags so it can create and organise channels and threads on command; embed_links, attach_files and read_message_history so it can post readable logs and review context before acting; and use_external_emojis plus use_external_stickers so its responses render correctly in any server. It deliberately does not request administrator, manage_guild or view_audit_log.
Ready to try it with the exact preset above?
Bitmask 564496410471639 · scopes bot applications.commands
Exact link being used:https://discord.com/oauth2/authorize?client_id=1565375148717121616&permissions=564496410471639&scope=bot%20applications.commands
Every permission is a single bit, so the bitmask is just the sum of the values of the flags you enable — send_messages (2048) plus embed_links (16384) gives 18432. Two gotchas this tool avoids: first, some flags are above 2^31, and JavaScript's & and | operators coerce to 32-bit signed integers, which silently corrupts the result — so this page uses BigInt end to end. Second, an administrator bit makes every other permission moot, so a decoded bitmask that includes it is worth reading with suspicion. If you are auditing a bot, decode its install URL's permissions value before you accept it.
Apricus — moderation, logging and threads for your server.
Add Apricus to your serverPrefer to look around first? See the project home or the showcase gallery.
Most often because the other tool did the arithmetic with 32-bit integers. Anything above bit 31 wraps around and you get a plausible-looking but wrong number, which Discord then rejects or, worse, accepts with fewer permissions than you intended. This page keeps every value as a BigInt and only converts to a string at the end.
applications.commands in the scope?Only if the bot uses slash commands. If you remove it the install flow still works for a prefix-only bot, but slash commands will not appear in the server's command picker after installing.
Yes, without reinstalling: create or edit a role for the bot and toggle the permission switches, or set channel-level overrides. The role's effective permissions are what the bitmask value would have represented at install time, and channel overrides narrow them further.
Not by itself — create_polls is a huge number and grants almost nothing sensitive, while administrator is the value 8 and grants everything. Read the decoded flag names, not the magnitude. A small bitmask with administrator in it is far more dangerous than a large one without it.