Ana içeriğe geç

Sunucu üyeleri

Sunucu üyesi, bir sunucuya katılmış bir hesaptır. Üyelik; yalnızca o sunucuda geçerli olan bir takma ad, roller, bir sunucu profili ve moderasyon durumu taşır. Filtrelenmiş üye sorguları Sunucu üyesi arama, yasaklamalar ise Sunucu moderasyonu sayfasındadır.

Tüm yollar https://tebhos.com/api/v1 adresine görelidir, kimlik doğrulama gerektirir ve hem kullanıcı oturumlarını hem de bot token'larını kabul eder; yalnızca kullanıcı olarak işaretlenen yollar bunun dışındadır (bu durumda geçerli bir bot token'ı 403 ACCESS_DENIED ile reddedilir). Sunucunun üyesi olmayan bir çağıran 403 FORBIDDEN alır. Eksik bir izin de 403 FORBIDDEN döndürür. Hata gövdeleri Hatalar sayfasındaki biçimi izler.

Başka bir üye üzerindeki işlemler rol hiyerarşisine uyar: çağıranın en yüksek rolü hedefinkinden kesinlikle daha yüksek olmalıdır; sahip herkes üzerinde işlem yapabilir, sahip üzerinde ise kimse işlem yapamaz.

Sunucu üyesi nesnesi

Bu sayfadaki, üye döndüren her /guilds/{guild_id}/members yolu bu nesneyi döndürür: Sunucu üyelerini listeleme, Geçerli sunucu üyesini alma, Sunucu üyesi alma ve başarılı bir Geçerli sunucu üyesini değiştirme ya da Sunucu üyesini değiştirme. Bir kullanıcı profilinin guild_member alanı da bu nesneyi kullanır.

Yapı

Alan Tür Açıklama
user kısmi kullanıcı nesnesi Gerçek avatar özeti, avatar_color ve flags ile birlikte hesap. bot her zaman bulunur; bir kişi için false olur
nick ?string Üyenin bu sunucudaki takma adı veya null
avatar ?string Üyenin sunucu avatarının özeti; hesap avatarını kullanıyorsa null
banner ?string Üyenin sunucu afişinin özeti veya null
accent_color ?integer Sunucu profili vurgu rengi veya null
roles array[snowflake] Üyenin rollerinin kimlikleri. @everyone hiçbir zaman dahil edilmez
joined_at ISO8601 zaman damgası Hesabın sunucuya katıldığı an; milisaniyeli ve Z sonekli
mute boolean Bir moderatörün üyeyi seste sunucu genelinde susturup susturmadığı
deaf boolean Bir moderatörün üyenin sesini sunucu genelinde kapatıp kapatmadığı
communication_disabled_until ?ISO8601 zaman damgası Üyenin iletişim zaman aşımının bittiği an veya null. Geçmişteki bir değer zaman aşımının sona erdiği anlamına gelir
profile_flags ?integer Sunucu profili bayrakları
mention_flags ?integer Üyenin bu sunucu için yanıtlarda bahsetme tercihi; hesap ayarını kullanmak için null

REST yanıtları guild_id içermez.

Örnek

{
  "user": {
    "id": "1489002177550843906",
    "username": "ada",
    "discriminator": "0000",
    "global_name": "Ada",
    "avatar": "5f2a9c",
    "avatar_color": 3447003,
    "flags": 0,
    "bot": false
  },
  "nick": "Ada L.",
  "avatar": null,
  "banner": null,
  "accent_color": null,
  "roles": ["1489002177550843910"],
  "joined_at": "2026-08-14T09:12:44.000Z",
  "mute": false,
  "deaf": false,
  "communication_disabled_until": null,
  "profile_flags": null,
  "mention_flags": null
}

Gateway üye nesnesi

Ready yükü ile Guild Member Add ve Guild Member Update olayları aynı sunucu üyesi nesnesini taşır. Olaylar bu nesneye guild_id ekler.

TEBHOS üye nesnesi

