Giriş sesleri¶
Giriş sesi, bir hesabın bir ses kanalına bağlıyken çaldığı kısa bir ses klibidir. Hesap bir klibi kendi kitaplığına bir kez yükler, onu bir kapsama atar ve bir ses kanalının diğer katılımcıları için çalar. Özelliğin genel yapıdaki yeri Ses sayfasında anlatılır.
Bu sayfadaki her yol yalnızca kullanıcıya yöneliktir, hiçbir kanal izni gerektirmez ve çağıranın kendi kitaplığı üzerinde çalışır. Bot token'ı 403 ACCESS_DENIED ile reddedilir.
TEBHOS Pro
Giriş sesi seçimini ayarla ve Giriş sesini çal TEBHOS Pro gerektirir ve Pro olmadan 403 FORBIDDEN döndürür. Klipleri listeleme, yükleme, yeniden adlandırma ve silme kullanılabilir kalır; böylece Pro'su sona ermiş bir hesap kitaplığını yine de yönetebilir. Örnek keşfindeki feature_voice_entrance_sounds sınır anahtarı, TEBHOS istemcilerine özelliği gösterip göstermeyeceklerini bildirir.
Klip sınırları¶
| Sınır | Değer |
|---|---|
| Hesap başına klip | 8 |
| Kodu çözülmüş klip boyutu | 1.048.576 bayt (1 MiB) |
| Klip süresi | 100 ile 5.200 milisaniye arası |
| Görünen ad | Kırpıldıktan sonra 1 ile 32 karakter arası |
Desteklenen kapsayıcılar¶
TEBHOS kapsayıcı biçimini kodu çözülmüş baytlardan algılar; bu yüzden dosya adının, data: medya türünün veya bildirilen başka herhangi bir türün etkisi yoktur. Süre kapsayıcının kendisinden okunur ve süresi okunamayan bir dosya reddedilir.
| Algılanan kapsayıcı | Saklanan uzantı | Saklanan içerik türü |
|---|---|---|
| MP3 (ID3 etiketli veya etiketsiz) | mp3 |
audio/mpeg |
| Ogg | ogg |
audio/ogg |
Ses izi olan MP4 veya M4A (ftyp kutusu) |
m4a |
audio/mp4 |
| WAV (RIFF/WAVE) | wav |
audio/wav |
FLAC, WebM, Matroska ve AIFF dahil diğer tüm biçimler reddedilir.
Kodu çözülmüş baytlar, tablonun atadığı uzantı ve içerik türüyle, geldikleri hâliyle birebir saklanır.
Giriş sesi nesnesi¶
Tek bir hesaba ait, saklanan tek bir ses klibi. name dışındaki her alan yükleme sırasında sabitlenir.
Yapı¶
| Alan | Tür | Açıklama |
|---|---|---|
| id | snowflake | Sesin kimliği |
| name | string | Görünen etiket (1 ile 32 karakter arası) |
| hash | string | Saklanan sesin içerik özeti; 16 onaltılık karakter. Sesi aynı olan kliplerin hash değeri de aynıdır |
| extension | string | Saklanan uzantı: mp3, ogg, m4a veya wav |
| content_type | string | Klibin saklandığı ve sunulduğu MIME türü |
| duration_ms | integer | Milisaniye cinsinden ölçülen süre |
| size_bytes | integer | Bayt cinsinden kodu çözülmüş boyut |
| url | string | Klibin alındığı mutlak URL; herkese açık örnekte https://cdn.tebhos.com/entrance-sounds/{user_id}/{hash}.{extension}. Kimlik bilgisi gerektirmez |
| created_at | ISO8601 zaman damgası | Klibin yüklendiği zaman |
Örnek¶
{
"id": "1501314428688998182",
"name": "airhorn",
"hash": "9f2c41ab77de0135",
"extension": "mp3",
"content_type": "audio/mpeg",
"duration_ms": 1240,
"size_bytes": 20416,
"url": "https://cdn.tebhos.com/entrance-sounds/1490000000000000000/9f2c41ab77de0135.mp3",
"created_at": "2026-09-20T09:12:04.118+00:00"
}
Giriş sesi seçimi nesnesi¶
Bir kapsam ve ona atanmış klip.
Yapı¶
| Alan | Tür | Açıklama |
|---|---|---|
| scope_id | string | Seçimin uygulandığı kapsam |
| sound_id | snowflake | O kapsama atanmış klip |
Atanmış sesi olmayan bir kapsamın seçim nesnesi yoktur.
Örnek¶
Giriş sesi kapsamları¶
TEBHOS istemcileri şu kapsam değerlerini kullanır:
| Değer | Açıklama |
|---|---|
global |
Daha dar bir kapsam seçilmemiş her yerde uygulanır |
guilds |
Sunucu ses kanallarında uygulanır |
dms |
DM ve grup aramalarında uygulanır |
guild:{guild_id} |
Adı verilen tek bir sunucuda uygulanır |
TEBHOS scope_id değerini gönderildiği gibi saklar ve biçimini doğrulamaz; bu yüzden bu değerlerden birini kullanın. Kapsamlar yalnızca istemci tarafındaki bir kuraldır: Giriş sesini çal klibi açıkça adlandırır ve bir kanala hangi seçimin uygulanacağına istemci karar verir.
Giriş seslerini listele¶
GET /users/@me/entrance-sounds
Geçerli hesabın giriş sesi kitaplığının tamamını, kapsam başına seçimleriyle birlikte döndürür.
Yanıt gövdesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| sounds | array[giriş sesi nesnesi] | Hesabın sahip olduğu tüm klipler, en fazla 8 |
| selections | array[giriş sesi seçimi nesnesi] | Ses atanmış tüm kapsamlar |
İki üye de her zaman bulunur ve hiçbir şey yüklememiş bir hesap için iki dizi de boştur.
Hız sınırı¶
user:entrance_sound:list kovasında, her kullanıcı için dakikada 30 istek.
Giriş sesi yükle¶
POST /users/@me/entrance-sounds
Tek bir ses klibinin kodunu çözer, doğrular ve geçerli hesabın kitaplığında saklar; oluşturulan giriş sesi nesnesiyle birlikte 201 döndürür.
JSON gövdesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| name | string | Görünen etiket; kırpılır, 1 ile 32 karakter arası |
| audio | base64 string | Base64 ile kodlanmış ses baytları. data:...;base64, öneki kabul edilir ve atılır |
Doğrulama¶
Aşağıdaki her hata, insan tarafından okunabilir bir message ile 400 INVALID_FORM_BODY döndürür. Denetimler bu sırayla çalışır.
| Hata | Koşul |
|---|---|
| Ad | Kırpılmış ad boş veya 32 karakterden uzun |
| Kota | Kitaplıkta zaten 8 klip var |
| Kodlama | audio geçerli bir base64 değil veya çözüldüğünde boş |
| Boyut | Kodu çözülmüş baytlar 1.048.576 baytı aşıyor |
| Biçim | Baytlar hiçbir desteklenen kapsayıcıyla eşleşmiyor veya süreleri okunamıyor |
| Süre | Süre 5.200 ms'nin üzerinde veya 100 ms'nin altında |
Yükleme sınırından (yaklaşık 1,4 MiB base64 artı 64 KiB) büyük bir istek gövdesi doğrulamadan önce reddedilir.
Yanıt¶
| Durum | Gövde | Koşul |
|---|---|---|
| 201 | giriş sesi nesnesi | Klip saklandı |
| 400 | hata yanıtı | Ad veya ses doğrulamadan geçemedi |
Yan etkiler¶
İşlem hiçbir kapsam atamaz ve hiçbir Gateway gönderimi (dispatch) yayınlamaz. Aynı baytları iki kez yüklemek, aynı hash ve url değerine sahip iki kitaplık girdisi oluşturur. Birini silmek diğerini kullanılabilir bırakır.
Hız sınırı¶
user:entrance_sound:upload kovasında, her kullanıcı için 5 dakikada 5 istek.
Giriş sesini yeniden adlandır¶
PATCH /users/@me/entrance-sounds/{sound_id}
Tek bir klibin görünen etiketini değiştirir ve güncellenmiş giriş sesi nesnesini döndürür.
Yol parametreleri¶
| Alan | Tür | Açıklama |
|---|---|---|
| sound_id | snowflake | Sesin kimliği |
JSON gövdesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| name | string | Yeni etiket; kırpılır, 1 ile 32 karakter arası |
Yanıt¶
| Durum | Gövde | Koşul |
|---|---|---|
| 200 | giriş sesi nesnesi | Klip yeniden adlandırıldı |
| 400 | hata yanıtı | sound_id bir sayı değil ya da ad boş veya 32 karakterden uzun (BAD_REQUEST) |
| 404 | hata yanıtı | Hesabın böyle bir klibi yok (NOT_FOUND) |
Başka bir hesaba ait bir klip, hiç var olmamış bir klip gibi raporlanır.
Yan etkiler¶
Yalnızca etiket değişir. Klibe işaret eden seçimler ona işaret etmeye devam eder. Hiçbir Gateway gönderimi yayınlanmaz.
Hız sınırı¶
user:entrance_sound:mutate kovasında, her kullanıcı için dakikada 20 istek; Giriş sesini sil ve Giriş sesi seçimini ayarla ile paylaşılır.
Giriş sesini sil¶
DELETE /users/@me/entrance-sounds/{sound_id}
Geçerli hesabın kitaplığından tek bir klibi siler, ona işaret eden her seçimi temizler ve boş gövdeyle 204 döndürür. Bilinmeyen bir klip veya başka bir hesaba ait bir klip, hiçbir şey yapmayan başarılı bir işlemdir.
Yol parametreleri¶
| Alan | Tür | Açıklama |
|---|---|---|
| sound_id | snowflake | Sesin kimliği |
Yanıt¶
| Durum | Gövde | Koşul |
|---|---|---|
| 204 | boş | Klip silindi veya hesaba ait böyle bir klip yoktu |
| 400 | hata yanıtı | sound_id bir sayı değil |
Yan etkiler¶
Klip ve onu adlandıran her seçim kaldırılır. Kitaplıktaki başka bir klip aynı içeriğe sahip değilse saklanan ses dosyası da kaldırılır. Hiçbir Gateway gönderimi yayınlanmaz.
Hız sınırı¶
Paylaşılan user:entrance_sound:mutate kovasında, her kullanıcı için dakikada 20 istek.
Giriş sesi seçimini ayarla¶
PUT /users/@me/entrance-sound-selections
Bir klibi tek bir kapsama atar veya o kapsamı temizler ve boş gövdeyle 204 döndürür. Zaten sesi olan bir kapsamın üzerine yazılır. TEBHOS Pro gerektirir.
JSON gövdesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| scope_id | string | Yazılacak kapsam |
| sound_id? | ?snowflake | Atanacak klip. Null, gönderilmemiş bir alan veya sayı olmayan bir değer kapsamı temizler |
TEBHOS, sound_id değerinin çağıranın kitaplığındaki bir klibi adlandırdığını denetlemez. İstemci yalnızca Giriş seslerini listele tarafından döndürülen kimlikleri göndermelidir (SHOULD).
Yanıt¶
| Durum | Gövde | Koşul |
|---|---|---|
| 204 | boş | Seçim yazıldı veya temizlendi |
| 403 | hata yanıtı | Hesabın TEBHOS Pro'su yok |
Yan etkiler¶
Bir klip istenen sayıda kapsamda seçilebilir. Hiçbir Gateway gönderimi yayınlanmaz; bu yüzden çağıranın diğer oturumları değişikliği ancak kitaplığı yeniden listeleyerek öğrenir.
Hız sınırı¶
Paylaşılan user:entrance_sound:mutate kovasında, her kullanıcı için dakikada 20 istek.
Giriş sesini çal¶
POST /voice/channels/{channel_id}/entrance-sound
Bir ses kanalına bağlı diğer her hesaba çağıranın klibini çalmasını bildirir ve boş gövdeyle 204 döndürür. Çağıranın o kanalda bir ses bağlantısı olmalı ve klibin sahibi olmalıdır. TEBHOS Pro gerektirir. ENTRANCE_SOUND_PLAY yayınlar.
Alıcılar klibi olaydaki URL'den alır ve yerel olarak çalar.
Yol parametreleri¶
| Alan | Tür | Açıklama |
|---|---|---|
| channel_id | snowflake | Ses kanalının veya özel arama kanalının kimliği |
JSON gövdesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| sound_id | snowflake | Çağıranın kendi kitaplığından çalınacak klip |
Yanıt¶
| Durum | Gövde | Koşul |
|---|---|---|
| 204 | boş | TEBHOS bağlı diğer her hesaba bir gönderim denedi |
| 400 | hata yanıtı | channel_id veya sound_id bir sayı değil, çağıranın kanalda ses bağlantısı yok ya da hesabın böyle bir klibi yok (BAD_REQUEST) |
| 403 | hata yanıtı | Hesabın TEBHOS Pro'su yok |
| 404 | hata yanıtı | Kanal mevcut değil |
Tek yetkilendirme bağlantıdır
TEBHOS hiçbir kanal iznini değerlendirmez ve sunucu üyeliğini denetlemez. Bağlantı denetimi, klip aranmadan önce çalışır.
Yan etkiler¶
TEBHOS, kanalda ses durumu olan diğer her hesaba, her hesap için en fazla bir kez ve çağırana hiçbir zaman olmamak üzere tek bir ENTRANCE_SOUND_PLAY gönderimi yollar. Gönderim hesaba yöneliktir; bu yüzden o hesabın sahip olduğu, kanalda olmayanlar dahil her oturum onu alır. İstemci channel_id değerine göre filtreler.
Hız sınırı¶
voice:entrance_sound:play kovasında, her kullanıcı ve kanal için 30 saniyede 3 istek.