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.
{"filename": string, "content_type": string, "size": integer}ilePOST /servers/{guild_id}/stickers/upload-url.sizeen fazla 512000 olabilir.upload_url(300 saniye geçerli, önceden imzalanmış bir URL),storage_key,urlveexpires_indöndürür.- Baytları
PUTileupload_urladresine gönderin, ardından{"storage_key": string, "name": string, "description"?: string, "tags"?: [string]}ilePOST /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.