İçeriğe geç
N'oluyo
REST referansı

Etkileşimler

Botun, bileşenine basılmasına verdiği yanıt. Bu rotalar etkileşim token'ının yanında botun token'ını da ister.

Son güncelleme:

Etkileşime yanıt ver

POST/interactions/{interaction_id}/{interaction_token}/callback

Basmaya ya da komut çalıştırmaya verilen ilk yanıt, 3 saniye içinde gelmelidir; bir etkileşim bir yanıt alır. Mesaj yanıtlarından komut çalıştırma yalnızca type 4 ve 5 alır: güncellenecek mesajı yoktur. type 4 yeni mesaj yazar, 5 PATCH @original ile doldurulacak bir "düşünüyor" mesajı (flags 128) yazar, 6 yalnızca onaylar ve izin istemez, 7 basılan mesajı günceller, göndermediğin alan kalır. Reddedilen yanıt hakkı harcamaz. Basan kişiye başarı bildirilir. 4, 5 ve 7 {"message": ...} ile 200, 6 ise 204 döner. Yavaş mod işlemez; otomatik moderasyon ve ortak tavanlar işler. type 5, data içinden yalnızca flags'i okur; type 6 data'yı yok sayar. type 4 ya da 5 ile flags 64, yanıtı yalnızca basan kişiye gösterir ve kimliği etkileşimin kimliğidir; ephemeral mesaja basıldığında type 7 o mesajı bütünüyle değiştirir. Otomatik tamamlama (type 4) yalnızca data.choices ile type 8 alır; 204 döner, seçenekler yalnızca yazan kişiye gider ve token'ı takip mesajı ya da düzenleme almaz. Type 8 ve ephemeral yanıtlar ortak yazma tavanına sayılmaz: yalnızca herkesin gördüğü 4, 5 ve 7 sayılır. Komut çalıştırma ya da basma (otomatik tamamlama ve gönderilen form değil) bunun yerine data {custom_id, title, components} ile type 9 alabilir: kişiye form açılır, 204 döner, hiçbir şey yazmaz ve yazma tavanına sayılmaz. Formu açmak tek yanıttır; önce 5 verip sonra açamazsın. Kişinin gönderdiği yeni bir etkileşim (type 5) olarak gelir; o 4 ya da 5 alır, 6 ya da 7'yi yalnızca form bir mesajın butonundan açıldıysa alır. Etkileşim adresi olan uygulama etkileşimi orada alır ve aynı yanıtı o isteğin 200 gövdesi olarak verebilir; nasıl yapıldığını HTTP teslim rehberi anlatır.

Kimlik
Bot token'ı (bir kişinin oturumu da olur)
İzinler
SendMessages
Hız sınırı
interaction 50 istek / 1 sn

Parametreler

AdTürAçıklama
interaction_idzorunlustringAdreste

INTERACTION_CREATE olayının id'si.

interaction_tokenzorunlustringAdreste

Aynı olayın token'ı. Gizlidir, 15 dakika geçerlidir.

Gövde alanları

AdTürAçıklama
typezorunluinteger

4 yeni mesaj, 5 sonradan doldurulacak "düşünüyor" mesajı, 6 sessiz onay, 7 basılan mesajı güncelleme. 8 otomatik tamamlamanın seçenekleri; otomatik tamamlama yalnızca 8 alır. 9 form açma; komut çalıştırmaya ya da basmaya ilk yanıt olarak.

4, 5, 6, 7, 8, 9
dataobject

Yanıtın gösterdiği şey. Yeni mesajda metin ya da embed zorunludur.

data.contentstring≤ 2000
data.embedsEmbed[]

Yalnızca botlar için; kişi gönderirse validation_failed alır. Embed'li mesajda content gerekmez. Görseller aynı mesajla gönderilen dosyalardan gelir (attachment://); başka bir adres reddedilir.

≤ 10
data.componentsMessageComponent[]

Yalnızca botlar için. Yalnızca bileşenli mesaj reddedilir: content, embed veya dosya gerekir. type 9'da formun alanları: 1-5 eylem satırı, her biri bir metin girişi (4) ya da etiketli bir menü taşır.

≤ 5
data.allowed_mentionsobject
data.allowed_mentions.replied_userboolean
data.allowed_mentions.parsestring[]

