Ana içeriğe geç

Sunucu emojileri

Özel emoji, tek bir sunucunun sahip olduğu bir görseldir. Üyeler onu mesajlarda <:name:id> (hareketliyse <a:name:id>) olarak ve tepkilerde kullanır. Emoji meta verilerini getir, bir emojiyi 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 gereken izne sahip olmayan bir çağıran 403 FORBIDDEN alır. Hata gövdeleri Hatalar sayfasındaki biçime uyar.

Emoji kimlikleri

Emoji id değeri, tüm sunucular genelinde benzersiz bir snowflake dizesidir. Mesaj işaretlemesinde, tepkilerde ve bu sayfadaki her yolda kullanılacak kimlik budur.

Eski UUID tanımlayıcıları

21 Eylül 2026'ya kadar API emoji id değeri olarak bir UUID döndürüyordu. Emojiler bu tür tanımlayıcıyı hâlâ legacy_id olarak taşır (yeni emojiler de bir tane alır); böylece eski istemciler, saklanmış bağlantılar ve mesaj işaretlemesi çalışmaya devam eder. emoji_id alan her yol snowflake'i veya eski UUID'yi kabul eder. Yeni kod yalnızca id kullanmalıdır.

Sunucu emojisi nesnesi

Alan Tür Açıklama
id snowflake Emojinin kimliği
legacy_id ?string Eski UUID tanımlayıcısı (bkz. Emoji kimlikleri)
guild_id snowflake Emojinin sahibi olan sunucunun kimliği
name string Emoji adı; 1-32 ASCII harf, rakam ve alt çizgi
animated boolean Görselin hareketli olup olmadığı (GIF, hareketli PNG veya hareketli WebP)
available boolean Her zaman true
nsfw boolean Her zaman false
image_url string Saklanan görselin URL'si
created_at ISO8601 zaman damgası Emojinin oluşturulduğu zaman
user? kısmi kullanıcı nesnesi Emojiyi yükleyen hesap. Yalnızca Sunucu emojilerini listele bunu içerir
{
  "id": "1501314428688998182",
  "legacy_id": "b4497791-c19c-4b6b-9a2f-df4bc155a9f7",
  "guild_id": "1489002177550843904",
  "name": "party_parrot",
  "animated": true,
  "available": true,
  "nsfw": false,
  "image_url": "https://cdn.tebhos.com/emojis/1489002177550843904/0c8f5a52-7e0b-4f3e-9a41-2d6f3b7c9e10/9f2c1d4e7b.gif",
  "created_at": "2026-09-14T09:12:44+00:00"
}

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

Sınırlar

Sınır Değer
Sunucu başına emoji 50; yükleyen üyenin TEBHOS Pro'su varsa 100
Görsel boyutu Kodu çözülmüş hâliyle 256 KiB (262144 bayt)
Görsel biçimleri Dosya içeriğinden algılanan PNG, JPEG, GIF ve WebP. SVG kabul edilmez
Ad 1-32 karakter: ASCII harfler, rakamlar ve _. Sunucu içinde benzersiz

Sunucu başına sınır, her emoji oluşturulduğunda mevcut emoji sayısına göre denetlenir; bu yüzden emojiyi oluşturan üyenin TEBHOS Pro'ya sahip olup olmamasına bağlıdır.

Hareketli emojiler, yükleyen üye için TEBHOS Pro veya takviye seviyesi 1 ya da daha yüksek olan bir sunucu gerektirir. Aksi hâlde hareketli bir emoji oluşturmak veya kopyalamak 403 FORBIDDEN döndürür.

Emoji oluşturma nesnesi

Alan Tür Açıklama
name string Kırpılmış emoji adı
image string Ham base64 veya bir data: URL'si olarak görsel
{
  "name": "party_parrot",
  "image": "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEAAAAALAAAAAABAAEAAAI="
}

Sunucu emojilerini listele

GET /guilds/{guild_id}/emojis

Sunucunun her sunucu emojisi nesnesini user ile birlikte döndürür. Üyelik gerektirir; hiçbir izin denetlenmez. Sayfalama yoktur.

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

curl https://tebhos.com/api/v1/guilds/1489002177550843904/emojis \
  -H "Authorization: Bot $TEBHOS_BOT_TOKEN"

Sunucu emojisi oluştur

POST /guilds/{guild_id}/emojis

