Ana içeriğe geç

Sunucu çıkartmaları

Çıkartma, bir sunucunun üyelerinin mesajla birlikte göndermesi için sakladığı bir görüntüdür. Her çıkartma tek bir sunucuya aittir. Çıkartma meta verilerini alma ve Çıkartma alma, bir çıkartmayı sunucusuna üye olmadan çözümler.

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. Sunucunun üyesi olmayan veya gerekli izne sahip olmayan bir çağıran 403 FORBIDDEN alır. Hata gövdeleri Hatalar sayfasındaki biçimi izler.

Çıkartma kimlikleri

Bir çıkartmanın id değeri, tüm sunucular genelinde benzersiz bir snowflake string'idir. Emojiler gibi çıkartmalar da önceki tanımlayıcı düzeninden kalan bir legacy_id UUID'si taşır ve sticker_id alan her yol iki biçimi de kabul eder. Bkz. Emoji kimlikleri.

Sunucu çıkartması nesnesi

Alan Tür Açıklama
id snowflake Çıkartmanın kimliği
legacy_id ?string Eski UUID tanımlayıcısı
guild_id snowflake Çıkartmanın sahibi olan sunucunun kimliği
name string Çıkartma adı
description string Açıklama veya boş string
tags array[string] Arama etiketleri
animated boolean Saklanan görüntü bir GIF ise true
nsfw boolean Her zaman false
image_url string Saklanan görüntünün URL'si
created_at ISO8601 zaman damgası Çıkartmanın oluşturulduğu an
user? kısmi kullanıcı nesnesi Çıkartmayı yükleyen hesap. Yalnızca Sunucu çıkartmalarını listeleme içerir

Oluşturulduktan sonra yalnızca ad, açıklama ve etiketler değişebilir. Görüntüyü değiştirmek için yeni bir çıkartma oluşturun.

{
  "id": "1501314428688998183",
  "legacy_id": "7a1d2c3e-4b5f-4a6b-8c7d-9e0f1a2b3c4d",
  "guild_id": "1489002177550843904",
  "name": "shipit",
  "description": "Ship it",
  "tags": ["ship", "deploy"],
  "animated": false,
  "nsfw": false,
  "image_url": "https://cdn.tebhos.com/stickers/1489002177550843904/2b9d6f41-0a3c-4e5b-8d7f-1c2e3a4b5c6d/c41f0a9e2d.png",
  "created_at": "2026-09-14T09:12:44+00:00"
}

Gateway Guild Stickers Update olayı, sunucunun eksiksiz çıkartma listesini taşır. Öğelerinde id, legacy_id, guild_id, name, description, image_url, tags, animated, nsfw, created_by, created_at, creator_name ve creator_avatar bulunur.

Sınırlar

Sınır Değer
Sunucu başına çıkartma 5; yükleyen üyenin TEBHOS Pro'su varsa 30
Görüntü boyutu Çözüldüğünde 500 KiB (512000 bayt)
Görüntü biçimleri Dosya içeriğinden algılanan PNG, JPEG, GIF ve WebP
Ad Kırpıldıktan sonra 1-32 bayt, herhangi bir karakter. Sunucu içinde benzersiz
Açıklama En fazla 100 bayt
Etiketler En fazla 5, her biri 1-32 bayt

Uzunluklar UTF-8 bayt olarak sayılır; bu nedenle ASCII dışı harfler içeren bir ad 32 karakterden daha azını alır. Sunucu başına sınır her çıkartma oluşturulduğunda denetlenir ve çıkartmayı oluşturan üyenin TEBHOS Pro'su olup olmadığına bağlıdır.

Çıkartma oluşturma nesnesi

Alan Tür Açıklama
name string Çıkartma adı
description? ?string Açıklama
tags? array[string] Arama etiketleri (varsayılan boş)
image string Ham base64 veya data: URL'si olarak görüntü
{
  "name": "shipit",
  "description": "Ship it",
  "tags": ["ship", "deploy"],
  "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAAAAAA6fptVAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg=="
}

Sunucu çıkartmalarını listeleme

GET /guilds/{guild_id}/stickers

Sunucunun tüm sunucu çıkartması nesnelerini, her biri user ile birlikte döndürür. Üyelik gerektirir; hiçbir izin denetlenmez. Sayfalama yoktur.

Hız sınırı: guild:sticker:list, hesap ve sunucu başına 10 saniyede 60.

Sunucu çıkartması oluşturma

POST /guilds/{guild_id}/stickers

Bir çıkartma oluşturma nesnesinden çıkartma oluşturur ve sunucu çıkartması nesnesini (user olmadan) 200 durumuyla döndürür. CREATE_EXPRESSIONS gerektirir. Sunucu Guild Stickers Update alır ve bir STICKER_CREATE denetim kaydı girişi oluşturulur. İstek gövdesi en fazla 2 MiB olabilir.

Hız sınırı: guild:sticker:create, hesap ve sunucu başına 30 saniyede 10.

Durum Kod Koşul
400 INVALID_FORM_BODY Ad, açıklama veya etiketler sınırları ihlal ediyor
400 BAD_REQUEST Görüntü boş, geçerli base64 değil, 500 KiB'den büyük veya kabul edilen bir biçimde değil ya da sunucu çıkartma sınırında
403 FORBIDDEN CREATE_EXPRESSIONS eksik
409 CONFLICT Sunucuda o ada sahip bir çıkartma zaten var
curl -X POST https://tebhos.com/api/v1/guilds/1489002177550843904/stickers \
  -H "Authorization: Bot $TEBHOS_BOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "shipit", "tags": ["ship"], "image": "data:image/png;base64,iVBORw0KGgo..."}'

