Geliştirici Portalı
Deneysel Bot ve uygulama platformu aktif olarak geliştiriliyor. Kendi barındırdığın sunucu desteği 13.08.2026'da yayınlandı ve buluta göre daha az özellik sunuyor. Nelerin desteklendiğine bak.
← Dokümanlar

Uygulamaya ait emojiler

Uygulamanın altına yüklenen emojiler, o sunucunun emoji yuvalarını harcamadan botunun gönderi yaptığı her sunucuda kullanılabilir. Discord ile eşdeğer: aynı veri formatı, mesaj içeriğinde aynı <:name:id> sözdizimi.

Sınırlar

  • Uygulama başına 2.000 emoji (esnek sınır, oluşturma sırasında uygulanır).
  • En fazla 256 KB dosya boyutu.
  • İçerik türleri: image/png, image/jpeg, image/gif, image/webp.
  • Ad: 2–32 karakter, karakter kümesi [a-zA-Z0-9_]. Uygulama başına benzersiz, büyük/küçük harf duyarsız: BotIcon ile boticon çakışır.

Animasyon algılama

animated bayrağı, yüklemenin içerik türüne göre sunucu tarafında ayarlanır. image/gif olarak yüklenen her şey animasyonludur. İstemci bunu geçersiz kılamaz. Mesaj içeriğinde animasyonlu bir emojiye başvururken <a:name:id> önekini kullan (Discord ile aynı).

REST endpoint'leri (bot tarafı)

Bot API'si, uygulamanın emojilerine salt okunur erişim sunar. Authorization: Bot {token} ile kimlik doğrula.

GET /applications/{application.id}/emojis
GET /applications/{application.id}/emojis/{emoji.id}

Yanıt biçimi (liste öğeleri ve tek emoji GET yanıtı aynı Discord biçimindedir):

{
  "id": "1199283740192847360",
  "name": "thinking_orange",
  "animated": false,
  "user": { "id": "...", "username": "you" },
  "managed": false,
  "available": true
}

Oluşturma / güncelleme / silme bot API'sinde sunulmuyor. Discord'un POST /applications/{id}/emojis, PATCH ve DELETE route'ları GameVox'ta 404 döndürür. Tüm emoji yönetimi geliştirici portalı üzerinden yapılır (aşağıda); portal tarafındaki moderasyon hattı insan müdahalesi olmadan çalışacak kadar oturduğunda Discord biçimindeki yazma endpoint'lerini açmayı planlıyoruz.

Mesajlarda emoji kullanma

Uygulama emojilerine content içinde sunucu emojileriyle aynı şekilde başvur:

// Statik
"hello <:thinking_orange:1199283740192847360>"

// Animasyonlu (baştaki `a:` kısmına dikkat)
"thanks <a:wave_orange:1199283740192847361>"

Tepkiler için PUT /channels/{channel.id}/messages/{message.id}/reactions/{emoji}/@me üzerindeki URL kodlanmış emoji yoluna name:id geçir, Discord'daki gibi.

Portal yükleme akışı

Geliştirici portalı emojileri, avatarlar ve uygulama simgeleriyle aynı önceden imzalanmış URL (presigned URL) hattı üzerinden yükler:

  1. purpose=bot_app_emoji ve application_id ile POST /api/uploads/presign.
  2. Dosyayı dönen S3 URL'sine PUT et.
  3. Dönen file_id ile POST /api/uploads/complete.
  4. {name, file_id} ile POST /developer-portal/applications/{id}/emojis.

Sunucu, dosyanın s3_key önekinin bot-emojis/{application_id}/ ile eşleştiğini doğrular; böylece başka bir uygulamadan sızan bir file_id bağlama adımında başarısız olur.

Depolama

Herkese açık gamevox-files-prod bucket'ında bot-emojis/{application_id}/{file_id}.{ext} yolunda saklanır. Soft delete ile silinen satırlar S3 nesnesini yerinde bırakır; sahipsiz kalan nesneler arka planda çalışan bir temizleyici tarafından toplanır.

← Dokümanlara dön