Ana içeriğe geç

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.

curl https://tebhos.com/api/v1/users/@me/memes \
  -H "Authorization: Bearer $TEBHOS_TOKEN"

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.