Web uygulamasının kullandığı eski /servers/{guild_id}/members yolları (GET /servers/{guild_id}/members, GET /servers/{guild_id}/members/@me ve GET /servers/{guild_id}/members/{user_id}), sunucu üyesi nesnesi yerine bu daha zengin, TEBHOS'a özgü nesneyi döndürür. Nesne, standart üye alanlarını (user, roles, joined_at, mute, deaf) TEBHOS uygulamalarının kullandığı düz kolaylık alanlarıyla birleştirir. GET /servers/{guild_id}/members, offset (varsayılan 0) ve limit (1-200 aralığına sıkıştırılır, varsayılan 100) ile sayfalar, üyeleri katılma zamanına göre sıralar ve toplam üye sayısını X-Total-Count başlığında döndürür.

Yapı

Alan Tür Açıklama
user üye kullanıcı nesnesi Üyeliğin ait olduğu hesap
roles array[snowflake] Üyenin rollerinin kimlikleri, en yüksek konumdaki önce. @everyone hiçbir zaman dahil edilmez
joined_at ISO8601 zaman damgası Hesabın sunucuya katıldığı an
nickname ?string Üyenin bu sunucudaki takma adı
timeout_until ?ISO8601 zaman damgası Üyenin iletişim zaman aşımının bittiği an veya null. Geçmişteki bir değer zaman aşımının sona erdiği anlamına gelir
mute boolean Bir moderatörün üyeyi seste sunucu genelinde susturup susturmadığı
deaf boolean Bir moderatörün üyenin sesini sunucu genelinde kapatıp kapatmadığı
custom_roles array[üye rolü nesnesi] Üyenin rolleri görüntüleme verileriyle, en yüksek konumdaki önce
mention_flags ?integer Üyenin bu sunucu için yanıtlarda bahsetme tercihi; hesap ayarını kullanmak için null
avatar_url ?string Üyenin sunucuya özel avatarının tanımlayıcısı; hesap avatarını kullanıyorsa null
id snowflake Kullanıcı kimliği (user.id ile aynı)
profile_id snowflake Kullanıcı kimliği (user.id ile aynı)
name string Hesabın görünen adı
username ?string Hesabın kullanıcı adı
image_url string Hesabın avatar URL'si
bot boolean Hesabın bot olup olmadığı
account_created_at ?ISO8601 zaman damgası Hesabın oluşturulduğu an
invite_code ?string Kaydedilmişse üyenin katıldığı davet kodu
custom_status ?string Bu yanıtta her zaman null
active_frame_url ?string Bu yanıtta her zaman null
active_badge_url ?string Her zaman null
active_badge_name ?string Her zaman null
inviter_name ?string Her zaman null
inviter_image_url ?string Her zaman null
role string Her zaman boş bir string. Eski istemciler için tutulur

Üye kullanıcı nesnesi

Alan Tür Açıklama
id snowflake Kullanıcı kimliği
username string Kullanıcı adı; hesabın kullanıcı adı yoksa görünen ad
discriminator string Bu yanıtta her zaman "0"
global_name ?string Görünen ad
avatar null Bu yanıtta her zaman null; image_url kullanın
avatar_color null Bu yanıtta her zaman null
flags integer Bu yanıtta her zaman 0
image_url string Avatar URL'si
bot? boolean Yalnızca bot hesabında bulunur ve true olur
system? boolean Yalnızca sistem hesabında bulunur ve true olur

Üye rolü nesnesi

Alan Tür Açıklama
id snowflake Rol kimliği
name string Rol adı
color string #RRGGBB biçiminde rol rengi
display_separately boolean Rolün hoist değeri
position integer Rol konumu

Örnek

