-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the rigel-server-rs wiki!
/ping
Returns information about the Rigel instance.
Response
{
"ping": "pong!",
"instance": {
"name": "My Rigel Instance",
"description": "A self-hosted Rigel server",
"image": "https://example.com/logo.png",
"correspondenceEmail": "contact@example.com",
"correspondenceUserID": "123456789012345678",
"frontPage": "https://example.com",
"tosPage": "https://example.com/tos"
}
}/auth/discord-callback
Authenticates a user via Discord OAuth2 and returns a session token.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
code |
string |
✅ | OAuth2 authorization code |
redirect_uri |
string |
✅ | OAuth2 redirect URI (must be valid URL) |
Response
{
"token": "MTIzNDU2Nzg5MDEyMzQ1Njc4OQ.XXXXXX.XXXXXXXXXXXXXXXXXXXXXXXX"
}/auth/sessions
Returns all active sessions for the authenticated user.
Headers
| Header | Type | Required | Description |
|---|---|---|---|
Authorization |
string |
✅ | User token |
Response
{
"user_sessions": [
{
"id_hash": "abc123",
"approx_last_used_time": 1701878400000,
"client_info": {
"os": "Windows",
"platform": "Desktop",
"location": "France"
}
}
]
}/auth/sessions/logout
Logs out one or more sessions by their ID hashes.
Headers
| Header | Type | Required | Description |
|---|---|---|---|
Authorization |
string |
✅ | User token |
Request Body
{
"session_id_hashes": ["abc123", "def456"]
}| Field | Type | Required | Description |
|---|---|---|---|
session_id_hashes |
string[] |
✅ | Array of session IDs to logout (1-100) |
Response
204 No Content
/gateway
Returns the WebSocket URL for connecting to the gateway.
Response
{
"url": "wss://gateway.example.com/gateway"
}/gateway/bot
Returns the WebSocket URL and sharding information for bots.
Response
{
"url": "wss://gateway.example.com/gateway",
"shards": 1,
"session_start_limit": {
"remaining": 0,
"total": 1,
"max_concurrency": 1,
"reset_after": 14400000
}
}/discoverable-guilds
Returns a list of all discoverable guilds.
Headers
| Header | Type | Required | Description |
|---|---|---|---|
Authorization |
string |
✅ | User token |
Response
{
"guilds": [
{
"id": "123456789012345678",
"name": "My Server",
"icon": "a_1234567890abcdef",
"banner": null,
"description": "A cool server",
"vanity_url_code": "myserver",
"approximate_member_count": 150,
"approximate_presence_count": 42
}
],
"offset": 0,
"limit": 10,
"total": 1
}/guilds
Creates a new guild. Requires Staff flag.
Request Body
{
"name": "My New Server",
"icon": "data:image/png;base64,..."
}| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
✅ | Guild name (2-100 characters) |
icon |
string? |
❌ | Base64 encoded image (png/jpg/gif/webp) |
Response
Returns a complete Guild object with channels, roles, and members.
/guilds/{guild.id}
Modifies a guild's settings. Requires MANAGE_GUILD permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id |
snowflake |
Guild ID |
Request Body
{
"name": "New Name",
"icon": "data:image/png;base64,...",
"banner": null,
"description": "A cool server description",
"system_channel_id": "123456789012345678",
"rules_channel_id": null
}| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
❌ | Guild name (2-100 characters) |
icon |
string? |
❌ | Base64 image or null to remove |
banner |
string? |
❌ | Base64 image or null to remove |
description |
string? |
❌ | Guild description (max 1000 chars) |
system_channel_id |
snowflake? |
❌ | System messages channel ID |
rules_channel_id |
snowflake? |
❌ | Rules channel ID |
/guilds/{guild.id}/delete
Permanently deletes a guild. Must be the guild owner.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id |
snowflake |
Guild ID |
Response
204 No Content
/guilds/{guild.id}/members/{user.id}
Kicks a member from the guild. Requires KICK_MEMBERS permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id |
snowflake |
Guild ID |
user.id |
snowflake |
User ID to kick |
Response
204 No Content
/guilds/{guild.id}/members/{user.id}/roles/{role.id}
Adds a role to a guild member. Requires MANAGE_ROLES permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id |
snowflake |
Guild ID |
user.id |
snowflake |
User ID |
role.id |
snowflake |
Role ID |
Response
204 No Content
/guilds/{guild.id}/members/{user.id}/roles/{role.id}
Removes a role from a guild member. Requires MANAGE_ROLES permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id |
snowflake |
Guild ID |
user.id |
snowflake |
User ID |
role.id |
snowflake |
Role ID |
Response
204 No Content
/guilds/{guild.id}/roles
Creates a new role in the guild. Requires MANAGE_ROLES permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id |
snowflake |
Guild ID |
Request Body
{
"name": "Moderators",
"color": 3447003,
"hoist": true,
"unicode_emoji": "🛡️",
"permissions": "1099511627775",
"mentionable": true
}| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
❌ | Role name (default: "new role") |
color |
integer |
❌ | RGB color value |
hoist |
boolean |
❌ | Display separately in sidebar |
unicode_emoji |
string? |
❌ | Unicode emoji for role icon |
permissions |
string |
❌ | Permission bit set as string |
mentionable |
boolean |
❌ | Allow anyone to @mention role |
/guilds/{guild.id}/roles
Modifies the positions of roles in the guild. Requires MANAGE_ROLES permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id |
snowflake |
Guild ID |
Request Body
[
{ "id": "123456789012345678", "position": 1 },
{ "id": "234567890123456789", "position": 2 }
]/guilds/{guild.id}/roles/{role.id}
Modifies a role's settings. Requires MANAGE_ROLES permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id |
snowflake |
Guild ID |
role.id |
snowflake |
Role ID |
Request Body
Same as Create Guild Role.
/invites/{invite.code}
Joins a guild using its vanity URL code.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
invite.code |
string |
Vanity URL code (1-32 chars) |
Request Body
{
"session_id": "abc123def456"
}| Field | Type | Required | Description |
|---|---|---|---|
session_id |
string |
❌ | Gateway session ID |
Response
{
"id": 0,
"type": 0,
"code": "myserver",
"expires_at": null,
"flags": 0,
"guild_id": "123456789012345678",
"guild": null,
"channel": null,
"new_member": true
}/channels/{channel.id}/messages
Returns messages from a channel. Requires VIEW_CHANNEL and READ_MESSAGE_HISTORY permissions.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
channel.id |
snowflake |
Channel ID |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit |
integer |
❌ | Number of messages (1-100, default: 50) |
before |
snowflake |
❌ | Get messages before this ID |
after |
snowflake |
❌ | Get messages after this ID |
around |
snowflake |
❌ | Get messages around this ID |
Response
[
{
"id": "123456789012345678",
"type": 0,
"timestamp": "2024-12-06T12:00:00.000Z",
"edited_timestamp": null,
"channel_id": "234567890123456789",
"content": "Hello, world!",
"flags": 0,
"author": {
"id": "345678901234567890",
"username": "User",
"global_name": "Display Name",
"avatar": "a_1234567890abcdef",
"banner": null,
"public_flags": 0
}
}
]/channels/{channel.id}/messages
Sends a message to a channel. Requires VIEW_CHANNEL and SEND_MESSAGES permissions.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
channel.id |
snowflake |
Channel ID |
Request Body
{
"content": "Hello, world!",
"nonce": "unique-id-123",
"tts": false
}| Field | Type | Required | Description |
|---|---|---|---|
content |
string |
✅ | Message content (1-4000 chars) |
nonce |
string |
❌ | Nonce for message deduplication |
tts |
boolean |
❌ | Text-to-speech (default: false) |
Response
Returns a Message object.
/channels/{channel.id}/messages/{message.id}
Edits a previously sent message. Only the author can edit their messages.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
channel.id |
snowflake |
Channel ID |
message.id |
snowflake |
Message ID |
Request Body
{
"content": "Edited message content"
}| Field | Type | Required | Description |
|---|---|---|---|
content |
string |
✅ | New message content (1-4000 chars) |
/channels/{channel.id}/messages/{message.id}
Deletes a message. Authors can delete their own messages, or requires MANAGE_MESSAGES permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
channel.id |
snowflake |
Channel ID |
message.id |
snowflake |
Message ID |
Response
204 No Content
/users/@me/guilds/{guild.id}
Leaves a guild. Cannot leave if you are the owner.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id |
snowflake |
Guild ID |
Response
204 No Content
/users/@me/settings
Updates the authenticated user's settings.
Request Body
{
"status": "online",
"locale": "fr",
"theme": "dark",
"developer_mode": true,
"background_gradient_preset": "midnight-blurple"
}| Field | Type | Required | Description |
|---|---|---|---|
status |
string |
❌ |
online, idle, dnd, invisible
|
locale |
string |
❌ | User locale (2-6 chars) |
theme |
string |
❌ |
dark or light
|
developer_mode |
boolean |
❌ | Enable developer mode |
background_gradient_preset |
string? |
❌ | Background gradient preset name |
Available Gradient Presets
mint-apple · citrus-sherbert · retro-raincloud · hanami · sunrise · cotton-candy · lofi-vibes · desert-khaki · sunset · chroma-glow · forest · crimson-moon · midnight-blurple · mars · dusk · under-the-sea · retro-storm · neon-nights · strawberry-lemonade · aurora · sepia · blurple-twilight
/users/{user.id}/profile
Returns a user's profile information.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
user.id |
snowflake |
User ID |
Response
{
"user_profile": {
"bio": "Hello, I'm a cool user!",
"pronouns": "they/them",
"accent_color": 16711680,
"theme_colors": [16711680, 255]
}
}
⚠️ Staff Only - These endpoints require theStaffuser flag.
/bots
Creates a new bot account.
Request Body
{
"username": "MyBot",
"avatar": "data:image/png;base64,...",
"banner": null
}| Field | Type | Required | Description |
|---|---|---|---|
username |
string |
✅ | Bot username (2-32 characters) |
avatar |
string? |
❌ | Base64 encoded avatar image |
banner |
string? |
❌ | Base64 encoded banner image |
Response
{
"id": "123456789012345678",
"username": "MyBot",
"discriminator": "0",
"avatar": null,
"banner": null,
"bot": true,
"public_flags": 0,
"token": "MTIzNDU2Nzg5MDEyMzQ1Njc4OQ.XXXXXX.XXXXXXXXXXXXXXXXXXXXXXXX"
}/bots/{bot.id}/reset
Regenerates the token for a bot.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
bot.id |
snowflake |
Bot ID |
Response
{
"token": "MTIzNDU2Nzg5MDEyMzQ1Njc4OQ.YYYYYY.YYYYYYYYYYYYYYYYYYYYYYYY"
}/bots/{bot.id}
Returns information about a bot.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
bot.id |
snowflake |
Bot ID |
Response
{
"id": "123456789012345678",
"username": "MyBot",
"discriminator": "0",
"avatar": null,
"banner": null,
"bot": true,
"public_flags": 0
}/bots/{bot.id}
Permanently deletes a bot account.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
bot.id |
snowflake |
Bot ID |
Response
204 No Content
/bots/{bot.id}/guilds/{guild.id}
Adds a bot to a guild.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
bot.id |
snowflake |
Bot ID |
guild.id |
snowflake |
Guild ID |
Response
204 No Content
Made with ❤️ by the Rigel Team