Bir emoji oluşturma nesnesinden emoji oluşturur ve sunucu emojisi nesnesini (user olmadan) 200 durumuyla döndürür. CREATE_EXPRESSIONS gerektirir. Sunucu Guild Emojis Update alır ve bir EMOJI_CREATE denetim kaydı girdisi kaydedilir. İstek gövdesi en fazla 2 MiB olabilir.

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

Durum Kod Koşul
400 INVALID_FORM_BODY Ad boş, 32 karakterden uzun veya başka karakterler içeriyor
400 BAD_REQUEST Görsel boş, geçerli base64 değil, 256 KiB'den büyük veya kabul edilen bir biçimde değil ya da sunucu emoji sınırına ulaşmış
403 FORBIDDEN CREATE_EXPRESSIONS eksik veya görsel hareketli ve ne Pro ne de takviye seviyesi 1 geçerli
409 CONFLICT Sunucuda zaten bu ada sahip bir emoji var
curl -X POST https://tebhos.com/api/v1/guilds/1489002177550843904/emojis \
  -H "Authorization: Bot $TEBHOS_BOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "shipit", "image": "data:image/png;base64,iVBORw0KGgo..."}'

Sunucu emojilerini toplu oluştur

POST /guilds/{guild_id}/emojis/bulk

1-50 emoji 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:emoji:bulk_create, hesap ve sunucu başına 60 saniyede 6.

JSON gövdesi

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

Her öğe bağımsız olarak işlenir. success, oluşturulan sunucu emojisi nesnelerini tutar; failed ise reddedilen her öğe için {"name": string, "error": string} tutar; burada error insan tarafından okunabilir 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 emoji oluşturulduğunda sunucu tek bir Guild Emojis Update alır.

Sunucu emojisini kopyala

POST /guilds/{guild_id}/emojis/clone

Herhangi bir sunucudaki bir emojiyi bu sunucuya kopyalar ve yeni sunucu emojisi 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 kaynak görseli alır.

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

JSON gövdesi

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

Hedef sunucunun emoji sınırı uygulanır. Kopyalama bir EMOJI_CREATE denetim girdisi kaydeder ve hedef sunucuda Guild Emojis Update gönderir.

Sunucu emojisini değiştir

PATCH /guilds/{guild_id}/emojis/{emoji_id}

Bir emojiyi yeniden adlandırır ve sunucu emojisi nesnesini döndürür. Görsel değiştirilemez. Emojiyi yükleyen üyenin CREATE_EXPRESSIONS, diğer herkesin MANAGE_EXPRESSIONS iznine ihtiyacı vardır.

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

Alan Tür Açıklama
name? string Yeni ad. Oluşturmadaki kuralların aynısı geçerlidir

Yeniden adlandırma bir EMOJI_UPDATE denetim girdisi kaydeder. Her başarılı istek Guild Emojis Update gönderir. Bu sunucuda olmayan bir emoji 404 NOT_FOUND, sunucunun başka bir emojisinin kullandığı bir ad ise 409 CONFLICT döndürür.

Sunucu emojisini sil

DELETE /guilds/{guild_id}/emojis/{emoji_id}

Bir emojiyi 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:emoji:delete, hesap ve sunucu başına 30 saniyede 10.

Silme bir emoji yuvasını boşaltır, bir EMOJI_DELETE denetim girdisi kaydeder ve Guild Emojis Update gönderir. Emojiyi zaten içeren mesajlar değiştirilmez. Yol purge parametresi almaz. Bu sunucuda olmayan bir emoji 404 NOT_FOUND döndürür.

Yükleme akışı

TEBHOS web uygulaması emoji görsellerini base64 göndermek yerine doğrudan depolamaya yükler. İki adım da yalnızca kullanıcıya yöneliktir (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}/emojis/upload-url. size en fazla 262144 olabilir ve content_type kabul edilen bir görsel türü olmalıdır. upload_url (300 saniye geçerli, önceden imzalanmış bir URL), storage_key, url ve expires_in döndürür.
  2. Baytları upload_url adresine PUT ile gönderin, ardından {"storage_key": string, "name": string, "animated": boolean} ile POST /servers/{guild_id}/emojis/confirm çağrısını yapın.

Onaylama; ad uzunluğunu (1-32, 400 BAD_REQUEST), adın benzersizliğini (409 CONFLICT) ve hareketli emoji kuralını denetler, bir EMOJI_CREATE denetim girdisi kaydeder, Guild Emojis Update gönderir ve {"id", "guild_id", "name", "image_url", "animated"} döndürür.