{
  "user": {
    "id": "1489002177550843906",
    "username": "ada",
    "discriminator": "0",
    "global_name": "Ada",
    "avatar": null,
    "avatar_color": null,
    "flags": 0,
    "image_url": "https://tebhos.com/api/v1/avatars/1489002177550843906/5f2a9c.webp"
  },
  "roles": ["1489002177550843910"],
  "joined_at": "2026-08-14T09:12:44+00:00",
  "nickname": "Ada L.",
  "timeout_until": null,
  "mute": false,
  "deaf": false,
  "custom_roles": [
    {"id": "1489002177550843910", "name": "Moderator", "color": "#3498DB", "display_separately": true, "position": 4}
  ],
  "mention_flags": null,
  "avatar_url": null,
  "id": "1489002177550843906",
  "profile_id": "1489002177550843906",
  "name": "Ada",
  "username": "ada",
  "image_url": "https://tebhos.com/api/v1/avatars/1489002177550843906/5f2a9c.webp",
  "bot": false,
  "account_created_at": "2026-01-02T10:00:00+00:00",
  "invite_code": "a1b2c3d4",
  "custom_status": null,
  "active_frame_url": null,
  "active_badge_url": null,
  "active_badge_name": null,
  "inviter_name": null,
  "inviter_image_url": null,
  "role": ""
}

Sunucu üyelerini listeleme

GET /guilds/{guild_id}/members

Artan kullanıcı kimliğine göre sıralanmış, en fazla limit adet sunucu üyesi nesnesinden oluşan bir dizi döndürür. Üyelik gerektirir; üye olmayan bir çağıran 403 MISSING_ACCESS alır. Hiçbir izin biti denetlenmez.

Hız sınırı: guild:members, hesap ve sunucu başına 10 saniyede 40 (diğer üye okumaları, üye arama ve Sunucu yasaklamalarını listeleme ile paylaşılır).

Sorgu parametreleri

Alan Tür Açıklama
limit? integer Döndürülecek en fazla üye sayısı, 1-1000 (varsayılan 1)
after? snowflake Yalnızca kullanıcı kimliği bu kullanıcı kimliğinden yüksek olan üyeleri döndür

1-1000 aralığı dışındaki veya tamsayı olmayan bir limit, limit üzerinde INVALID_FORMAT alan koduyla 400 INVALID_FORM_BODY döndürür. Snowflake olmayan bir after da 400 INVALID_FORM_BODY döndürür. offset parametresi ve toplam sayı başlığı yoktur.

Tüm üyeleri okumak için after olmadan başlayın, ardından bir sayfa limit değerinden az üye içerene dek isteği after alanını alınan son üyenin user.id değerine ayarlayarak tekrarlayın.

curl "https://tebhos.com/api/v1/guilds/1489002177550843904/members?limit=1000&after=1489002177550843906" \
  -H "Authorization: Bot $TEBHOS_BOT_TOKEN"

Geçerli sunucu üyesini alma

GET /guilds/{guild_id}/members/@me

Çağıranın kendi sunucu üyesi nesnesini döndürür. Üyelik gerektirir; üye olmayan bir çağıran 403 MISSING_ACCESS alır.

Hız sınırı: guild:members, hesap ve sunucu başına 10 saniyede 40.

Sunucu üyesi alma

GET /guilds/{guild_id}/members/{user_id}

Bir üyenin sunucu üyesi nesnesini döndürür. Üyelik gerektirir; üye olmayan bir çağıran 403 MISSING_ACCESS alır. Üye olmayan bir kullanıcı 404 UNKNOWN_MEMBER döndürür.

Hız sınırı: guild:members, hesap ve sunucu başına 10 saniyede 40.

Geçerli sunucu üyesini değiştirme

PATCH /guilds/{guild_id}/members/@me

Çağıranın kendi takma adını ve sunucu profilini günceller. Üyelik gerektirir. Sunucunun her üyesi Guild Member Update alır.

Hız sınırı: guild:member:update, hesap ve sunucu başına 10 saniyede 20.

JSON gövdesi

Her alan isteğe bağlıdır; gönderilmeyen alan değişmeden kalır.

