Memeler¶
Meme, geçerli hesabın koleksiyonunda favori olarak kaydedilmiş bir görsel, video veya ses öğesidir. Buradaki yollar yalnızca kullanıcılar içindir ve çağıranın kendi koleksiyonu üzerinde çalışır. Bir kullanıcı oturum token'ı (Authorization: Bearer <token>) gerektirirler; geçerli bir Bot <token> kimlik bilgisi 403 ACCESS_DENIED ile (geçersiz olanı 401 UNAUTHORIZED ile) reddedilir.
Koleksiyonun tamamı, aynı meme nesnesi biçimiyle Gateway Ready yükünde favorite_memes olarak da gelir.
TEBHOS'ta desteklenmiyor
TEBHOS, meme koleksiyonu için yalnızca okuma, değiştirme ve silme yollarını sunar. Yeni bir meme kaydeden bir HTTP yolu (ne URL'den ne de mesajdan), GIF URL'lerini çözümleyen bir yol yoktur ve Mesaj oluştur ucunda favorite_meme_id alanı bulunmaz. GIF göndermek için GIF sağlayıcı API'sini kullanın ve URL'sini mesaj içeriği olarak gönderin.
Meme nesnesi¶
Tek bir hesaba ait tek bir medya öğesi. Yalnızca ad, alternatif metin ve etiketler değiştirilebilir.
Yapı¶
| Alan | Tür | Açıklama |
|---|---|---|
| id | snowflake | Meme'in kimliği |
| user_id | snowflake | Sahip hesabın kimliği |
| name | string | Meme'in görünen adı |
| alt_text | ?string | Medyanın erişilebilirlik açıklaması; ayarlanmamışsa null |
| tags | array[string] | Meme üzerinde saklanan arama etiketleri |
| attachment_id | snowflake | Saklanan kopyayı tutan ekin kimliği |
| filename | string | Saklanan kopyanın dosya adı |
| content_type | string | Saklanan kopyanın MIME türü |
| content_hash | ?string | Saklanan baytların içerik özeti (hash); kullanılamıyorsa null |
| size | integer | Kopyanın bayt cinsinden saklanan boyutu |
| width | ?integer | Medyanın piksel cinsinden genişliği; uygulanamıyorsa veya bilinmiyorsa null |
| height | ?integer | Medyanın piksel cinsinden yüksekliği; uygulanamıyorsa veya bilinmiyorsa null |
| duration | ?integer | Medyanın saniye cinsinden süresi; uygulanamıyorsa veya bilinmiyorsa null |
| url | ?string | /media/memes/{content_hash} biçiminde göreli bir yol; content_hash null ise null |
Oluşturulma zamanı, Snowflake'ler bölümünde tanımlandığı gibi id içine gömülü zaman damgasıdır.
Örnek¶
{
"id": "1501314428688998182",
"user_id": "1501314428688990000",
"name": "party_parrot.gif",
"alt_text": null,
"tags": ["parrot", "party"],
"attachment_id": "1501314428688998183",
"filename": "party_parrot.gif",
"content_type": "image/gif",
"content_hash": "9f2c1a0d7e5b",
"size": 40213,
"width": 320,
"height": 240,
"duration": null,
"url": "/media/memes/9f2c1a0d7e5b"
}
Memeleri listele¶
GET /users/@me/memes
Geçerli hesabın sahip olduğu her meme nesnesini meme kimliğine göre azalan sırada döndürür; böylece en son kaydedilen ilk sırada gelir.
Yanıt¶
| Durum | Gövde | Koşul |
|---|---|---|
| 200 | array[meme nesnesi] | Koleksiyon döndürüldü (boş dizi olabilir) |
| 401 | hata yanıtı | Kimlik bilgisi eksik veya kullanıcıya ait değil |
Hız sınırı¶
favorite_meme:list kovasında, kimliği doğrulanmış her kullanıcı için 10 saniyede 60 istek.
Meme'i getir¶
GET /users/@me/memes/{meme_id}
Geçerli hesabın sahip olduğu tek bir meme nesnesini döndürür.
Yol parametreleri¶
| Alan | Tür | Açıklama |
|---|---|---|
| meme_id | snowflake | Meme'in kimliği |
Yanıt¶
| Durum | Gövde | Koşul |
|---|---|---|
| 200 | meme nesnesi | Meme döndürüldü |
| 400 | hata yanıtı | meme_id geçerli bir snowflake değil (BAD_REQUEST) |
| 404 | hata yanıtı | Meme bilinmiyor veya başka bir hesaba ait (NOT_FOUND) |
Hız sınırı¶
favorite_meme:get kovasında, kimliği doğrulanmış her kullanıcı için 10 saniyede 100 istek.
Meme'i değiştir¶
PATCH /users/@me/memes/{meme_id}
Geçerli hesabın sahip olduğu bir meme'in adını, alternatif metnini veya etiketlerini değiştirir ve güncellenmiş meme nesnesini döndürür. Güncellenmiş nesneyle birlikte çağıranın kendi oturumlarına bir Favorite Meme Update Gateway olayı gönderir.
Yol parametreleri¶
| Alan | Tür | Açıklama |
|---|---|---|
| meme_id | snowflake | Meme'in kimliği |
JSON gövdesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| name? | string | Yeni görünen ad. Baştaki ve sondaki boşluklar kırpılır |
| alt_text? | string | Yeni erişilebilirlik açıklaması |
| tags? | array[string] | Yeni etiketler |
Gönderilmeyen veya null olan bir alan saklanan değeri değiştirmez; bu nedenle alt_text null ile temizlenemez, bunun yerine boş bir dize gönderin.
Etiket göndermek etiket listesinin tamamının yerine geçer
Boş bir dizi tüm etiketleri temizler. Saklanan etiketlere dokunmamak için alanı göndermeyin ya da null gönderin.
Yanıt¶
| Durum | Gövde | Koşul |
|---|---|---|
| 200 | meme nesnesi | Meme güncellendi |
| 400 | hata yanıtı | meme_id geçerli bir snowflake değil veya gövde geçerli JSON değil |
| 404 | hata yanıtı | Meme bilinmiyor veya başka bir hesaba ait (NOT_FOUND) |
Hız sınırı¶
favorite_meme:update kovasında, kimliği doğrulanmış her kullanıcı için 10 saniyede 30 istek.
Meme'i sil¶
DELETE /users/@me/memes/{meme_id}
Geçerli hesabın sahip olduğu bir meme'i siler ve boş gövdeyle 204 döndürür. Çağıranın kendi oturumlarına meme_id taşıyan bir Favorite Meme Delete Gateway olayı gönderir.
Bilinmeyen ya da başka bir hesaba ait bir meme, başarılı ama etkisiz bir işlemdir ve hiçbir olay göndermez.
Yol parametreleri¶
| Alan | Tür | Açıklama |
|---|---|---|
| meme_id | snowflake | Meme'in kimliği |
Yanıt¶
| Durum | Gövde | Koşul |
|---|---|---|
| 204 | boş | Meme silindi veya sahip olunan bir meme yoktu |
| 400 | hata yanıtı | meme_id geçerli bir snowflake değil |
Hız sınırı¶
favorite_meme:delete kovasında, kimliği doğrulanmış her kullanıcı için 10 saniyede 30 istek.