Toplu sunucu çıkartması oluşturma

POST /guilds/{guild_id}/stickers/bulk

1-50 çıkartma oluşturmayı dener ve {"success": [...], "failed": [...]} döndürür. CREATE_EXPRESSIONS gerektirir. İstek gövdesi en fazla 40 MiB olabilir.

Hız sınırı: guild:sticker:bulk_create, hesap ve sunucu başına 60 saniyede 6.

Alan Tür Açıklama
stickers array[çıkartma oluşturma nesnesi] Oluşturulacak çıkartmalar; 1-50 öğe, sırayla denenir

Her öğe bağımsız olarak işlenir. success oluşturulan sunucu çıkartması nesnelerini tutar; failed reddedilen her öğe için {"name": string, "error": string} tutar; burada error insanın okuyabileceği bir mesajdır. Tüm öğeler başarısız olsa bile yanıt 200'dür. Boş bir dizi veya 50'den fazla öğe 400 INVALID_FORM_BODY döndürür. En az bir çıkartma oluşturulduğunda sunucu bir Guild Stickers Update alır.

Sunucu çıkartması kopyalama

POST /guilds/{guild_id}/stickers/clone

Herhangi bir sunucudaki bir çıkartmayı bu sunucuya kopyalar ve yeni sunucu çıkartması nesnesini döndürür. Hedef sunucuda CREATE_EXPRESSIONS gerektirir; kaynak sunucuya üyelik gerekmez. Kopya yeni bir kimlik alır, yükleyen olarak çağıranı ve kaynağın görüntüsünü, açıklamasını ve etiketlerini alır.

Hız sınırı: guild:sticker:clone, hesap ve sunucu başına 30 saniyede 10.

Alan Tür Açıklama
source_sticker_id string Kopyalanacak çıkartmanın kimliği (snowflake veya eski UUID)
name? string Kopyanın adı. Varsayılanı kaynağın adıdır
Durum Kod Koşul
403 FORBIDDEN CREATE_EXPRESSIONS eksik veya kaynak sunucuda CLONE_STICKER_DISABLED özelliği var
404 NOT_FOUND Kaynak çıkartma mevcut değil
409 CONFLICT Hedef sunucuda o ada sahip bir çıkartma zaten var

Hedef sunucunun çıkartma sınırı geçerlidir. Kopya bir STICKER_CREATE denetim girişi oluşturur ve hedef sunucuda Guild Stickers Update gönderir.

Sunucu çıkartmasını değiştirme

PATCH /guilds/{guild_id}/stickers/{sticker_id}

Bir çıkartmayı günceller ve sunucu çıkartması nesnesini döndürür. Çıkartmayı yükleyen üyenin CREATE_EXPRESSIONS, diğer herkesin MANAGE_EXPRESSIONS iznine ihtiyacı vardır.

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

Alan Tür Açıklama
name? string Yeni ad
description? string Yeni açıklama
tags? array[string] Yeni eksiksiz etiket listesi. Mevcut etiketleri korumak için göndermeyin

Gönderilmeyen alan değerini korur. Aynı sınırlar geçerlidir. Bu sunucuda olmayan bir çıkartma 404 NOT_FOUND, sunucunun başka bir çıkartmasının kullandığı ad 409 CONFLICT döndürür. İstek bir STICKER_UPDATE denetim girişi oluşturur ve Guild Stickers Update gönderir.

Sunucu çıkartmasını silme

DELETE /guilds/{guild_id}/stickers/{sticker_id}

Bir çıkartmayı siler ve 204 döndürür. Yükleyenin CREATE_EXPRESSIONS, diğer herkesin MANAGE_EXPRESSIONS iznine ihtiyacı vardır.

Hız sınırı: guild:sticker:delete, hesap ve sunucu başına 30 saniyede 10.

Silme bir çıkartma yuvasını boşaltır, bir STICKER_DELETE denetim girişi oluşturur ve Guild Stickers Update gönderir. Çıkartmayı zaten gösteren mesajlar değiştirilmez. Bu sunucuda olmayan bir çıkartma 404 NOT_FOUND döndürür.

Yükleme akışı

TEBHOS web uygulaması çıkartma görüntülerini base64 göndermek yerine doğrudan depolamaya yükler. Her iki adım da yalnızca kullanıcı içindir (bir bot token'ı 403 ACCESS_DENIED alır) ve üyelik ile CREATE_EXPRESSIONS gerektirir.

  1. {"filename": string, "content_type": string, "size": integer} ile POST /servers/{guild_id}/stickers/upload-url. size en fazla 512000 olabilir. upload_url (300 saniye geçerli, önceden imzalanmış bir URL), storage_key, url ve expires_in döndürür.
  2. Baytları PUT ile upload_url adresine gönderin, ardından {"storage_key": string, "name": string, "description"?: string, "tags"?: [string]} ile POST /servers/{guild_id}/stickers/confirm çağrısını yapın.

Onay {"id", "guild_id", "name", "description", "image_url", "tags", ...} döndürür, bir STICKER_CREATE denetim girişi oluşturur ve Guild Stickers Update gönderir.