Yalnızca botlar için. Metindeki hangi etiket türlerinin bildirim göndereceği. parse, users veya roles gönderilirse yalnızca listelenenler bildirim gönderir; varsayılan için üçünü de yazma.

data.allowed_mentions.usersID[]

Yalnızca botlar için. parse içinde users yokken de bildirim gönderen kullanıcılar. parse içindeki users ile birlikte yazılamaz. En çok 100.

≤ 100
data.allowed_mentions.rolesID[]

Yalnızca botlar için. parse içinde roles yokken de bildirim gönderen roller. parse içindeki roles ile birlikte yazılamaz. En çok 100.

≤ 100
data.flagsinteger

0 ya da yalnızca basan kişinin göreceği ephemeral yanıt için 64. Başka değer reddedilir.

data.choicesOptionChoice[]

Yalnızca type 8'de, orada zorunludur ve yanında mesajın başka alanı olmaz: en çok 25 öneri, her değer odaktaki seçeneğin türündedir. Boş liste hiçbir şeyin eşleşmediğini söyler. Kişi onları kendi dilinde görür (name_localizations).

≤ 25
data.custom_idstring

Yalnızca type 9'da, orada zorunludur: formun kimliği, kişinin gönderdiğiyle geri gelir.

≤ 100
data.titlestring

Yalnızca type 9'da, orada zorunludur: formun başlığı. Otomatik moderasyon onu, etiketleri ve ön doldurulan değerleri okur. Kişi her formun altında kaldıramayacağın bir satır görür: form botuna gider, içine asla şifre ya da doğrulama kodu yazmamalıdır.

1–45

Örnek istek

curl -X POST "https://noluyo.net/api/v1/interactions/111600000000000400/$INTERACTION_TOKEN/callback" \
  -H "Authorization: Bot $BOT_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"type":4,"data":{"content":"Kaydın alındı."}}'

Örnek gövde

application/json
{
  "type": 4,
  "data": {
    "content": "Kaydın alındı."
  }
}

Örnek yanıt

200 Başarılı

JSON
{
  "message": {
    "id": "111600000000000000",
    "type": 0,
    "channel_id": "111500000000000100",
    "guild_id": "111500000000000000",
    "author": {
      "id": "111540000000000001",
      "username": "ornek_bot",
      "display_name": "Örnek Bot",
      "avatar": null,
      "cosmetics": null,
      "bot": true
    },
    "content": "Kaydın alındı.",
    "timestamp": "2026-11-04T22:58:33.427Z",
    "edited_timestamp": null,
    "attachments": [],
    "mentions": [],
    "mention_roles": [],
    "mention_everyone": false,
    "pinned": false,
    "nonce": "istek-1",
    "application_id": "111540000000000000",
    "interaction": {
      "id": "111600000000000400",
      "type": 3,
      "user": {
        "id": "111540000000000009",
        "username": "ayse",
        "display_name": null,
        "avatar": null,
        "cosmetics": null
      }
    }
  }
}

Hatalar

Takip mesajı gönder

POST/interactions/{interaction_id}/{interaction_token}/messages

Yanıtlanmış bir etkileşim için bir mesaj daha yazar; basmadan sonra 15 dakika boyunca, etkileşim başına en çok 5 tane. Dosyalar, mesaj göndermedeki gibi multipart/form-data ve AttachFiles ile gider. flags 64 onu yalnızca basan kişiye gösterir; dosya almaz.

Kimlik
Bot token'ı (bir kişinin oturumu da olur)
İzinler
SendMessagesAttachFilesBirden çok izin varsa bazıları yalnızca belirli durumlarda gerekir; yukarıdaki açıklamaya bak.
Hız sınırı
interaction 50 istek / 1 sn

Parametreler

AdTürAçıklama
interaction_idzorunlustringAdreste

INTERACTION_CREATE olayının id'si.

interaction_tokenzorunlustringAdreste

Aynı olayın token'ı. Gizlidir, 15 dakika geçerlidir.

Gövde alanları

AdTürAçıklama
contentstring≤ 2000
embedsEmbed[]

