Sunucular¶
Sunucu (guild), kendi kanalları, rolleri, üyeleri, ifadeleri ve ayarları olan bir topluluktur. Bu sayfa sunucu nesnesini ve sunucu düzeyindeki işlemleri kapsar. İlgili kaynaklar kendi sayfalarında yer alır:
- Sunucu kanalları: kanalları ve kategorileri listeleme, oluşturma ve sıralama
- Sunucu üyeleri: üyeler, takma adlar, zaman aşımları, üye rolleri ve sahiplik devri
- Sunucu moderasyonu: yasaklamalar
- Roller ve izinler: rol nesnesi, rol yolları ve izin bitleri
- Sunucu emojileri, Sunucu çıkartmaları ve Sunucu denetim kayıtları
Tüm yollar https://tebhos.com/api/v1 adresine görelidir ve kimlik doğrulama gerektirir. Yalnız kullanıcı olarak işaretlenen yollar yalnız kullanıcı oturumu kabul eder; geçerli bir Bot <token> kimlik bilgisi 403 ACCESS_DENIED ile reddedilir. Bu sayfadaki diğer her yol bot token'ı da kabul eder. Geçerli kullanıcının sunucularını listele ve Sunucuyu al ayrıca guilds kapsamlı bir OAuth2 erişim token'ını da kabul eder; diğer her yol geçerli bir erişim token'ını 403 ACCESS_DENIED ile yanıtlar. Hata gövdeleri Hatalar sayfasındaki biçime uyar.
Sunucunun üyesi olmayan bir çağıran 403 FORBIDDEN alır. Üyelik önce denetlendiği için, üye kapsamlı yollarda var olmayan bir sunucu kimliği de 403 döndürür.
İki yol ailesi
TEBHOS sunucu API'sini /guilds/{guild_id}/... altında sunar. Web uygulaması ayrıca TEBHOS'a özgü biçimler döndüren birkaç eski /servers/{guild_id}/... yolunu da kullanır. Bu belge /guilds yollarını açıklar ve bir /servers yolundan yalnız bir özelliğe ulaşmanın tek yolu olduğunda söz eder.
Sunucu nesnesi¶
Sunucu nesnesi Sunucuyu al, Sunucuyu değiştir, Sunucu oluştur ve Geçerli kullanıcının sunucularını listele tarafından döndürülür; ayrıca Gateway Guild Update olayının yüküdür. Ready yükü her sunucu için aynı alanları taşır.
Yapı¶
| Alan | Tür | Açıklama |
|---|---|---|
| id | snowflake | Sunucunun kimliği |
| name | string | Sunucunun adı (1-100 karakter) |
| icon | ?string | Simge hash'i. Hareketli bir simge hash'i a_ ile başlar |
| banner | ?string | Afiş hash'i; sunucu bir afiş rengi hazır ayarı kullanıyorsa CSS gradyan dizesi (aşağıya bakın) |
| banner_width | ?integer | Piksel cinsinden afiş genişliği |
| banner_height | ?integer | Piksel cinsinden afiş yüksekliği |
| splash | ?string | Davet arka planı hash'i |
| splash_width | ?integer | Piksel cinsinden davet arka planı genişliği |
| splash_height | ?integer | Piksel cinsinden davet arka planı yüksekliği |
| embed_splash | ?string | Çözümlenmiş davet kartı görsel URL'si: ayarlanmışsa gömme arka planı, aksi halde afiş URL'si |
| embed_splash_width | ?integer | Piksel cinsinden gömme arka planı genişliği |
| embed_splash_height | ?integer | Piksel cinsinden gömme arka planı yüksekliği |
| splash_card_alignment | integer | Davet kartı hizalaması |
| vanity_url_code | ?string | Özel davet kodu veya null |
| owner_id | snowflake | Sunucu sahibinin kimliği |
| system_channel_id | ?snowflake | Üye katılma mesajlarını alan metin kanalı |
| system_channel_flags | integer | Sistem kanalı bayrakları |
| rules_channel_id | ?snowflake | Kurallar kanalı. Hiçbir HTTP yolu bunu ayarlamaz |
| afk_channel_id | ?snowflake | AFK ses kanalı |
| afk_timeout | integer | Saniye cinsinden AFK zaman aşımı (hiç ayarlanmamışsa 0) |
| features | array[string] | Alfabetik sıralı, etkin sunucu özellikleri |
| verification_level | integer | Doğrulama düzeyi |
| mfa_level | integer | MFA düzeyi |
| explicit_content_filter | integer | Uyumluluk için saklanır (0-2). TEBHOS buna dayalı bir içerik filtresi uygulamaz |
| default_message_notifications | integer | Varsayılan mesaj bildirim düzeyi |
| disabled_operations | integer | Ayrılmış bit alanı; bir örnek (instance) yöneticisi ayarlamadıkça 0 |
| message_history_cutoff | ?ISO8601 zaman damgası | READ_MESSAGE_HISTORY izni olmayan bir üyenin okuyabileceği en eski mesaj; null, böyle bir üyenin hiç geçmiş okuyamadığı anlamına gelir |
| nsfw | boolean | Her zaman false; TEBHOS'ta yaş kısıtlamalı sunucu yoktur |
| nsfw_level | integer | Her zaman 0 |
| content_warning_level | integer | Her zaman 0 |
| content_warning_text | null | Her zaman null |
| member_count | ?integer | Üye sayısı. Aşağıdaki nota bakın |
| image_url | ?string | TEBHOS eki: çözümlenmiş simge URL'si |
| banner_url | ?string | TEBHOS eki: çözümlenmiş afiş URL'si veya gradyan dizesi |
| splash_url | ?string | TEBHOS eki: çözümlenmiş davet arka planı URL'si |
| embed_splash_url | ?string | TEBHOS eki: çözümlenmiş gömme arka planı URL'si |
| tebhos | TEBHOS sunucu ekleri nesnesi | TEBHOS eki: standart alanı olmayan ayarlar |
| permissions? | string | Çağıranın sunucu düzeyindeki izin maskesi, ondalık dize olarak. Yalnız Geçerli kullanıcının sunucularını listele bunu ayarlar |
| roles? | array[sunucu rolü nesnesi] | Yalnız Sunucuyu al bunu ayarlar |
| emojis? | array[object] | Yalnız Sunucuyu al bunu ayarlar. Her öğede id, name, animated ve nsfw (her zaman false) bulunur |
| stickers? | array[object] | Yalnız Sunucuyu al bunu ayarlar. Her öğede id, name, description, tags, animated ve nsfw (her zaman false) bulunur |
| channels? | array[kanal nesnesi] | Yalnız Sunucuyu al bunu ayarlar |
member_count, Sunucuyu al yolunda canlı bir sayıdır (sayı okunamazsa null). Sunucuyu değiştir yolunda ve Gateway olaylarında en fazla 30 saniye eski olabilir. Geçerli kullanıcının sunucularını listele bunu içermez; istendiğinde bunun yerine approximate_member_count döndürür.
Afiş rengi hazır ayarları
Yüklenen bir görselin yanı sıra sunucu afişi, uygulamanın renk hazır ayarlarından seçilen bir CSS gradyanı da olabilir. Bu durumda banner ve banner_url gradyan dizesinin kendisini (linear-gradient(, radial-gradient( veya conic-gradient( ile başlar) taşır; banner_width ve banner_height ise null olur.
Görsel hash'leri https://tebhos.com/api/v1/server-icons/{guild_id}/{hash}.webp biçimindeki URL'lere çözümlenir (diğer görseller için server-banners, server-invite-bg, server-embed-bg). Çözümlenmiş *_url alanları tam URL'yi zaten içerir. Bkz. Medya vekili yolları.
TEBHOS sunucu ekleri nesnesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| boost_count | integer | Sunucudaki etkin ve bekleyen takviyeler |
| boost_goal | integer | Sunucunun takviye çubuğunda gösterilen takviye hedefi (varsayılan 25) |
| boost_bar_enabled | boolean | Takviye ilerleme çubuğunun kanal listesinde gösterilip gösterilmediği (varsayılan true) |
| banner_separated | boolean | Afişin davet arka planından ayrı gösterilip gösterilmediği (DETACHED_BANNER özelliğiyle aynı) |
| description | ?string | Sunucu açıklaması |
| region | ?string | Sunucunun bölge etiketi |
| max_members | integer | Bir yöneticinin belirlediği üye üst sınırı; ayarlanmamışsa 0 |
| is_public | boolean | Sunucunun keşifte listelenip listelenmediği (DISCOVERABLE özelliğiyle aynı) |
| invites_disabled | boolean | Davetlerin duraklatılıp duraklatılmadığı (INVITES_DISABLED özelliğiyle aynı) |
Ready yükünde bu nesne properties.tebhos konumunda bulunur; diğer her yerde en üst düzeydeki tebhos alanıdır.
Örnek¶
{
"id": "1489002177550843904",
"name": "Ada's Workshop",
"icon": "a_9f2c1d4e7b",
"banner": null,
"banner_width": null,
"banner_height": null,
"splash": null,
"splash_width": null,
"splash_height": null,
"embed_splash": null,
"embed_splash_width": null,
"embed_splash_height": null,
"splash_card_alignment": 0,
"vanity_url_code": "workshop",
"owner_id": "1489002177550843905",
"system_channel_id": "1489002177550843907",
"system_channel_flags": 0,
"rules_channel_id": null,
"afk_channel_id": null,
"afk_timeout": 300,
"features": ["ANIMATED_BANNER", "ANIMATED_ICON", "BANNER", "INVITE_SPLASH", "VANITY_URL"],
"verification_level": 1,
"mfa_level": 0,
"explicit_content_filter": 0,
"default_message_notifications": 1,
"disabled_operations": 0,
"message_history_cutoff": null,
"nsfw": false,
"nsfw_level": 0,
"content_warning_level": 0,
"content_warning_text": null,
"member_count": 128,
"image_url": "https://tebhos.com/api/v1/server-icons/1489002177550843904/a_9f2c1d4e7b.webp",
"banner_url": null,
"splash_url": null,
"embed_splash_url": null,
"tebhos": {
"boost_count": 27,
"boost_goal": 25,
"boost_bar_enabled": true,
"banner_separated": false,
"description": "A place to build things",
"region": "europe",
"max_members": 0,
"is_public": false,
"invites_disabled": false
}
}
Sunucu özellikleri¶
features, etkin özellik kümesidir. TEBHOS bunu üç kaynaktan oluşturur.
Sunucunun takviye düzeyinden türetilenler. Bunlar hiç saklanmaz; sunucunun takviye düzeyi yeterince yüksek olduğu sürece görünür. Etkin bir İş Sınıfı aboneliği olan sunucu düzey 2 sayılır.
| Özellik | Düzey | Açtığı |
|---|---|---|
INVITE_SPLASH |
1 | Davet arka planı (splash) |
BANNER |
2 | Sunucu afişi |
VANITY_URL |
2 | Özel davet kodu |
ANIMATED_ICON |
2 | Hareketli simge |
ANIMATED_BANNER |
2 | Hareketli afiş |
Sunucu tarafından açılıp kapatılabilenler. MANAGE_GUILD iznine sahip bir üye bunları Sunucuyu değiştir veya özellik açma/kapama yolları ile ekler ya da kaldırır.
| Özellik | Etkisi |
|---|---|
INVITES_DISABLED |
Davetler duraklatılır: bir daveti kabul etmek veya keşiften katılmak reddedilir |
TEXT_CHANNEL_FLEXIBLE_NAMES |
İstemciler için saklanır; API kanal adlarını hiçbir yönde yeniden yazmaz |
DETACHED_BANNER |
Afiş davet arka planından ayrı gösterilir |
CLONE_EMOJI_DISABLED |
Diğer sunucular bu sunucunun emojilerini kopyalayamaz |
CLONE_STICKER_DISABLED |
Diğer sunucular bu sunucunun çıkartmalarını kopyalayamaz |
HIDE_OWNER_CROWN |
İstemciler üye listesinde sahip tacını gizler |
Örnek tarafından ayarlananlar. DISCOVERABLE, sunucunun keşif başvurusu onaylı olduğu sürece görünür. Örnek yöneticileri başka özellikler de ayarlayabilir. Gateway; UNAVAILABLE_FOR_EVERYONE, UNAVAILABLE_FOR_EVERYONE_BUT_STAFF ve UNAVAILABLE_HIDDEN (sunucu kullanılamaz olarak bildirilir), LARGE_GUILD_OVERRIDE (bildirimler için büyük sunucu işleme) ve VOICE_E2EE özelliklerine göre davranır.
Kopyalamaya varsayılan olarak izin verilir
TEBHOS, devre dışı bırakma (opt-out) özellikleri olan CLONE_EMOJI_DISABLED ve CLONE_STICKER_DISABLED özelliklerini kullanır. İkisine de sahip olmayan bir sunucu, ifadelerinin kopyalanmasına izin verir.
Doğrulama düzeyleri¶
| Değer | Ad |
|---|---|
| 0 | NONE |
| 1 | LOW |
| 2 | MEDIUM |
| 3 | HIGH |
TEBHOS'ta telefon doğrulaması yoktur; bu yüzden telefona dayalı 4 düzeyi yoktur. Eski istemciler için 4 içeren istek kabul edilir ve 3 (HIGH) olarak saklanır; hâlâ 4 tutan bir sunucu her zaman 3 olarak döndürülür.
TEBHOS düzeyi saklar ve döndürür, uygulamalar da bunu sunucu ayarlarında gösterir; ancak API şu an mesajları veya katılımları buna göre kısıtlamaz. Keşifte listelenen bir sunucu düzeyi LOW'un altına indiremez; böyle bir istek 400 INVALID_FORM_BODY ile başarısız olur.
MFA düzeyleri¶
TEBHOS'ta sunucu düzeyinde çok adımlı doğrulama zorunluluğu yoktur. mfa_level uyumluluk için sunucu nesnesinde kalır ve her zaman 0 (NONE) değerindedir; kimsenin izinlerini kaldırmaz. Hesap düzeyindeki çok adımlı doğrulama bundan etkilenmez.
Varsayılan mesaj bildirim düzeyleri¶
| Değer | Ad | Açıklama |
|---|---|---|
| 0 | ALL_MESSAGES | Üyelere varsayılan olarak her mesaj için bildirim gider |
| 1 | ONLY_MENTIONS | Üyelere varsayılan olarak yalnız bahsetmelerde bildirim gider |
Sistem kanalı bayrakları¶
| Değer | Ad | Açıklama |
|---|---|---|
1 << 0 |
SUPPRESS_JOIN_NOTIFICATIONS | Bir üye katıldığında sistem kanalına katılma mesajı gönderme |
Bayrak ayarlı değilken system_channel_id ayarlıysa TEBHOS, davetle katılan her üye için sistem kanalına bir katılma mesajı (mesaj türü 7) gönderir.
Davet kartı hizalamaları¶
| Değer | Ad |
|---|---|
| 0 | CENTER |
| 1 | LEFT |
| 2 | RIGHT |
Sunucu oluştur¶
POST /guilds
Sahibi çağıran olan bir sunucu oluşturur ve sunucu nesnesini 200 durumuyla döndürür. Sahibin diğer oturumları yeni sunucuyu Gateway üzerinden alır.
Bir bot kimlik bilgisinin kimliği doğrulanır, ancak 400 BOTS_CANNOT_CREATE_GUILDS ile reddedilir.
Hız sınırı: guild:create, hesap başına 60 saniyede 10.
JSON gövdesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| name | string | Sunucu adı, kırpıldıktan sonra 1-100 karakter |
| icon? | ?string | Base64 veya data: URL'si olarak simge. PNG, JPEG, GIF veya WebP; çözüldükten sonra en fazla 10 MiB |
| empty_features? | boolean | Kabul edilir ve yok sayılır |
| template? | null | Şablondan sunucu oluşturma desteklenmez; null olmayan her değer 400 BAD_REQUEST döndürür |
Hareketli bir simge takviye düzeyi 2 gerektirir ve yeni bir sunucu hiçbir zaman bu düzeyde olmaz; bu yüzden hareketli bir icon 403 FORBIDDEN döndürür. Hareketli simge daha sonra Sunucuyu değiştir ile yüklenir.
Yeni bir sunucu; genel adlı bir metin kanalı ile Genel adlı bir ses kanalını içeren Genel adlı bir kategori ve varsayılan izin kümesine sahip bir @everyone rolü alır. Ses kanalının bit hızı 64000'dir (64 kbps). Sistem kanalı ayarlanmaz.
| Durum | Kod | Koşul |
|---|---|---|
| 400 | INVALID_FORM_BODY |
name boş veya 100 karakterden uzun |
| 400 | BAD_REQUEST |
Simge çözülemiyor, çok büyük veya kabul edilen bir biçimde değil; bir şablon verildi ya da çağıran zaten 100 sunucunun üyesi (mesaj MAX_GUILDS) |
| 400 | BOTS_CANNOT_CREATE_GUILDS |
Çağıran bir bot |
| 403 | FORBIDDEN |
Simge hareketli |
curl -X POST https://tebhos.com/api/v1/guilds \
-H "Authorization: Bearer $TEBHOS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Ada'\''s Workshop"}'
Geçerli kullanıcının sunucularını listele¶
GET /users/@me/guilds
Çağıranın üyesi olduğu her sunucu için bir tane olmak üzere, artan sunucu kimliğine göre sıralanmış bir sunucu nesneleri dizisi döndürür. Her nesne, çağıranın sunucu düzeyindeki maskesi olan permissions alanını içerir. roles, emojis, stickers ve channels dahil edilmez.
guilds kapsamlı bir OAuth2 erişim token'ını da kabul eder; bu kapsamı olmayan bir token 403 MISSING_OAUTH_SCOPE alır.
Hız sınırı: guild:list, hesap başına 10 saniyede 40.
Sorgu parametreleri¶
| Alan | Tür | Açıklama |
|---|---|---|
| before? | snowflake | Kimliği bu sunucu kimliğinden düşük olan sunucuları döndür |
| after? | snowflake | Kimliği bu sunucu kimliğinden yüksek olan sunucuları döndür. before üzerinde önceliklidir |
| limit? | integer | Döndürülecek en fazla sunucu sayısı (1-200, varsayılan 200) |
| with_counts? | boolean | true (veya 1) olduğunda approximate_member_count dahil edilir. Varsayılan false |
Çağıranın içinde bulunmadığı bir sunucuyu belirten imleç yok sayılır. Verisi okunamayan bir sunucu isteği başarısız kılmak yerine atlanır; izinleri hesaplanamayan bir sunucu için permissions dahil edilmez. 1-200 aralığı dışındaki limit 400 INVALID_FORM_BODY döndürür.
curl "https://tebhos.com/api/v1/users/@me/guilds?with_counts=true" \
-H "Authorization: Bot $TEBHOS_BOT_TOKEN"
Sunucuyu al¶
GET /guilds/{guild_id}
Sunucu nesnesini roles (azalan konuma göre sıralı), emojis, stickers, channels ve canlı member_count ile birlikte döndürür. Üyelik gerektirir.
guilds kapsamlı bir OAuth2 erişim token'ını da kabul eder; bu kapsamı olmayan bir token 403 MISSING_OAUTH_SCOPE alır.
Hız sınırı: guild:read, hesap ve sunucu başına 10 saniyede 100.
channels görünürlüğe göre filtrelenmez
Bu yoldaki channels dizisi sunucudaki her kanalı içerir. Yalnız çağıranın görüntüleyebildiği kanalları almak için Sunucu kanallarını listele kullanılır.
Sunucuyu değiştir¶
PATCH /guilds/{guild_id}
Sunucu ayarlarını günceller ve güncellenmiş sunucu nesnesini döndürür. MANAGE_GUILD gerektirir. Her başarılı istek sunucuya Guild Update gönderir ve bir GUILD_UPDATE denetim kaydı girdisi oluşturur.
Hız sınırı: guild:update, hesap ve sunucu başına 10 saniyede 20.
JSON gövdesi¶
Her alan isteğe bağlıdır. Atlanan alan değerini korur. ? türündeki alanlarda açık bir null değeri temizler.
| Alan | Tür | Açıklama |
|---|---|---|
| name? | string | Sunucu adı, kırpıldıktan sonra 1-100 karakter |
| icon? | ?string | Base64 veya data: URL'si olarak yeni simge; kaldırmak için null |
| banner? | ?string | Base64 veya data: URL'si olarak yeni afiş görseli, bir CSS gradyan dizesi ya da kaldırmak için null |
| splash? | ?string | Yeni davet arka planı (yalnız durağan görsel); kaldırmak için null |
| embed_splash? | ?string | Yeni gömme arka planı (yalnız durağan görsel); kaldırmak için null |
| splash_card_alignment? | integer | Davet kartı hizalaması, 0-2 |
| system_channel_id? | ?snowflake | Sistem kanalı; temizlemek için null |
| system_channel_flags? | integer | Sistem kanalı bayrakları, negatif olamaz |
| afk_channel_id? | ?snowflake | AFK ses kanalı; temizlemek için null |
| afk_timeout? | integer | Saniye cinsinden AFK zaman aşımı, 60-3600 |
| default_message_notifications? | integer | Varsayılan mesaj bildirim düzeyi, 0-1 |
| verification_level? | integer | Doğrulama düzeyi, 0-3 (4 kabul edilir ve 3 olarak saklanır) |
| mfa_level? | integer | Uyumluluk için kabul edilir ve yok sayılır; bkz. MFA düzeyleri |
| explicit_content_filter? | integer | 0-2. Yalnız uyumluluk için saklanır |
| features? | array[string] | İstenen özellik kümesinin tamamı, en fazla 100 öğe |
| message_history_cutoff? | ?ISO8601 zaman damgası | Bkz. sunucu nesnesindeki message_history_cutoff |
nsfw, nsfw_level, content_warning_level ve content_warning_text uyumluluk için kabul edilir ve yok sayılır. Sudo alanları (password, mfa_code vb.) da kabul edilir ve yok sayılır.
Görseller; ham base64 ya da data: URL'si olarak gönderilen, çözüldükten sonra en fazla 10 MiB PNG, JPEG, GIF ve WebP kabul eder. Varlık kuralları sunucunun takviye düzeyine bağlıdır:
| Alan | Gereksinim |
|---|---|
icon |
Her düzey; hareketli simge düzey 2 gerektirir |
banner |
Görsel düzey 2 gerektirir (hareketli olan da); gradyan dizesi düzey gerektirmez |
splash |
Düzey 1; hareketli görseller 400 ile reddedilir |
embed_splash |
Her düzey; hareketli görseller 400 ile reddedilir |
Eksik düzey 403 FORBIDDEN döndürür. Simgeyi değiştirmek eski simge dosyasını silinmek üzere zamanlar.
features bir fark değil, sunucunun sahip olması istenen kümenin tamamıdır. Sunucu nesnesindeki dizi, değişiklikler uygulanmış olarak geri gönderilir:
- Dizide olup sunucuda olmayan bir açılıp kapatılabilen özellik eklenir; sunucuda olup dizide olmayan kaldırılır.
- Sunucunun etkin kümesinde zaten bulunan bir özellik (
BANNERgibi türetilmiş özellikler dahil) kabul edilir ve olduğu gibi bırakılır. - Başka herhangi bir özelliği eklemek 400
BAD_REQUESTdöndürür.
system_channel_id ve afk_channel_id verildiği gibi saklanır; yol, kanalın var olup olmadığını veya doğru türde olup olmadığını denetlemez.
Keşifte listelenen bir sunucuda verification_level 0 400 INVALID_FORM_BODY döndürür.
| Durum | Kod | Koşul |
|---|---|---|
| 400 | INVALID_FORM_BODY |
Bir değer aralık dışında, message_history_cutoff bir RFC 3339 zaman damgası değil ya da doğrulama düzeyi keşfedilebilir bir sunucu için çok düşük |
| 400 | BAD_REQUEST |
Bir kimlik snowflake değil, bir görsel geçersiz ya da izin verilmeyen yerde hareketli, veya açılıp kapatılamayan bir özellik eklendi |
| 403 | FORBIDDEN |
MANAGE_GUILD eksik ya da bir takviye düzeyi gereksinimi karşılanmadı |
curl -X PATCH https://tebhos.com/api/v1/guilds/1489002177550843904 \
-H "Authorization: Bot $TEBHOS_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Ada'\''s Lab", "afk_timeout": 600, "system_channel_flags": 1}'
Yalnız TEBHOS'a özgü ayarlar¶
description, region, boost_goal ve boost_bar_enabled (TEBHOS sunucu ekleri) alanlarının bu yolda karşılığı yoktur. Bunlar MANAGE_GUILD gerektiren, guild:update kovasını paylaşan ve {"message": "..."} döndüren PATCH /servers/{guild_id} ile ayarlanır:
| Alan | Tür | Açıklama |
|---|---|---|
| description? | string | En fazla 1000 karakter |
| region? | string | En fazla 50 karakter |
| boost_goal? | integer | 1-100000 |
| boost_bar_enabled? | boolean | Takviye çubuğunun gösterilip gösterilmediği |
Değişiklik Guild Update olarak gönderilir.
Sunucu özelliğini aç/kapat¶
Bu yolların her biri bir açılıp kapatılabilen özelliği ekler veya kaldırır ve güncellenmiş sunucu nesnesini döndürür. MANAGE_GUILD gerektirir ve yalnız kullanıcı içindir. Her biri Guild Update gönderir.
| Yol | Gövde | Özellik |
|---|---|---|
PATCH /guilds/{guild_id}/text-channel-flexible-names |
{"enabled": boolean} |
TEXT_CHANNEL_FLEXIBLE_NAMES |
PATCH /guilds/{guild_id}/detached-banner |
{"enabled": boolean} |
DETACHED_BANNER |
PATCH /guilds/{guild_id}/hide-owner-crown |
{"enabled": boolean} |
HIDE_OWNER_CROWN |
PATCH /guilds/{guild_id}/invites-disabled |
{"disabled": boolean} |
INVITES_DISABLED |
PATCH /guilds/{guild_id}/clone-emoji-disabled |
{"disabled": boolean} |
CLONE_EMOJI_DISABLED |
PATCH /guilds/{guild_id}/clone-sticker-disabled |
{"disabled": boolean} |
CLONE_STICKER_DISABLED |
Eksik veya boolean olmayan bir gövde alanı 400 BAD_REQUEST döndürür.
Sunucuyu sil¶
POST /guilds/{guild_id}/delete
Sunucuyu kalıcı olarak siler ve 204 döndürür. Yalnız kullanıcı. Sunucuyu yalnız sahibi silebilir; diğer herkes 403 FORBIDDEN alır.
Hız sınırı: guild:delete, hesap ve sunucu başına 60 saniyede 10.
İstek gövdesi yok sayılır; {} gönderilebilir. Parola veya sudo kanıtı gerekmez.
Silme geri alınamaz
Bir sunucuyu silmek; kanallarını, mesajlarını, rollerini, üyeliklerini, davetlerini, keşif listesini ve üyelerin sunucu ayarlarını kaldırır. Sunucudaki etkin bir İş Sınıfı aboneliği geri ödemesiz iptal edilir. Silinmiş bir sunucuyu geri getirmenin yolu yoktur.
Her üye Guild Delete alır, sunucunun ses kanallarındaki üyelerin bağlantısı kesilir ve sunucu aramadan kaldırılır.
Sunucudan ayrıl¶
DELETE /users/@me/guilds/{guild_id}
Çağıranı sunucudan çıkarır ve 204 döndürür. Çağıranın diğer oturumları Guild Delete, kalan üyeler ise Guild Member Remove alır. Sunucu, çağıranın sunucu klasörlerinden kaldırılır.
Hız sınırı: guild:leave, hesap ve sunucu başına 10 saniyede 10.
Sorgu parametreleri¶
| Alan | Tür | Açıklama |
|---|---|---|
| delete_messages? | boolean | true olduğunda ayrılmadan önce çağıranın sunucuda yazdığı her mesaj silinir (varsayılan false) |
Mesaj silme en iyi çaba esasına göre yapılır: başarısız olursa çağıran yine de sunucudan ayrılır.
| Durum | Kod | Koşul |
|---|---|---|
| 400 | BAD_REQUEST |
Çağıran sunucu sahibi. Bunun yerine sahiplik devredilir veya sunucu silinir |
| 404 | NOT_FOUND |
Çağıran üye değil |
Geçerli kullanıcının sunucu mesajlarını toplu sil¶
POST /users/@me/guilds/{guild_id}/messages/bulk-delete-mine
Çağıranın sunucunun kanallarında yazdığı her mesajı siler ve gövdesiz 202 döndürür. Çağıran üye olarak kalır. Üyelik ve sudo kipi gerektirir; bir bot token'ı kendi hesabı için sudo kipini karşılar. Etkilenen her kanal bir Message Delete Bulk olayı alır.
Hız sınırı: guild:leave, hesap ve sunucu başına 10 saniyede 10 (Sunucudan ayrıl ile paylaşılır).
Üye olmayan biri 404 NOT_FOUND, sudo yetkisi olmayan bir kullanıcı oturumu 403 SUDO_MODE_REQUIRED alır.
Özel davet URL'si¶
Takviye düzeyi 2 olan bir sunucu özel bir davet kodu (vanity kodu) alabilir. https://tebhos.com/vanity/{code} ve Daveti al bunu çözümler; bkz. Özel davet URL'leri.
Özel davet URL'si nesnesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| code | ?string | Geçerli özel davet kodu veya null |
| uses | integer | Kodun kaç kez çözümlendiği |
Sunucunun özel davet URL'sini al¶
GET /guilds/{guild_id}/vanity-url
Özel davet URL'si nesnesini döndürür. MANAGE_GUILD gerektirir. Yalnız kullanıcı.
Hız sınırı: guild:vanity_url:get, hesap ve sunucu başına 10 saniyede 100.
Sunucunun özel davet URL'sini değiştir¶
PATCH /guilds/{guild_id}/vanity-url
Özel davet kodunu ayarlar veya kaldırır ve şu an tutulan kodla {"code": "..."} döndürür (kaldırmadan sonra null). MANAGE_GUILD gerektirir. Yalnız kullanıcı. Guild Update gönderir.
Hız sınırı: guild:vanity_url:patch, istemci ve sunucu başına 60 saniyede 10.
| Alan | Tür | Açıklama |
|---|---|---|
| code? | ?string | Alınacak kod. Null, boş dize veya atlanmış alan geçerli kodu kaldırır |
Kod kırpılır ve ASCII harfler, rakamlar, - ve _ karakterlerinden oluşan 2-32 karakter olmalıdır. Kodlar büyük/küçük harften bağımsız olarak benzersizdir ve ayrılmış sözcüklerden oluşan bir liste (admin, api, login, invite, settings gibi) alınamaz. Kodu kaldırmak uses değerini 0'a sıfırlar.
| Durum | Kod | Koşul |
|---|---|---|
| 400 | INVALID_FORM_BODY |
Kodun uzunluğu veya karakterleri yanlış ya da kod ayrılmış |
| 403 | FORBIDDEN |
MANAGE_GUILD eksik veya sunucu takviye düzeyi 2'nin altında (yalnız ayarlama için; kaldırma her düzeyde çalışır) |
| 409 | CONFLICT |
Kod başka bir sunucuda |
curl -X PATCH https://tebhos.com/api/v1/guilds/1489002177550843904/vanity-url \
-H "Authorization: Bearer $TEBHOS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"code": "workshop"}'
Özel davet kodunu çözümle¶
GET /vanity/{code}/resolve
Özel bir davet kodunu kimlik doğrulama olmadan çözümler. Büyük/küçük harf yok sayılır. Her çağrı kodun uses değerini artırır. camelCase bir nesne döndürür:
| Alan | Tür | Açıklama |
|---|---|---|
| serverId | snowflake | Sunucu kimliği |
| serverName | string | Sunucu adı |
| serverImage | string | Sunucu simgesi URL'si veya boş dize |
| memberCount | integer | Saklanan üye sayısı |
| vanityUses | integer | Bu çağrıdan sonraki kullanım sayısı |
| inviteCode | string | Sunucunun kendi davet kodu; Daveti kabul et yoluna verilebilir |
Bilinmeyen bir kod 404 NOT_FOUND döndürür.
Sunucu görselleri¶
Sunucuyu değiştir görselleri satır içinde base64 olarak kabul eder. Web uygulaması ise büyük JSON gövdelerinden kaçınmak için bunları iki adımda doğrudan depolamaya yükler. İki adım da yalnız kullanıcı içindir ve MANAGE_GUILD gerektirir (sahip her zaman geçer).
{"filename": string, "content_type": string, "size": integer}ilePOST /servers/{guild_id}/{kind}/upload-url.upload_url(300 saniye geçerli, önceden imzalanmış URL),storage_key,urlveexpires_indöndürür. 8 MiB'a kadar PNG, JPEG, GIF ve WebP kabul edilir.- Baytlar
PUTileupload_urladresine yüklenir, ardından{"storage_key": string}ilePOST /servers/{guild_id}/{kind}/confirmçağrılır.
{kind} değeri icon, banner, invite-bg (davet arka planı, splash) veya embed-bg (embed_splash) olur. Sunucuyu değiştir yolunda olduğu gibi afiş takviye düzeyi 2, davet arka planı düzey 1, hareketli simge veya afiş ise düzey 2 gerektirir. Onaylama Guild Update gönderir. Simge onayı {"icon_hash": string, "image_url": string} döndürür.
Sunucu takviyeleri¶
Bir sunucunun takviye düzeyi (0, 1 veya 2) etkin takviye sayısından gelir; türetilmiş sunucu özelliklerini, ses bit hızı üst sınırlarını, yükleme sınırlarını ve hareketli emojileri denetler. Takviye yapma, takviye listesi ve fiyatlandırma Sunucu takviyeleri altında belgelenmiştir. Sunucu nesnesindeki tebhos.boost_count geçerli takviye sayısını tutar.
Roller¶
Rol yolları Roller ve izinler sayfasında belgelenmiştir:
| İşlem | Yol |
|---|---|
| Sunucu rollerini listele | GET /guilds/{guild_id}/roles |
| Sunucu rolü oluştur | POST /guilds/{guild_id}/roles |
| Sunucu rolü konumlarını değiştir | PATCH /guilds/{guild_id}/roles |
| Sunucu rolünü değiştir | PATCH /guilds/{guild_id}/roles/{role_id} |
| Sunucu rolünü sil | DELETE /guilds/{guild_id}/roles/{role_id} |
| Rol ayrı gösterim konumlarını değiştir | PATCH /guilds/{guild_id}/roles/hoist-positions |
| Rol ayrı gösterim konumlarını sıfırla | DELETE /guilds/{guild_id}/roles/hoist-positions |
Bir üyeye tek bir rol ekleme ve kaldırma Sunucu üyeleri sayfasında ele alınır.