N'oluyo · Geliştirici Dokümanları · Son güncelleme: · https://noluyo.net/gelistirici

Roller

Roller için REST API rotaları.

Roller

Roller için REST API rotaları.

Sunucunun rollerini listele (listRoles)

GET https://noluyo.net/api/v1/guilds/{guild_id}/roles (GET /guilds/{guild_id}/roles)

Sunucunun, @everyone ve botların yönetilen rolleri dâhil tüm rollerini döndürür. @everyone rolünün ID'si sunucunun ID'siyle aynıdır.

  • Kimlik: Bot token'ı (Authorization: Bot <BOT_TOKEN>)
  • Hız sınırı: read (30 / 5s)

Parametreler

AdKonumTürZorunluAçıklama
guild_idpathstringevetSunucu ID'si.

Örnek çağrılar

curl -X GET "https://noluyo.net/api/v1/guilds/111500000000000000/roles" \
  -H "Authorization: Bot $BOT_TOKEN"
// JavaScript (noluyo-bot)
await bot.rest.listRoles("111500000000000000");
# Python (noluyo_bot)
await bot.rest.list_roles("111500000000000000")

Yanıt (200)

[
  {
    "id": "111500000000000000",
    "name": "@everyone",
    "color": 0,
    "hoist": false,
    "mentionable": false,
    "position": 0,
    "permissions": "1071698529857",
    "auto_assign": false
  },
  {
    "id": "111550000000000000",
    "name": "Örnek Bot",
    "color": 0,
    "hoist": false,
    "mentionable": false,
    "position": 1,
    "permissions": "68672",
    "auto_assign": false,
    "application_id": "111540000000000000"
  }
]

Hata kodları

  • HTTP 401: unauthorized
  • HTTP 403: temporarily_banned
  • HTTP 404: unknown_guild
  • HTTP 429: rate_limited
  • HTTP 503: maintenance

Rol oluştur (createRole)

POST https://noluyo.net/api/v1/guilds/{guild_id}/roles (POST /guilds/{guild_id}/roles)

Doğrudan @everyone'ın üstünde bir rol oluşturur. Gövde zorunludur; yalnızca {} bile olabilir. position burada yok sayılır; ad verilmezse rolün adı "yeni rol" olur. Kimse sahip olmadığı bir izni veremez.

  • Kimlik: Bot token'ı (Authorization: Bot <BOT_TOKEN>)
  • İzinler: ManageRoles
  • Hız sınırı: write (10 / 10s)

Parametreler

AdKonumTürZorunluAçıklama
guild_idpathstringevetSunucu ID'si.

Gövde alanları

AlanTürZorunluAçıklama
namestring-(1–100)
colorinteger-(0–16777215)
hoistboolean-
mentionableboolean-
positioninteger-Yalnızca güncellemede.
permissionspermissions-Ondalık metin olarak izin bit alanı. Metin yerine sayı veya tanımlı olmayan bitler invalid_body verir.
auto_assignboolean-

Örnek çağrılar

curl -X POST "https://noluyo.net/api/v1/guilds/111500000000000000/roles" \
  -H "Authorization: Bot $BOT_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"name":"Moderatör","color":3447003}'
// JavaScript (noluyo-bot)
await bot.rest.createRole("111500000000000000", { name: "Moderatör", color: 3447003 });
# Python (noluyo_bot)
await bot.rest.create_role("111500000000000000", {"name": "Moderatör", "color": 3447003})

Yanıt (201)

{
  "id": "111550000000000200",
  "name": "Moderatör",
  "color": 3447003,
  "hoist": true,
  "mentionable": true,
  "position": 1,
  "permissions": "8192",
  "auto_assign": false
}

Hata kodları

  • HTTP 400: validation_failed, invalid_body, max_roles
  • HTTP 401: unauthorized
  • HTTP 403: missing_permissions, temporarily_banned
  • HTTP 404: unknown_guild
  • HTTP 413: body_too_large
  • HTTP 429: rate_limited
  • HTTP 503: maintenance