Yalnızca botlar için; kişi gönderirse validation_failed alır. Embed'li mesajda content gerekmez. Görseller aynı mesajla gönderilen dosyalardan gelir (attachment://); başka bir adres reddedilir.

≤ 10
componentsMessageComponent[]

Yalnızca botlar için. Yalnızca bileşenli mesaj reddedilir: content, embed veya dosya gerekir. type 9'da formun alanları: 1-5 eylem satırı, her biri bir metin girişi (4) ya da etiketli bir menü taşır.

≤ 5
allowed_mentionsobject
allowed_mentions.replied_userboolean
allowed_mentions.parsestring[]

Yalnızca botlar için. Metindeki hangi etiket türlerinin bildirim göndereceği. parse, users veya roles gönderilirse yalnızca listelenenler bildirim gönderir; varsayılan için üçünü de yazma.

allowed_mentions.usersID[]

Yalnızca botlar için. parse içinde users yokken de bildirim gönderen kullanıcılar. parse içindeki users ile birlikte yazılamaz. En çok 100.

≤ 100
allowed_mentions.rolesID[]

Yalnızca botlar için. parse içinde roles yokken de bildirim gönderen roller. parse içindeki roles ile birlikte yazılamaz. En çok 100.

≤ 100
flagsinteger

0 ya da yalnızca basan kişinin göreceği ephemeral yanıt için 64. Başka değer reddedilir.

choicesOptionChoice[]

Yalnızca type 8'de, orada zorunludur ve yanında mesajın başka alanı olmaz: en çok 25 öneri, her değer odaktaki seçeneğin türündedir. Boş liste hiçbir şeyin eşleşmediğini söyler. Kişi onları kendi dilinde görür (name_localizations).

≤ 25
custom_idstring

Yalnızca type 9'da, orada zorunludur: formun kimliği, kişinin gönderdiğiyle geri gelir.

≤ 100
titlestring

Yalnızca type 9'da, orada zorunludur: formun başlığı. Otomatik moderasyon onu, etiketleri ve ön doldurulan değerleri okur. Kişi her formun altında kaldıramayacağın bir satır görür: form botuna gider, içine asla şifre ya da doğrulama kodu yazmamalıdır.

1–45

Örnek istek

curl -X POST "https://noluyo.net/api/v1/interactions/111600000000000400/$INTERACTION_TOKEN/messages" \
  -H "Authorization: Bot $BOT_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"content":"Bir şey daha"}'

Örnek gövde

{
  "content": "Bir şey daha"
}

Örnek yanıt

200 Başarılı

JSON
{
  "id": "111600000000000000",
  "type": 0,
  "channel_id": "111500000000000100",
  "guild_id": "111500000000000000",
  "author": {
    "id": "111540000000000001",
    "username": "ornek_bot",
    "display_name": "Örnek Bot",
    "avatar": null,
    "cosmetics": null,
    "bot": true
  },
  "content": "Kaydın alındı.",
  "timestamp": "2026-11-04T22:58:33.427Z",
  "edited_timestamp": null,
  "attachments": [],
  "mentions": [],
  "mention_roles": [],
  "mention_everyone": false,
  "pinned": false,
  "nonce": "istek-1",
  "application_id": "111540000000000000",
  "interaction": {
    "id": "111600000000000400",
    "type": 3,
    "user": {
      "id": "111540000000000009",
      "username": "ayse",
      "display_name": null,
      "avatar": null,
      "cosmetics": null
    }
  }
}

Hatalar

Etkileşimin mesajını düzenle

PATCH/interactions/{interaction_id}/{interaction_token}/messages/{message_id}

Bu etkileşimin bir mesajını düzenler: @original type 4 veya 5 yanıtıdır, takip mesajı kendi kimliğiyle bulunur. Göndermediğin alan kalır. "Düşünüyor" mesajını doldurmak flags 128'i siler, düzenlendi işareti koymaz, içindeki etiket de bildirim göndermez. Satırı olmayan kimlik ephemeral mesaj sayılır, yanıtın satırı yoksa @original da: 200 döner, yalnızca basan kişiye gider, göndermediğin alan gider. Hiç gönderilmemiş kimliği tutan istemci olmadığından type 6 ya da 7 sonrası ekranda bir şey değişmez. Ephemeral düzenleme etkileşim başına 5 saniyede en çok 5 kezdir.