Alan Tür Açıklama
nick? ?string Takma ad; kırpıldıktan sonra en fazla 32 karakter. null veya boş string onu kaldırır
nickname? string nick ile aynı; ikisi birlikte gönderilirse bu önceliklidir. Boş string takma adı kaldırır
bio? string Sunucu profili biyografisi, en fazla 4000 karakter. Boş string onu kaldırır
pronouns? string Sunucu zamirleri, en fazla 40 karakter. Boş string onları kaldırır
accent_color? integer RGB tamsayısı olarak sunucu profili vurgu rengi
accent_clear? boolean true sunucu vurgu rengini kaldırır
avatar_unset? boolean true sunucu avatarını kaldırır
banner_unset? boolean true bu sunucu için afişi gizler
mention_flags? integer Bu sunucu için yanıtlarda bahsetme tercihi
  • Takma adı değiştirmek CHANGE_NICKNAME gerektirir. Bu izin yoksa takma ad değişikliği sessizce atlanır ve diğer alanlar yine uygulanır. Zaman aşımındaki bir üye takma adını değiştirmeye çalışırsa 403 FORBIDDEN alır.
  • bio, pronouns, accent_color, accent_clear, avatar_unset ve banner_unset sunucu profili özellikleridir ve TEBHOS Pro gerektirir; Pro yoksa isteğin tamamı 403 FORBIDDEN ile başarısız olur.
  • bio, pronouns ve vurgu rengi, üye ve sunucu başına 30 dakikada en fazla 25 kez değiştirilebilir. Bunu aşan bir değişiklik 400 INVALID_FORM_BODY ile ve BIO_CHANGED_TOO_MANY_TIMES, PRONOUNS_CHANGED_TOO_MANY_TIMES veya ACCENT_COLOR_CHANGED_TOO_MANY_TIMES alan koduyla başarısız olur. Mevcut değeri göndermek sayılmaz.

Başarılı bir istek, çağıranın güncellenmiş sunucu üyesi nesnesiyle birlikte 200 döndürür.

curl -X PATCH https://tebhos.com/api/v1/guilds/1489002177550843904/members/@me \
  -H "Authorization: Bot $TEBHOS_BOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"nick": "Build Bot"}'

Sunucu avatarı ve afişi

Sunucuya özel bir avatar veya afiş görüntüsü iki adımda yüklenir. Her ikisi de TEBHOS Pro gerektirir ve yalnızca kullanıcı içindir:

  1. Avatarı değiştirme ve Afişi değiştirme sayfalarında anlatıldığı gibi hesap avatarı veya afişi için bir yükleme URL'si isteyin ve görüntüyü yükleyin.
  2. Hesap için onaylamak yerine, {"storage_key": string} gövdesiyle POST /servers/{guild_id}/members/@me/avatar/confirm veya POST /servers/{guild_id}/members/@me/banner/confirm çağrısıyla sunucu için onaylayın.

Sunucu avatarı ve sunucu afişi, üye ve sunucu başına 30 dakikada en fazla 25 kez değiştirilebilir (alan kodları AVATAR_CHANGED_TOO_MANY_TIMES ve BANNER_CHANGED_TOO_MANY_TIMES).

Sunucu üyesini değiştirme

PATCH /guilds/{guild_id}/members/{user_id}

Bir üyeye tek bir moderasyon değişikliği uygular. Başarılı her değişiklik, üyenin güncellenmiş sunucu üyesi nesnesiyle birlikte 200 döndürür ve eksiksiz üyeyle birlikte Guild Member Update gönderir.

Hız sınırı: guild:member:update, istemci ve sunucu başına 10 saniyede 20.

JSON gövdesi

Alan Tür Açıklama
mute? boolean Üyeyi seste sunucu genelinde sustur veya susturmayı kaldır
deaf? boolean Üyenin sesini sunucu genelinde kapat veya aç
channel_id? ?snowflake Üyeyi bu ses kanalına taşı veya sesten bağlantısını kesmek için null
connection_id? string Taşımayı veya bağlantı kesmeyi yalnızca bu ses bağlantısına uygula (varsayılan: tüm bağlantılar)
roles? array[snowflake] Üyenin eksiksiz yeni rol kümesi
nick? ?string Üyenin takma adı, en fazla 32 karakter. null veya boş string onu kaldırır
nickname? ?string nick ile aynı
communication_disabled_until? ?ISO8601 zaman damgası Üyenin zaman aşımının bittiği an veya zaman aşımını kaldırmak için null
timeout_reason? string Yeni bir zaman aşımıyla birlikte denetim kaydına yazılan neden