Rolü güncelle (updateRole)

PATCH https://noluyo.net/api/v1/guilds/{guild_id}/roles/{role_id} (PATCH /guilds/{guild_id}/roles/{role_id})

Yalnızca gönderilen alanları değiştirir. Çağıran rolün üstünde olmalı, position da çağıranın en yüksek rolünün altında kalmalıdır. Yeni izin bitleri çağıranda bulunmalıdır. @everyone için name, position ve auto_assign, yönetilen rol için auto_assign true reddedilir.

  • Kimlik: Bot token'ı (Authorization: Bot <BOT_TOKEN>)
  • İzinler: ManageRoles
  • Hız sınırı: write (10 / 10s)

Parametreler

AdKonumTürZorunluAçıklama
guild_idpathstringevetSunucu ID'si.
role_idpathstringevetRol ID'si.

Gövde alanları

AlanTürZorunluAçıklama
namestring-(1–100)
colorinteger-(0–16777215)
hoistboolean-
mentionableboolean-
positioninteger-Yalnızca güncellemede.
permissionspermissions-Ondalık metin olarak izin bit alanı. Metin yerine sayı veya tanımlı olmayan bitler invalid_body verir.
auto_assignboolean-

Örnek çağrılar

curl -X PATCH "https://noluyo.net/api/v1/guilds/111500000000000000/roles/111550000000000000" \
  -H "Authorization: Bot $BOT_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"color":15158332}'
// JavaScript (noluyo-bot)
await bot.rest.updateRole("111500000000000000", "111550000000000000", { color: 15158332 });
# Python (noluyo_bot)
await bot.rest.update_role("111500000000000000", "111550000000000000", {"color": 15158332})

Yanıt (200)

{
  "id": "111550000000000000",
  "name": "Örnek Bot",
  "color": 15158332,
  "hoist": false,
  "mentionable": true,
  "position": 1,
  "permissions": "68672",
  "auto_assign": false,
  "application_id": "111540000000000000"
}

Hata kodları

  • HTTP 400: validation_failed, invalid_body, everyone_role, managed_role
  • HTTP 401: unauthorized
  • HTTP 403: missing_permissions, role_hierarchy, temporarily_banned
  • HTTP 404: unknown_guild, unknown_role
  • HTTP 413: body_too_large
  • HTTP 429: rate_limited
  • HTTP 503: maintenance

Rolü sil (deleteRole)

DELETE https://noluyo.net/api/v1/guilds/{guild_id}/roles/{role_id} (DELETE /guilds/{guild_id}/roles/{role_id})

Çağıranın üstünde olduğu bir rolü siler. @everyone ve yönetilen roller silinemez.

  • Kimlik: Bot token'ı (Authorization: Bot <BOT_TOKEN>)
  • İzinler: ManageRoles
  • Hız sınırı: write (10 / 10s)

Parametreler

AdKonumTürZorunluAçıklama
guild_idpathstringevetSunucu ID'si.
role_idpathstringevetRol ID'si.

Örnek çağrılar

curl -X DELETE "https://noluyo.net/api/v1/guilds/111500000000000000/roles/111550000000000000" \
  -H "Authorization: Bot $BOT_TOKEN"
// JavaScript (noluyo-bot)
await bot.rest.deleteRole("111500000000000000", "111550000000000000");
# Python (noluyo_bot)
await bot.rest.delete_role("111500000000000000", "111550000000000000")

Yanıt (204)

Yanıt gövdesi yok.

Hata kodları

  • HTTP 400: everyone_role, managed_role
  • HTTP 401: unauthorized
  • HTTP 403: missing_permissions, role_hierarchy, temporarily_banned
  • HTTP 404: unknown_guild, unknown_role
  • HTTP 429: rate_limited
  • HTTP 503: maintenance