Zrzur Developers

Servers

A bot joins a server when someone with Manage Server installs it. It can read the server, change its settings with the right permissions, manage emojis and leave.

What a bot cannot do

Server settings

PATCH /servers/{target} changes the name, description, icon, banner, categories and system message channels (needs Manage Server). Some fields (for example verification flags) can only be changed by Zrzur staff.

Emojis

Upload the image to the file server with the tag emojis (up to 500 KB by default), then create the emoji with the returned id:

PUT /custom/emoji/{emoji_id}
{ "name": "party", "parent": { "type": "Server", "id": "<server id>" } }

Needs Manage Customisation. Names use a-z, 0-9 and _.

Installed applications

GET /servers/{server_id}/applications lists the bots installed in a server, GET /servers/{server_id}/commands the commands members can use there.

Leaving

DELETE /servers/{target} makes the bot leave. Members see ServerMemberLeave; the bot gets ServerDelete for that server.

Reference

DELETE /custom/emoji/{emoji_id}

Delete Emoji. Delete an emoji by its id.

Permissions: Channel:ManageCustomisation · Rate limit: any_dlta, 20 / 10 s

GET /custom/emoji/{emoji_id}

Fetch Emoji. Fetch an emoji by its id.

Rate limit: any_dlta, 20 / 10 s

PATCH /custom/emoji/{emoji_id}

Edit Emoji. Edit an emoji by its id.

Permissions: Channel:ManageCustomisation · Rate limit: any_dlta, 20 / 10 s

PUT /custom/emoji/{emoji_id}

Create New Emoji. Create an emoji by its Autumn upload id.

Permissions: Channel:ManageCustomisation · Rate limit: any_dlta, 20 / 10 s

DELETE /invites/{target}

Delete Invite. Delete an invite by its id.

Permissions: Channel:ManageServer, Channel:ManageChannel · Rate limit: any_dlta, 20 / 10 s

GET /invites/{target}

Fetch Invite. Fetch an invite by its id.

Rate limit: any_dlta, 20 / 10 s

POST /invites/{target}

Join Invite. Join an invite by its ID

Not available to bots.

Rate limit: any_dlta, 20 / 10 s

DELETE /servers/{server_id}/vanity

Remove Custom Invite Link. Remove this server's custom invite link and free its name.

Rate limit: servers, 5 / 10 s

PUT /servers/{server_id}/vanity

Claim Custom Invite Link. Claim or change this server's custom invite link (zrzur.cc/<code>). Needs Manage Server and the Wings level that unlocks it.

Rate limit: servers, 5 / 10 s

POST /servers/{server}/channels

Create Channel. Create a new Text or Voice channel.

Permissions: Channel:ManageChannel · Rate limit: servers, 5 / 10 s

DELETE /servers/{target}

Delete / Leave Server. Deletes a server if owner otherwise leaves. Deleting (as owner) requires a validated MFA ticket (X-MFA-Ticket).

Rate limit: servers, 5 / 10 s

GET /servers/{target}

Fetch Server. Fetch a server by its id.

Permissions: Channel:ViewChannel · Rate limit: servers, 5 / 10 s

PATCH /servers/{target}

Edit Server. Edit a server by its id.

Permissions: Channel:ManageServer, Channel:ManageChannel, Channel:AssignRoles · Rate limit: servers, 5 / 10 s

PUT /servers/{target}/ack

Mark Server As Read. Mark all channels in a server as read.

Not available to bots.

Rate limit: servers, 5 / 10 s

GET /servers/{target}/automod

Fetch AutoMod rules. The server's AutoMod rules. Needs Manage Server.

Permissions: Channel:ManageServer · Rate limit: servers, 5 / 10 s

PUT /servers/{target}/automod

Set AutoMod rules. Replace the server's AutoMod rules (at most 10). Needs Manage Server.

Permissions: Channel:ManageServer · Rate limit: servers, 5 / 10 s

GET /servers/{target}/emojis

Fetch Server Emoji. Fetch all emoji on a server.

Rate limit: servers, 5 / 10 s

GET /servers/{target}/insights

Fetch Server Insights. Daily joins, leaves, members, messages, active members and voice minutes of a server for the last 7, 30 or 90 days, counted in the viewer's time zone, with where joins came from and the busiest channels. Needs Manage Server. Counts are aggregated; messages count only in channels the viewer can see; channel counts, active members and voice minutes of 1 to 4 are null.

Permissions: Channel:ManageServer · Rate limit: servers, 5 / 10 s

PUT /servers/{target}/safety/pause

Pause invites or DMs. Security actions: refuse every invite and Discover join, and / or stop DMs between members who aren't friends, for 1, 6, 12 or 24 hours (0 ends a pause). Needs Manage Server.

Permissions: Channel:ManageServer · Rate limit: servers, 5 / 10 s

GET /servers/{target}/soundboard

Fetch Soundboard. The sounds of a server and how many it may have.

Rate limit: servers, 5 / 10 s

DELETE /servers/{target}/soundboard/{sound_id}

Remove Sound. Remove a sound and its file (needs Manage Soundboard).

Rate limit: servers, 5 / 10 s

PATCH /servers/{target}/soundboard/{sound_id}

Edit Sound. Rename a sound, change its emoji or volume (needs Manage Soundboard).

Rate limit: servers, 5 / 10 s

PUT /servers/{target}/soundboard/{sound_id}

Add Sound. Add a sound by its Autumn upload id (tag sounds), which becomes its id. Needs Manage Soundboard; a server has 8 sounds, and 8 more per Wings level.

Rate limit: servers, 5 / 10 s

PUT /servers/{target}/soundboard/library/{library_id}

Add Sound from the Library. Add a ready-made sound of the sound library (GET /soundboard/library). Needs Manage Soundboard and counts like an upload; each library sound is on a server at most once. The name is the library name in your language unless you give one.

Rate limit: servers, 5 / 10 s

POST /servers/create

Create Server. Create a new server, optionally built from a blueprint in this one request.

Not available to bots.

Rate limit: servers, 5 / 10 s

GET /soundboard/library

Fetch Sound Library. The ready-made sounds any server can add to its soundboard, with their names in every language the app has.

Rate limit: any_dlta, 20 / 10 s

GET /soundboard/library/{id}/audio

Preview Library Sound. The file of a library sound. Add ?v=<version> from the list: the answer is cached for good.

Rate limit: any_dlta, 20 / 10 s