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
| Ad | Konum | Tür | Zorunlu | Açıklama |
|---|---|---|---|---|
guild_id | path | string | evet | Sunucu 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
| Ad | Konum | Tür | Zorunlu | Açıklama |
|---|---|---|---|---|
guild_id | path | string | evet | Sunucu ID'si. |
Gövde alanları
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
name | string | - | (1–100) |
color | integer | - | (0–16777215) |
hoist | boolean | - | |
mentionable | boolean | - | |
position | integer | - | Yalnızca güncellemede. |
permissions | permissions | - | Ondalık metin olarak izin bit alanı. Metin yerine sayı veya tanımlı olmayan bitler invalid_body verir. |
auto_assign | boolean | - |
Ö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
| Ad | Konum | Tür | Zorunlu | Açıklama |
|---|---|---|---|---|
guild_id | path | string | evet | Sunucu ID'si. |
role_id | path | string | evet | Rol ID'si. |
Gövde alanları
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
name | string | - | (1–100) |
color | integer | - | (0–16777215) |
hoist | boolean | - | |
mentionable | boolean | - | |
position | integer | - | Yalnızca güncellemede. |
permissions | permissions | - | Ondalık metin olarak izin bit alanı. Metin yerine sayı veya tanımlı olmayan bitler invalid_body verir. |
auto_assign | boolean | - |
Ö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
| Ad | Konum | Tür | Zorunlu | Açıklama |
|---|---|---|---|---|
guild_id | path | string | evet | Sunucu ID'si. |
role_id | path | string | evet | Rol 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