İstek başına tek tür değişiklik

TEBHOS istek başına yalnızca bir alan grubunu şu öncelik sırasıyla uygular: ses (mute, deaf, channel_id), ardından roles, ardından takma ad, ardından communication_disabled_until. Aynı istekteki daha düşük bir gruptan gelen alanlar yok sayılır. Birden fazla şeyi değiştirmek için ayrı istekler gönderin. Bu alanlardan hiçbirini içermeyen bir gövde 400 BAD_REQUEST döndürür.

Ses moderasyonu (mute, deaf, channel_id). mute ve deaf ikisi de MUTE_MEMBERS gerektirir; channel_id MOVE_MEMBERS gerektirir. Başka bir üye üzerinde işlem yapmak ayrıca daha yüksek bir rütbe gerektirir. Üye sunucuda sese bağlı olmalıdır.

Durum Kod Koşul
400 USER_NOT_IN_VOICE Üye bir ses kanalında değil veya connection_id üyenin bağlantılarından biri değil
400 INVALID_FORM_BODY Hedef mevcut değil (errors[0].code CHANNEL_DOES_NOT_EXIST) veya bir ses kanalı değil (CHANNEL_MUST_BE_VOICE)
403 MISSING_PERMISSIONS Çağıranın veya üyenin hedefte CONNECT izni yok
404 UNKNOWN_MEMBER Kullanıcı üye değil

Taşıma bir MEMBER_MOVE, bağlantı kesme bir MEMBER_DISCONNECT, susturma veya sağırlaştırma değişikliği ise bir MEMBER_UPDATE denetim girişi oluşturur.

Roller (roles). Üyenin rol kümesini değiştirir. Sunucu sahibi herhangi bir rolü atayabilir. Diğer herkes MANAGE_ROLES iznine sahip olmalı ve eklenen veya kaldırılan her rolden daha yüksek rütbede olmalıdır; hedefin kendi rütbesi denetlenmez. Bu sunucunun rolü olmayan kimlikler atılır. @everyone rolünü dahil etmek 400 BAD_REQUEST döndürür. Geçici bir davetle katılmış bir üyeye rol vermek üyeliği kalıcı hale getirir. Denetim girişi oluşturulmaz.

Takma ad (nick veya nickname). Başka bir üyenin takma adını değiştirmek MANAGE_NICKNAMES ve daha yüksek bir rütbe gerektirir. user_id çağıranın kendisiyse istek bunun yerine Geçerli sunucu üyesini değiştirme kurallarını izler.

Zaman aşımı (communication_disabled_until). MODERATE_MEMBERS ve daha yüksek bir rütbe gerektirir; hedef çağıranın kendisiyse veya ADMINISTRATOR iznine sahipse 403 FORBIDDEN ile reddedilir. Geçmişteki bir zaman zaman aşımını kaldırır; 365 günden daha ileri bir zaman 400 INVALID_FORM_BODY döndürür. RFC 3339 zaman damgası olmayan bir değer 400 BAD_REQUEST döndürür. Zaman aşımı ayarlamak bir denetim girişi oluşturur (bkz. MEMBER_TIMEOUT). Zaman aşımı sürdüğü müddetçe üye sunucuda iletişim kuramaz; bkz. İletişim zaman aşımı.

Üye olmayan bir hedef; roller, takma ad ve zaman aşımı grupları için 404 NOT_FOUND döndürür.

curl -X PATCH https://tebhos.com/api/v1/guilds/1489002177550843904/members/1489002177550843906 \
  -H "Authorization: Bot $TEBHOS_BOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"communication_disabled_until": "2026-09-24T12:00:00Z", "timeout_reason": "Spam"}'