Kimlik
Bot token'ı (bir kişinin oturumu da olur)
İzinler
SendMessages
Hız sınırı
interaction 50 istek / 1 sn

Parametreler

AdTürAçıklama
interaction_idzorunlustringAdreste

INTERACTION_CREATE olayının id'si.

interaction_tokenzorunlustringAdreste

Aynı olayın token'ı. Gizlidir, 15 dakika geçerlidir.

message_idzorunlustringAdreste

Bu etkileşimin bir mesajı ya da type 4 veya 5 yanıtı için @original.

Gövde alanları

AdTürAçıklama
contentstring≤ 2000
embedsEmbed[]

Yalnızca botlar için. Embed'lerin yerine geçer. attachment:// yalnızca mesajın var olan dosyalarına bakar; yeni dosya yeni mesajla gelir.

≤ 10
componentsMessageComponent[]

Yalnızca botlar için. Satırların yerine geçer. Yalnızca bu değişirse mesaj düzenlendi sayılmaz.

≤ 5
allowed_mentionsobject
allowed_mentions.replied_userboolean
allowed_mentions.parsestring[]

Yalnızca botlar için. Metindeki hangi etiket türlerinin bildirim göndereceği. parse, users veya roles gönderilirse yalnızca listelenenler bildirim gönderir; varsayılan için üçünü de yazma.

allowed_mentions.usersID[]

Yalnızca botlar için. parse içinde users yokken de bildirim gönderen kullanıcılar. parse içindeki users ile birlikte yazılamaz. En çok 100.

≤ 100
allowed_mentions.rolesID[]

Yalnızca botlar için. parse içinde roles yokken de bildirim gönderen roller. parse içindeki roles ile birlikte yazılamaz. En çok 100.

≤ 100

Örnek istek

curl -X PATCH "https://noluyo.net/api/v1/interactions/111600000000000400/$INTERACTION_TOKEN/messages/@original" \
  -H "Authorization: Bot $BOT_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"content":"Rapor hazır."}'

Örnek gövde

application/json
{
  "content": "Rapor hazır."
}

Örnek yanıt

200 Başarılı

JSON
{
  "id": "111600000000000000",
  "type": 0,
  "channel_id": "111500000000000100",
  "guild_id": "111500000000000000",
  "author": {
    "id": "111540000000000001",
    "username": "ornek_bot",
    "display_name": "Örnek Bot",
    "avatar": null,
    "cosmetics": null,
    "bot": true
  },
  "content": "Kaydın alındı.",
  "timestamp": "2026-11-04T22:58:33.427Z",
  "edited_timestamp": null,
  "attachments": [],
  "mentions": [],
  "mention_roles": [],
  "mention_everyone": false,
  "pinned": false,
  "nonce": "istek-1",
  "application_id": "111540000000000000",
  "interaction": {
    "id": "111600000000000400",
    "type": 3,
    "user": {
      "id": "111540000000000009",
      "username": "ayse",
      "display_name": null,
      "avatar": null,
      "cosmetics": null
    }
  }
}

Hatalar

Etkileşimin mesajını sil

DELETE/interactions/{interaction_id}/{interaction_token}/messages/{message_id}

Bu etkileşimin bir mesajını siler; PATCH hangilerine ulaşıyorsa onlara. Kendi mesajların gibi izin istemez. Ephemeral mesaj basan kişinin ekranlarından gider.

Kimlik
Bot token'ı (bir kişinin oturumu da olur)
Hız sınırı
interaction 50 istek / 1 sn

Parametreler

AdTürAçıklama
interaction_idzorunlustringAdreste

INTERACTION_CREATE olayının id'si.

interaction_tokenzorunlustringAdreste

Aynı olayın token'ı. Gizlidir, 15 dakika geçerlidir.

message_idzorunlustringAdreste

Bu etkileşimin bir mesajı ya da type 4 veya 5 yanıtı için @original.

Örnek istek

curl -X DELETE "https://noluyo.net/api/v1/interactions/111600000000000400/$INTERACTION_TOKEN/messages/@original" \
  -H "Authorization: Bot $BOT_TOKEN"

Örnek yanıt

204 Başarılı; yanıtın gövdesi yok.

Hatalar