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:BotIconileboticonç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:
purpose=bot_app_emojiveapplication_idilePOST /api/uploads/presign.- Dosyayı dönen S3 URL'sine
PUTet. - Dönen
file_idilePOST /api/uploads/complete. {name, file_id}ilePOST /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.