Skip to content

Guilds

A guild (called a “server” in the UI) is a collection of users, channels, and roles. Your bot always operates inside a specific guild — commands, XP, moderation are all scoped to guild_id.

Fields your bot actually uses:

{
"id": "1424883034267582464",
"name": "Test server",
"icon": null,
"banner": null,
"owner_id": "974...",
"roles": [ ... ],
"emojis": [ ... ],
"stickers": [ ... ],
"features": [],
"system_channel_id": "...",
"member_count": 3,
"channels": [ ... ]
}
FieldTypeDescription
idsnowflakeGuild ID
namestringDisplay name (2–100 chars)
iconstring | nullIcon hash. URL: https://floodilka.com/icons/<guild_id>/<icon>.png
bannerstring | nullBanner hash
owner_idsnowflakeOwner (can never be a bot)
rolesarray of RoleAll guild roles
emojisarrayCustom emojis
stickersarrayGuild stickers
featuresarray of stringEnabled features: COMMUNITY, VERIFIED, PARTNERED, etc.
system_channel_idsnowflake | nullChannel for system announcements (joins, level-ups)
member_countintegerMember count
channelsarray of ChannelAll channels (in GUILD_CREATE, not in REST responses)
{
"id": "1424...",
"name": "Moderator",
"color": 3447003,
"hoist": true,
"position": 5,
"permissions": "268435456",
"managed": false,
"mentionable": true
}
FieldTypeDescription
idsnowflakeRole ID
namestringName
colorintegerRGB colour, 0 for default
hoistbooleanShow separately in the member list
positionintegerHierarchy position. Higher = stronger
permissionsstringPermission bitfield as a string (see Permissions)
managedbooleanManaged by an integration — not editable
mentionablebooleanCan be mentioned with @
{
"user": { ... },
"nick": "Head Mod",
"roles": ["1424...", "1424..."],
"joined_at": "2026-04-01T12:00:00.000Z",
"premium_since": null,
"deaf": false,
"mute": false,
"pending": false,
"communication_disabled_until": null
}
  • user — embedded User object
  • nick — guild-specific nickname (null — falls back to user.global_name or user.username)
  • roles — array of role IDs (does not include @everyone)
  • communication_disabled_until — timeout (ISO timestamp until which the member can’t send messages; null if not timed out)
  • pending — member hasn’t passed member-screening yet

Full Guild object. Heavy — don’t call it in a hot path.

Member list with pagination:

  • limit — 1–1000 (default 1)
  • after — snowflake of the last member you got

For most bots it’s simpler to rely on GUILD_CREATE + GUILD_MEMBER_ADD/UPDATE/REMOVE gateway events than to hit this endpoint.

A specific member.

Update a member:

  • nick (MANAGE_NICKNAMES)
  • roles array (MANAGE_ROLES)
  • mute / deaf (MUTE_MEMBERS / DEAFEN_MEMBERS)
  • communication_disabled_until — timeout (MODERATE_MEMBERS)
  • channel_id — move in voice (MOVE_MEMBERS)

Example: timeout for 10 minutes:

Окно терминала
curl -X PATCH https://floodilka.com/api/v1/guilds/$GID/members/$UID \
-H "Authorization: Bot $TOKEN" \
-H "Content-Type: application/json" \
-d '{"communication_disabled_until": "2026-04-23T23:00:00.000Z"}'

PUT /guilds/:guild_id/members/:user_id/roles/:role_id

Section titled “PUT /guilds/:guild_id/members/:user_id/roles/:role_id”

DELETE /guilds/:guild_id/members/:user_id/roles/:role_id

Section titled “DELETE /guilds/:guild_id/members/:user_id/roles/:role_id”

Add / remove a single role without sending the entire roles array. Requires MANAGE_ROLES + hierarchy.

Kick. Requires KICK_MEMBERS.

Ban. Requires BAN_MEMBERS.

{ "delete_message_days": 7 }

delete_message_days (0–7) — purge the banned user’s messages from the last N days.

List bans / lift a ban. Both require BAN_MEMBERS.

POST /guilds/:guild_id/roles / PATCH / DELETE

Section titled “POST /guilds/:guild_id/roles / PATCH / DELETE”

Role CRUD. Requires MANAGE_ROLES.

Audit log — details.

  • Channels — channels inside guilds
  • Messages — send messages into a guild channel
  • EventsGUILD_MEMBER_ADD, GUILD_ROLE_UPDATE, and the rest
  • Audit log — read the moderator action log