Eski zaman aşımı ve takma ad yolları

Web uygulaması ayrıca {"timeout_until": ?string, "reason"?: string} ile POST /servers/{guild_id}/members/{user_id}/timeout, DELETE /servers/{guild_id}/members/{user_id}/timeout ve {"nickname": string} ile PATCH /servers/{guild_id}/members/{user_id}/nickname yollarını kullanır. Bunlar yukarıdaki alanlarla aynı kuralları izler.

Sunucu üyesini çıkarma

DELETE /guilds/{guild_id}/members/{user_id}

Bir üyeyi sunucudan atar. KICK_MEMBERS ve hedeften daha yüksek bir rütbe gerektirir. {"message": string} ile 200 döndürür.

Hız sınırı: guild:member:remove, hesap ve sunucu başına 10 saniyede 20.

Çağıranın kendisi, sunucu sahibi ve üye olmayan bir kullanıcı için 404 NOT_FOUND döner.

Kalan üyeler Guild Member Remove, çıkarılan hesabın oturumları ise Guild Delete alır. Sunucu hesabın sunucu klasörlerinden kaldırılır ve bir MEMBER_KICK denetim kaydı girişi oluşturulur. Çıkarılan üye takma adını, rollerini ve sunucu profilini kaybeder; bir davetle yeniden katılabilir.

Sunucu sahipliğini devretme

POST /guilds/{guild_id}/transfer-ownership

Başka bir üyeyi sunucu sahibi yapar ve güncellenmiş sunucu nesnesini döndürür. Yalnızca kullanıcı. Yalnızca mevcut sahip çağırabilir. Sunucu Guild Update alır.

Hız sınırı: guild:update, istemci ve sunucu başına 10 saniyede 20.

JSON gövdesi

Alan Tür Açıklama
new_owner_id snowflake Sahip olacak üye

Parola veya sudo kanıtı gerekmez. Yalnızca owner_id değişir: önceki sahip üyeliğini ve rollerini korur. Sunucunun bir İş Sınıfı (Business Class) aboneliği varsa ayrıcalıkları yeni sahibe geçer.

Durum Kod Koşul
400 BAD_REQUEST new_owner_id eksik veya snowflake değil, çağıranın kendisi ya da sunucunun üyesi değil
403 FORBIDDEN Çağıran sahip değil
curl -X POST https://tebhos.com/api/v1/guilds/1489002177550843904/transfer-ownership \
  -H "Authorization: Bearer $TEBHOS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"new_owner_id": "1489002177550843906"}'

Sunucu üyesine rol ekleme

PUT /guilds/{guild_id}/members/{user_id}/roles/{role_id}

Bir üyeye tek bir rol ekler. {"message": string} ile 200 döndürür. Sunucu Guild Member Update alır.

Hız sınırı: guild:member:role:add, istemci ve sunucu başına 10 saniyede 20.

  • Sunucu sahibi sunucunun herhangi bir rolünü ekleyebilir; var olmayan bir rol 404 NOT_FOUND döndürür.
  • Diğer herkes MANAGE_ROLES ve rolden daha yüksek bir rütbe gerektirir; var olmayan bir rol 403 FORBIDDEN döndürür.
  • @everyone rolü 400 BAD_REQUEST döndürür.
  • Üye olmayan bir kullanıcı 404 NOT_FOUND döndürür.

Üyenin zaten sahip olduğu bir rolü eklemek değişiklik yapmadan başarılı olur. Denetim girişi oluşturulmaz.

Sunucu üyesinden rol kaldırma

DELETE /guilds/{guild_id}/members/{user_id}/roles/{role_id}

Bir üyeden tek bir rolü kaldırır. {"message": string} ile 200 döndürür. Sunucu üyesine rol ekleme ile aynı kurallar geçerlidir ve sunucu Guild Member Update alır.

Hız sınırı: guild:member:role:remove, hesap ve sunucu başına 10 saniyede 20.