N'oluyo · Geliştirici Dokümanları · Son güncelleme: · https://noluyo.net/gelistirici

Gateway olayları, opcode'lar, intent'ler ve kapanış kodları

Son güncelleme: 2026-11-11 (11 Kasım 2026) · N'oluyo bot gateway'inde her çerçeve op alanı taşıyan bir JSON nesnesidir.

Gateway olayları, opcode'lar, intent'ler ve kapanış kodları

Son güncelleme: 2026-11-11 (11 Kasım 2026) · N'oluyo bot gateway'inde her çerçeve op alanı taşıyan bir JSON nesnesidir.

Opcode'lar

op: 0 — DISPATCH (Bot alır)

Bir olay. t adını, s sıra numarasını, d içeriğini verir. Son s saklanır: resume için gerekir.

{
  "op": 0,
  "d": {
    "id": "21531879014400001"
  },
  "s": 42,
  "t": "GUILD_DELETE"
}

op: 1 — HEARTBEAT (Bot gönderir)

Bağlantıyı canlı tutar; her heartbeat_interval süresinde gönderilir. Sunucu op 11 ile yanıtlar, d alanını okumaz. Heartbeat gelmezse bağlantı kapanış kodu olmadan kopar, oturum sürdürülebilir kalır.

{
  "op": 1,
  "d": 42
}

op: 2 — IDENTIFY (Bot gönderir)

Oturum başlatır. token ve intents zorunludur. shard [id, count] biçimindedir, verilmezse [0, 1] olur. presence isteğe bağlıdır. Uygulamanın oturum başlatma haklarından birini harcar.

{
  "op": 2,
  "d": {
    "token": "<token>",
    "intents": 513,
    "shard": [
      0,
      1
    ],
    "presence": {
      "status": "online",
      "activities": []
    }
  }
}

op: 3 — PRESENCE_UPDATE (Bot gönderir)

Botun durumunu değiştirir: online, idle, dnd ya da invisible. Bir oturum dakikada 5 kez gönderebilir; fazlasında RATE_LIMITED gelir ve güncelleme yok sayılır.

{
  "op": 3,
  "d": {
    "status": "idle",
    "activities": []
  }
}

op: 4 — VOICE_STATE_UPDATE (Bot gönderir)

Bir sunucunun ses kanalına katılmayı (channel_id dolu) ya da o sunucuda sesten ayrılmayı (channel_id null) ister. Katılma VOICE_SERVER_UPDATE ya da VOICE_JOIN_ERROR ile yanıtlanır; ayrılma ikisini de göndermez. Intent gerektirmez, kanalda ViewChannel, Connect ve Speak izinleri gerekir. Bot sunucu başına 20 saniyede 5 kez gönderebilir.

{
  "op": 4,
  "d": {
    "guild_id": "21531879014400001",
    "channel_id": "21531879014400005",
    "self_mute": false
  }
}

op: 6 — RESUME (Bot gönderir)

Kopan bağlantıdan sonra oturumu sürdürür, oturum başlatma hakkı harcamaz. seq sonrasında kaçırılan olaylar yeniden gönderilir, ardından RESUMED gelir. Oturum artık yoksa op 9 gelir.

{
  "op": 6,
  "d": {
    "token": "<token>",
    "session_id": "6f1c0e2ab7d94c3f8e5a1d0b9c7e4a26",
    "seq": 42
  }
}

op: 7 — RECONNECT (Bot alır)

Sunucu kapanıyor. Yeniden bağlanıp resume yapılır.

{
  "op": 7,
  "d": null,
  "s": null,
  "t": null
}

op: 8 — REQUEST_GUILD_MEMBERS (Bot gönderir)

Bir sunucunun üyelerini ister; yanıt GUILD_MEMBERS_CHUNK olarak gelir. query ve user_ids alanlarından tam olarak biri gönderilir. Boş query tam listedir ve GUILD_MEMBERS ister; presences: true GUILD_PRESENCES ister. Aynı anda tek istek olur.

{
  "op": 8,
  "d": {
    "guild_id": "21531879014400001",
    "query": "ay",
    "limit": 10,
    "presences": false,
    "nonce": "arama-1"
  }
}

op: 9 — INVALID_SESSION (Bot alır)

Oturum sürdürülemez. d her zaman false'tur: op 2 ile yeni oturum açılır.

{
  "op": 9,
  "d": false,
  "s": null,
  "t": null
}

op: 10 — HELLO (Bot alır)

Her bağlantının ilk çerçevesi. heartbeat_interval milisaniyedir.

{
  "op": 10,
  "d": {
    "heartbeat_interval": 41250
  },
  "s": null,
  "t": null
}

op: 11 — HEARTBEAT_ACK (Bot alır)

Op 1'in yanıtı. Gelmezse bağlantı ölmüştür: yeniden bağlanıp resume yapılır.

{
  "op": 11,
  "d": null,
  "s": null,
  "t": null
}

op: 30 — PHONE_CAMERA (Bot gönderir)

Yalnızca kişilerin uygulamaları içindir. Gönderen bot 4001 ile kapatılır.

{
  "op": 30,
  "d": {}
}

op: 31 — ACTIVE (Bot gönderir)

Yalnızca kişilerin uygulamaları içindir. Gönderen bot 4001 ile kapatılır.

{
  "op": 31,
  "d": null
}

Kapanış kodları

KodAdYeniden bağlanAçıklama
4000UNKNOWN_ERRORreconnect: true (Evet)Sunucuda bir şeyler ters gitti. Yeniden bağlanılır.
4001UNKNOWN_OPCODEreconnect: false (Hayır)Bot, olmayan ya da botlara açık olmayan bir opcode gönderdi.
4002DECODE_ERRORreconnect: false (Hayır)Bir çerçeve ya da içerik okunamadı veya değerleri geçersiz.
4003NOT_AUTHENTICATEDreconnect: false (Hayır)Bot, identify'dan önce op 1, op 2 ya da op 6 dışında bir şey gönderdi veya 10 saniye içinde identify etmedi.
4004AUTHENTICATION_FAILEDreconnect: false (Hayır)Token yanlış ya da sıfırlandı, veya bot ya da sahibi devre dışı bırakıldı ya da silindi. Önce yeni token gerekir.
4005ALREADY_AUTHENTICATEDreconnect: false (Hayır)Bot, oturumu olan bir bağlantıda op 2 ya da op 6 gönderdi.
4008RATE_LIMITEDreconnect: true (Evet)Çok fazla çerçeve (dakikada 120) ya da kısa sürede çok fazla oturum başlatma. Beklenir, sonra yeniden bağlanılır.
4010MAINTENANCEreconnect: true (Evet)Platform bakımda. Daha sonra yeniden denenir.
4011TOO_MANY_SESSIONSreconnect: false (Hayır)Daha yeni bir oturum bunun yerini aldı: aynı shard yeniden identify edildi ya da botun oturumu çok fazla. Bir botun iki kopyası birbirini böyle düşürür.
4012INVALID_SHARDreconnect: false (Hayır)shard biçimi ya da aralığı yanlış, veya izin verilenden çok shard istiyor.
4013INVALID_INTENTSreconnect: false (Hayır)intents yok, sayı değil ya da tanımsız bitler içeriyor.
4014DISALLOWED_INTENTSreconnect: false (Hayır)Bot izni olmayan ayrıcalıklı bir intent istedi ya da op 8 oturumda olmayan bir intent gerektiriyor.
4015SHARDING_REQUIREDreconnect: false (Hayır)Bot bu shard sayısı için çok fazla sunucuda. Yalnızca daha çok shard ile başarılı olur.
4016SESSION_START_LIMITreconnect: true (Evet)Günlük oturum başlatma hakları bitti. Yeniden bağlanmak için GET /gateway/bot yanıtındaki reset_after süresi beklenir.

Intent'ler

IntentBitDeğerAyrıcalıklıAçıklama
GUILDS1 << 01HayırSunucular, rolleri, kanalları ve sabitlemeler.
GUILD_MEMBERS1 << 12EvetÜyelerin katılması, değişmesi ve ayrılması; op 8 ile tam liste.
GUILD_MODERATION1 << 24HayırYasaklar ve kaldırılmaları.
GUILD_EXPRESSIONS1 << 38HayırEmojiler, çıkartmalar ve ses paneli.
GUILD_WEBHOOKS1 << 532HayırBir kanalın webhook'larındaki değişiklikler.
GUILD_INVITES1 << 664HayırOluşturulan ve silinen davetler.
GUILD_VOICE_STATES1 << 7128HayırSeste kimlerin olduğu ve orada çalınan sesler.
GUILD_PRESENCES1 << 8256EvetÜyelerin çevrimiçi durumu ve etkinlikleri; op 8 ile de.
GUILD_MESSAGES1 << 9512HayırSunucu kanallarındaki mesajlar.
GUILD_MESSAGE_REACTIONS1 << 101024HayırSunucu kanallarındaki tepkiler.
GUILD_MESSAGE_TYPING1 << 112048HayırSunucu kanallarında yazıyor bildirimi.
DIRECT_MESSAGES1 << 124096HayırSunucu dışındaki mesajlar.
DIRECT_MESSAGE_REACTIONS1 << 138192HayırSunucu dışındaki tepkiler.
DIRECT_MESSAGE_TYPING1 << 1416384HayırSunucu dışında yazıyor bildirimi.
MESSAGE_CONTENT1 << 1532768EvetMesajların içeriği. Kendi başına bir olay açmaz: bu intent olmadan mesajlar içeriği süzülmüş gelir.
GUILD_SCHEDULED_EVENTS1 << 1665536HayırSunucudaki etkinlikler.
AUTO_MODERATION_CONFIGURATION1 << 201048576HayırOtomatik moderasyon kurallarındaki değişiklikler.

Tüm olaylar

READY — Oturum başladı

Op 2'den sonraki ilk olay. Botun kim olduğunu söyler ve bu shard'ın sunucularını unavailable olarak listeler; her biri ardından GUILD_CREATE olarak gelir, başka olaylar ondan önce de gelebilir. session_id resume için saklanır. Resume'da yeniden gönderilmez.

  • Gereken intent'ler: Gerekmez (her oturuma gider)
AlanTürZorunluAçıklama
vintegerevetGateway sürümü, şimdilik 1.
userobjectevet
user.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
user.usernamestringevet
user.display_namestring | nullevet
user.avatarstring | nullevetAvatar hash'i.
user.cosmeticsobject | nullevetVarsa profil süslemeleri.
user.botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
session_idstringevet
applicationobjectevet
application.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
shardinteger[]evet[id, count].
guildsobject[]evet
{
  "v": 1,
  "user": {
    "id": "21879171579904005",
    "username": "selam_botu",
    "display_name": "Selam Botu",
    "avatar": null,
    "cosmetics": null,
    "bot": true
  },
  "session_id": "6f1c0e2ab7d94c3f8e5a1d0b9c7e4a26",
  "application": {
    "id": "21879167385600004"
  },
  "shard": [
    0,
    1
  ],
  "guilds": [
    {
      "id": "21531879014400001",
      "unavailable": true
    }
  ]
}

RESUMED — Oturum sürdürüldü

Op 6'yı doğrular. seq sonrasında kaçırılan olaylar bundan önce gelir. Botun onaylamadığı GUILD_CREATE'ler yeniden gönderilir; GUILD_MEMBERS_CHUNK ve RATE_LIMITED gönderilmez, yeniden istenir.

  • Gereken intent'ler: Gerekmez (her oturuma gider)
{}

USER_UPDATE — Botun profili değişti

Değişen profilin ardından botun kendi herkese açık profili. Bot başkasınınkini duymaz. Yalnızca shard 0'a gider.

  • Gereken intent'ler: Gerekmez (her oturuma gider)
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
usernamestringevet
display_namestring | nullevet
avatarstring | nullevetAvatar hash'i.
cosmeticsobject | nullevetVarsa profil süslemeleri.
botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
{
  "id": "21879171579904005",
  "username": "selam_botu",
  "display_name": "Merhaba Botu",
  "avatar": null,
  "cosmetics": null,
  "bot": true
}

VOICE_SERVER_UPDATE — Ses bağlantı token'ı hazır

Op 4 isteğini (veya bir yöneticinin kanal taşımasını) medya sunucusu adresi, bağlanmak için 10 dakika geçerli salt-yayın token'ı ve kanalın saniyedeki bit cinsinden bitrate değeriyle yanıtlar. Bot bir LiveKit istemcisiyle doğrudan endpoint adresine bağlanır ve yalnızca tek bir mikrofon ses izi yayınlayabilir; kimsenin sesine abone olamaz.

  • Gereken intent'ler: Gerekmez (her oturuma gider)
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
endpointstringevetHer zaman doludur (wss:// ya da ws://).
tokenstringevetSalt-yayın LiveKit JWT (canSubscribe: false). Gizli tutulur.
bitrateintegerevetKanalın saniyedeki bit cinsinden hedef ses bit hızı.
{
  "guild_id": "21531879014400001",
  "channel_id": "21531879014400005",
  "endpoint": "wss://noluyo.net",
  "token": "<livekit-jwt>",
  "bitrate": 64000
}

VOICE_JOIN_ERROR — Ses kanalına katılma reddedildi

Op 4 reddedildiğinde ya da medya sunucusuna bağlanırken bot ses sınırı dolduğunda VOICE_SERVER_UPDATE yerine gönderilir. Gateway oturumu açık kalır.

  • Gereken intent'ler: Gerekmez (her oturuma gider)
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
channel_idID | nullevet
codestringevet(unknown_guild, unknown_channel, invalid_channel_type, missing_permissions, voice_unavailable, channel_bot_limit, guild_bot_limit, app_voice_limit, bot_voice_full)
messagestringevet
{
  "guild_id": "21531879014400001",
  "channel_id": "21531879014400005",
  "code": "channel_bot_limit",
  "message": "This voice channel already has the maximum number of bots."
}

RATE_LIMITED — Bir op çok hızlı olduğu için reddedildi

Hangi op'un ne zaman yeniden gönderileceğini söyler. Op 3, op 4 ve op 8 için gelir. Resume'da yeniden gönderilmez.

  • Gereken intent'ler: Gerekmez (her oturuma gider)
AlanTürZorunluAçıklama
opcodeintegerevet
retry_afternumberevetBeklenecek saniye.
metaobject-Op 4 ve op 8 için: reddedilen isteğin sunucusu (ve op 8'de nonce). Op 3'te yer almaz.
meta.guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
meta.noncestring-
{
  "opcode": 8,
  "retry_after": 12.5,
  "meta": {
    "guild_id": "21531879014400001",
    "nonce": "arama-1"
  }
}

GUILD_MEMBERS_CHUNK — Op 8 yanıtının bir parçası

Bir parça en çok 1000 üye taşır. chunk_index + 1, chunk_count değerine eşit olduğunda yanıt biter. Botun içinde olmadığı ya da başka shard'daki bir sunucu için tek bir boş parça gelir.

  • Gereken intent'ler: Gerekmez (her oturuma gider)
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
membersMember[]evet
chunk_indexintegerevet
chunk_countintegerevet
not_foundID[]-İstenen user_ids içinde üye olmayanlar.
presencesPresence[]-presences: true ile: parçadaki üyelerden çevrimiçi olanlar.
noncestring-İsteğin nonce değeri.
{
  "guild_id": "21531879014400001",
  "members": [
    {
      "user": {
        "id": "14631410073600003",
        "username": "ayse",
        "display_name": "Ayşe",
        "avatar": null,
        "cosmetics": null
      },
      "nick": "Ayşe K.",
      "roles": [
        "22649241600000010"
      ],
      "joined_at": "2026-03-05T18:20:00Z",
      "mute": false,
      "deaf": false,
      "communication_disabled_until": null
    }
  ],
  "chunk_index": 0,
  "chunk_count": 1,
  "nonce": "arama-1"
}

INTERACTION_CREATE — Biri butona bastı, menüden seçti, komut çalıştırdı ya da form gönderdi

Yalnızca basılan mesajın ya da komutun botuna, sunucusunun shard'ına gider; kişinin botla açtığı DM'den gelirse shard 0'a, member yerine user ile gider. Intent istemez. Basmada (type 3) sunucu data.custom_id ve data.values değerlerini mesajın şimdiki haline göre denetler, ama kişinin o işe yetkili olup olmadığını denetlemez: member.permissions'a bak. Komut çalıştırmada (type 2) seçenekleri tanımına göre ve komutu kimin kullanabileceğini denetler. Otomatik tamamlamada (type 4) yazılanı tanımına göre denetler; 3 saniye içinde callback type 8 ile yanıtlarsın, kişi yazdıkça 300 ms'de bir gelebilir. Gönderilen formda (type 5) her alanı açtığın forma göre, kişinin kanala, bota ve komuta erişimini yeniden denetler; her gönderim kendi token'ı olan yeni bir etkileşimdir. context sunucuyu (0) botunla açılmış DM'den (1) ayırır; DM'de yalnız contexts alanında 1 olan ve default_member_permissions koymayan global komutların çalışır.

  • Gereken intent'ler: Gerekmez (her oturuma gider)
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
application_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
typeintegerevet2 komut çalıştırmadır (eğik çizgi, kullanıcı menüsü ya da mesaj menüsü), 3 bir bileşene basmadır, 4 otomatik tamamlamadır: kişi seçeneklerinden birine yazıyor. 5 gönderilen formdur. (2, 3, 4, 5)
tokenstringevetGizlidir, 15 dakika geçerlidir. Log'a yazma.
versionintegerevet(1)
contextintegerevetNerede olduğu: 0 sunucu kanalı, 1 kişinin botunla açtığı DM. Her zaman vardır. DM'de member yerine user gelir, guild_id yoktur, app_permissions DM'de herkesin sahip olduğu izinlerdir. (0, 1)
guild_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
memberobject-
member.userobjectevet
member.user.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
member.user.usernamestringevet
member.user.display_namestring | nullevet
member.user.avatarstring | nullevetAvatar hash'i.
member.user.cosmeticsobject | nullevetVarsa profil süslemeleri.
member.user.botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
member.nickstring | nullevet
member.rolesID[]evet@everyone hariç rol ID'leri.
member.joined_atdatetimeevet
member.mutebooleanevet
member.deafbooleanevet
member.communication_disabled_untilstring | nullevetSusturma sürerken doludur.
member.permissionspermissions-Ondalık metin olarak izin bit alanı. Metin yerine sayı veya tanımlı olmayan bitler invalid_body verir.
userobject-
user.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
user.usernamestringevet
user.display_namestring | nullevet
user.avatarstring | nullevetAvatar hash'i.
user.cosmeticsobject | nullevetVarsa profil süslemeleri.
user.botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
app_permissionspermissionsevetOndalık metin olarak izin bit alanı. Metin yerine sayı veya tanımlı olmayan bitler invalid_body verir.
localestringevetBasan ya da çalıştıran kişinin dili.
messageMessage | PressedEphemeral-Basılan mesaj. Botun kendi mesajı, intent'lerinden bağımsız eksiksiz gelir; ephemeral mesajda yalnızca id, channel_id, flags, author ve components. Yalnızca basmada; gönderilen form taşımaz.
dataobject | object | objectevet
{
  "id": "111804206284800099",
  "application_id": "14631410073600008",
  "type": 3,
  "token": "eyJpZCI6IjExMTgwNDIwNjI4NDgwMDA5OSJ9.bWFj",
  "version": 1,
  "context": 0,
  "guild_id": "21531879014400001",
  "channel_id": "21531887403008007",
  "member": {
    "user": {
      "id": "14631410073600003",
      "username": "ayse",
      "display_name": "Ayşe",
      "avatar": null,
      "cosmetics": null
    },
    "nick": null,
    "roles": [],
    "joined_at": "2026-11-01T10:00:00Z",
    "mute": false,
    "deaf": false,
    "communication_disabled_until": null,
    "permissions": "68672"
  },
  "app_permissions": "268504128",
  "locale": "tr",
  "message": {
    "id": "111804206284800011",
    "type": 0,
    "channel_id": "21531887403008007",
    "guild_id": "21531879014400001",
    "author": {
      "id": "14631410073600009",
      "username": "rolbotu",
      "display_name": null,
      "avatar": null,
      "cosmetics": null,
      "bot": true
    },
    "content": "Rolü almak için bas.",
    "timestamp": "2026-11-05T12:30:00Z",
    "edited_timestamp": null,
    "attachments": [],
    "mentions": [],
    "mention_roles": [],
    "mention_everyone": false,
    "pinned": false,
    "components": [
      {
        "type": 1,
        "components": [
          {
            "type": 2,
            "style": 1,
            "label": "Oyuncu",
            "custom_id": "rol:21531879014400009"
          }
        ]
      }
    ],
    "application_id": "14631410073600008"
  },
  "data": {
    "custom_id": "rol:21531879014400009",
    "component_type": 2
  }
}

APPLICATION_COMMAND_PERMISSIONS_UPDATE — Bir komutu kimin kullanabileceği değişti

Bir sunucu yöneticisi bu botun bir komutunun bir sunucudaki kurallarını ya da tüm komutlarının kurallarını değiştirdi (o zaman id uygulamanın ID'sidir). permissions yeni kümenin tamamıdır; boş liste kuralların kaldırıldığını söyler. Yalnızca bota gider ve intent istemez. Kuralları sunucu zaten uygular; botun uygulaması gerekmez.

  • Gereken intent'ler: Gerekmez (her oturuma gider)
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
application_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
permissionsobject[]evet
{
  "id": "111560000000000000",
  "application_id": "111540000000000000",
  "guild_id": "111500000000000000",
  "permissions": [
    {
      "type": 1,
      "id": "111520000000000000",
      "allow": true
    },
    {
      "type": 3,
      "id": "0",
      "allow": false
    },
    {
      "type": 3,
      "id": "111510000000000000",
      "allow": true
    }
  ]
}

GUILD_CREATE — Bir sunucu kullanılabilir oldu

READY içindeki her sunucu için ve bot bir sunucuya katıldığında gelir. Botun görebildiği kanalları ve üye olarak yalnızca botu listeler: diğerleri op 8 ile istenir. GUILD_VOICE_STATES yoksa voice_states boştur.

  • Gereken intent'ler: GUILDS
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
namestringevet
iconstring | nullevet
bannerstring | nullevet
descriptionstring | nullevet
owner_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
created_atdatetimeevet
featuresstring[]evet
rolesRole[]evet
discoverablebooleanevet
discovery_categorystring | nullevet
join_channel_idID | nullevet
leave_channel_idID | nullevet
channelsChannel[]evetBotun görebildiği kanallar.
membersMember[]evetYalnızca botun kendisi. Diğerleri op 8 ile alınır.
member_countintegerevet
largebooleanevetSunucuda 250'den çok üye var.
voice_statesVoiceState[]evetBotun görebildiği ses kanallarında kimlerin olduğu.
stickersSticker[]evet
emojisEmoji[]evet
tagstring | null-Üyelerin takabildiği kısa yazı; sunucuda yoksa null.
tag_iconstring | null-Etiketin yanında görünen simge.
tag_styleobject | null-Etiketin nasıl çizildiği.
{
  "id": "21531879014400001",
  "name": "Oyun Gecesi",
  "icon": null,
  "banner": null,
  "description": null,
  "owner_id": "11369919283200002",
  "created_at": "2026-03-01T10:00:00Z",
  "features": [],
  "roles": [
    {
      "id": "21531879014400001",
      "name": "@everyone",
      "color": 0,
      "hoist": false,
      "mentionable": false,
      "position": 0,
      "permissions": "68672",
      "auto_assign": false
    },
    {
      "id": "22286853734400009",
      "name": "Selam Botu",
      "color": 0,
      "hoist": false,
      "mentionable": false,
      "position": 1,
      "permissions": "68672",
      "auto_assign": false,
      "application_id": "21879167385600004"
    }
  ],
  "discoverable": false,
  "discovery_category": null,
  "join_channel_id": null,
  "leave_channel_id": null,
  "channels": [
    {
      "id": "21531883208704006",
      "type": 4,
      "guild_id": "21531879014400001",
      "name": "Metin kanalları",
      "topic": null,
      "position": 0,
      "parent_id": null,
      "nsfw": false,
      "last_message_id": null
    },
    {
      "id": "21531887403008007",
      "type": 0,
      "guild_id": "21531879014400001",
      "name": "genel",
      "topic": null,
      "position": 1,
      "parent_id": "21531883208704006",
      "nsfw": false,
      "last_message_id": "111804206284800011"
    },
    {
      "id": "21531891597312008",
      "type": 2,
      "guild_id": "21531879014400001",
      "name": "Sohbet",
      "topic": null,
      "position": 3,
      "parent_id": null,
      "nsfw": false,
      "bitrate": 64000,
      "user_limit": 0,
      "last_message_id": null
    }
  ],
  "members": [
    {
      "user": {
        "id": "21879171579904005",
        "username": "selam_botu",
        "display_name": "Selam Botu",
        "avatar": null,
        "cosmetics": null,
        "bot": true
      },
      "nick": null,
      "roles": [
        "22286853734400009"
      ],
      "joined_at": "2026-03-03T12:00:00Z",
      "mute": false,
      "deaf": false,
      "communication_disabled_until": null
    }
  ],
  "member_count": 3,
  "large": false,
  "voice_states": [],
  "stickers": [],
  "emojis": []
}

GUILD_UPDATE — Bir sunucu değişti

Değişiklikten sonra sunucu ve rolleri. Kanal ve üye içermez.

  • Gereken intent'ler: GUILDS
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
namestringevet
iconstring | nullevet
bannerstring | nullevet
descriptionstring | nullevet
owner_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
created_atdatetimeevet
featuresstring[]evet
rolesRole[]evet
discoverablebooleanevet
discovery_categorystring | nullevet
join_channel_idID | nullevet
leave_channel_idID | nullevet
tagstring | null-Üyelerin takabildiği kısa yazı; sunucuda yoksa null.
tag_iconstring | null-Etiketin yanında görünen simge.
tag_styleobject | null-Etiketin nasıl çizildiği.
{
  "id": "21531879014400001",
  "name": "Turnuva Gecesi",
  "icon": null,
  "banner": null,
  "description": null,
  "owner_id": "11369919283200002",
  "created_at": "2026-03-01T10:00:00Z",
  "features": [],
  "roles": [
    {
      "id": "21531879014400001",
      "name": "@everyone",
      "color": 0,
      "hoist": false,
      "mentionable": false,
      "position": 0,
      "permissions": "68672",
      "auto_assign": false
    },
    {
      "id": "22286853734400009",
      "name": "Selam Botu",
      "color": 0,
      "hoist": false,
      "mentionable": false,
      "position": 1,
      "permissions": "68672",
      "auto_assign": false,
      "application_id": "21879167385600004"
    }
  ],
  "discoverable": false,
  "discovery_category": null,
  "join_channel_id": null,
  "leave_channel_id": null
}

GUILD_DELETE — Sunucu bot için yok oldu

Sunucu silindi ya da bot sunucudan çıkarıldı.

  • Gereken intent'ler: GUILDS
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
{
  "id": "21531879014400001"
}

GUILD_ROLE_CREATE — Bir rol oluşturuldu

Sunucuya bot eklendiğinde, botun kendi rolü için de gelir.

  • Gereken intent'ler: GUILDS
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
roleobjectevet
role.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
role.namestringevet
role.colorintegerevetTam sayı olarak RGB, 0 ile 16777215 arası.
role.hoistbooleanevet
role.mentionablebooleanevet
role.positionintegerevetBüyük olan daha üsttedir. @everyone en alttadır.
role.permissionspermissionsevetOndalık metin olarak izin bit alanı. Metin yerine sayı veya tanımlı olmayan bitler invalid_body verir.
role.auto_assignbooleanevet
role.application_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
{
  "guild_id": "21531879014400001",
  "role": {
    "id": "22649241600000010",
    "name": "Moderatör",
    "color": 3447003,
    "hoist": true,
    "mentionable": true,
    "position": 2,
    "permissions": "68672",
    "auto_assign": false
  }
}

GUILD_ROLE_UPDATE — Bir rol değişti

Değişiklikten sonraki rol. Bir rolü taşımak başkalarının sırasını da değiştirebilir; her birinin kendi olayı gelir.

  • Gereken intent'ler: GUILDS
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
roleobjectevet
role.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
role.namestringevet
role.colorintegerevetTam sayı olarak RGB, 0 ile 16777215 arası.
role.hoistbooleanevet
role.mentionablebooleanevet
role.positionintegerevetBüyük olan daha üsttedir. @everyone en alttadır.
role.permissionspermissionsevetOndalık metin olarak izin bit alanı. Metin yerine sayı veya tanımlı olmayan bitler invalid_body verir.
role.auto_assignbooleanevet
role.application_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
{
  "guild_id": "21531879014400001",
  "role": {
    "id": "22649241600000010",
    "name": "Yönetici",
    "color": 3447003,
    "hoist": true,
    "mentionable": true,
    "position": 2,
    "permissions": "68672",
    "auto_assign": false
  }
}

GUILD_ROLE_DELETE — Bir rol silindi

Yalnızca ID'ler: rol artık yok.

  • Gereken intent'ler: GUILDS
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
role_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
{
  "guild_id": "21531879014400001",
  "role_id": "22649241600000010"
}

CHANNEL_CREATE — Bir kanal oluşturuldu

Kanalı görebilen botlara gelir.

  • Gereken intent'ler: GUILDS
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
typeintegerevet0 metin, 2 ses, 4 kategori. (0, 2, 4)
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
namestring-
topicstring | nullevet
positionintegerevet
parent_idID | nullevet
nsfwbooleanevet
bitrateinteger-Ses kanalları.
user_limitinteger-Ses kanalları; 0 sınırsızdır.
rate_limit_per_userinteger-Saniye olarak yavaş mod; kapalıyken yer almaz.
last_message_idID | nullevet
permission_overwritesOverwrite[]-
voice_statusstring-
voice_sincedatetime-
{
  "id": "21531887403008007",
  "type": 0,
  "guild_id": "21531879014400001",
  "name": "genel",
  "topic": null,
  "position": 1,
  "parent_id": "21531883208704006",
  "nsfw": false,
  "last_message_id": "111804206284800011"
}

CHANNEL_UPDATE — Bir kanal değişti

Değişiklikten sonraki kanal. Değişiklik kanalı bottan gizlerse yerine CHANNEL_DELETE gelir.

  • Gereken intent'ler: GUILDS
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
typeintegerevet0 metin, 2 ses, 4 kategori. (0, 2, 4)
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
namestring-
topicstring | nullevet
positionintegerevet
parent_idID | nullevet
nsfwbooleanevet
bitrateinteger-Ses kanalları.
user_limitinteger-Ses kanalları; 0 sınırsızdır.
rate_limit_per_userinteger-Saniye olarak yavaş mod; kapalıyken yer almaz.
last_message_idID | nullevet
permission_overwritesOverwrite[]-
voice_statusstring-
voice_sincedatetime-
{
  "id": "21531887403008007",
  "type": 0,
  "guild_id": "21531879014400001",
  "name": "genel",
  "topic": "Genel sohbet",
  "position": 1,
  "parent_id": "21531883208704006",
  "nsfw": false,
  "last_message_id": "111804206284800011"
}

CHANNEL_DELETE — Kanal bot için yok oldu

Kanal silindi ya da bot artık kanalı göremiyor.

  • Gereken intent'ler: GUILDS
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
typeintegerevet0 metin, 2 ses, 4 kategori. (0, 2, 4)
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
namestring-
topicstring | nullevet
positionintegerevet
parent_idID | nullevet
nsfwbooleanevet
bitrateinteger-Ses kanalları.
user_limitinteger-Ses kanalları; 0 sınırsızdır.
rate_limit_per_userinteger-Saniye olarak yavaş mod; kapalıyken yer almaz.
last_message_idID | nullevet
permission_overwritesOverwrite[]-
voice_statusstring-
voice_sincedatetime-
{
  "id": "21531887403008007",
  "type": 0,
  "guild_id": "21531879014400001",
  "name": "genel",
  "topic": null,
  "position": 1,
  "parent_id": "21531883208704006",
  "nsfw": false,
  "last_message_id": "111804206284800011"
}

CHANNEL_PINS_UPDATE — Bir kanalın sabitlenenleri değişti

Sabitlenen mesaj kalmayınca last_pin_timestamp null olur.

  • Gereken intent'ler: GUILDS
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
last_pin_timestampstring | nullevet
{
  "guild_id": "21531879014400001",
  "channel_id": "21531887403008007",
  "last_pin_timestamp": "2026-11-05T12:30:00Z"
}

GUILD_MEMBER_ADD — Biri sunucuya katıldı

Üye; alanlarının yanında sunucunun ID'si.

  • Gereken intent'ler: GUILD_MEMBERS
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
userobjectevet
user.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
user.usernamestringevet
user.display_namestring | nullevet
user.avatarstring | nullevetAvatar hash'i.
user.cosmeticsobject | nullevetVarsa profil süslemeleri.
user.botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
nickstring | nullevet
rolesID[]evet@everyone hariç rol ID'leri.
joined_atdatetimeevet
mutebooleanevet
deafbooleanevet
communication_disabled_untilstring | nullevetSusturma sürerken doludur.
{
  "guild_id": "21531879014400001",
  "user": {
    "id": "14631410073600003",
    "username": "ayse",
    "display_name": "Ayşe",
    "avatar": null,
    "cosmetics": null
  },
  "nick": "Ayşe K.",
  "roles": [],
  "joined_at": "2026-03-05T18:20:00Z",
  "mute": false,
  "deaf": false,
  "communication_disabled_until": null
}

GUILD_MEMBER_UPDATE — Bir üye değişti

Değişiklikten sonraki üye: takma ad, roller, susturma ya da zaman aşımı.

  • Gereken intent'ler: GUILD_MEMBERS
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
userobjectevet
user.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
user.usernamestringevet
user.display_namestring | nullevet
user.avatarstring | nullevetAvatar hash'i.
user.cosmeticsobject | nullevetVarsa profil süslemeleri.
user.botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
nickstring | nullevet
rolesID[]evet@everyone hariç rol ID'leri.
joined_atdatetimeevet
mutebooleanevet
deafbooleanevet
communication_disabled_untilstring | nullevetSusturma sürerken doludur.
{
  "guild_id": "21531879014400001",
  "user": {
    "id": "14631410073600003",
    "username": "ayse",
    "display_name": "Ayşe",
    "avatar": null,
    "cosmetics": null
  },
  "nick": "Ayşe K.",
  "roles": [
    "22649241600000010"
  ],
  "joined_at": "2026-03-05T18:20:00Z",
  "mute": false,
  "deaf": false,
  "communication_disabled_until": null
}

GUILD_MEMBER_REMOVE — Biri sunucudan ayrıldı

Kendisi ayrıldı, ya da atıldı veya yasaklandı.

  • Gereken intent'ler: GUILD_MEMBERS
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
userobjectevet
user.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
user.usernamestringevet
user.display_namestring | nullevet
user.avatarstring | nullevetAvatar hash'i.
user.cosmeticsobject | nullevetVarsa profil süslemeleri.
user.botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
{
  "guild_id": "21531879014400001",
  "user": {
    "id": "14631410073600003",
    "username": "ayse",
    "display_name": "Ayşe",
    "avatar": null,
    "cosmetics": null
  }
}

GUILD_BAN_ADD — Biri yasaklandı

Yalnızca botun sunucuda BanMembers izni varsa gelir.

  • Gereken intent'ler: GUILD_MODERATION
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
userobjectevet
user.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
user.usernamestringevet
user.display_namestring | nullevet
user.avatarstring | nullevetAvatar hash'i.
user.cosmeticsobject | nullevetVarsa profil süslemeleri.
user.botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
{
  "guild_id": "21531879014400001",
  "user": {
    "id": "14631410073600003",
    "username": "ayse",
    "display_name": "Ayşe",
    "avatar": null,
    "cosmetics": null
  }
}

GUILD_BAN_REMOVE — Bir yasak kaldırıldı

Yalnızca botun sunucuda BanMembers izni varsa gelir.

  • Gereken intent'ler: GUILD_MODERATION
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
userobjectevet
user.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
user.usernamestringevet
user.display_namestring | nullevet
user.avatarstring | nullevetAvatar hash'i.
user.cosmeticsobject | nullevetVarsa profil süslemeleri.
user.botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
{
  "guild_id": "21531879014400001",
  "user": {
    "id": "14631410073600003",
    "username": "ayse",
    "display_name": "Ayşe",
    "avatar": null,
    "cosmetics": null
  }
}

GUILD_EMOJIS_UPDATE — Sunucunun emojileri değişti

Yalnızca değişeni değil, listenin tamamını taşır.

  • Gereken intent'ler: GUILD_EXPRESSIONS
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
emojisEmoji[]evet
{
  "guild_id": "21531879014400001",
  "emojis": [
    {
      "id": "32735703859200014",
      "guild_id": "21531879014400001",
      "name": "selam",
      "animated": false,
      "creator_id": "11369919283200002"
    }
  ]
}

GUILD_STICKERS_UPDATE — Sunucunun çıkartmaları değişti

Yalnızca değişeni değil, listenin tamamını taşır.

  • Gereken intent'ler: GUILD_EXPRESSIONS
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
stickersSticker[]evet
{
  "guild_id": "21531879014400001",
  "stickers": [
    {
      "id": "33098091724800015",
      "guild_id": "21531879014400001",
      "name": "kedi",
      "tags": "kedi",
      "description": null,
      "hash": "9f3c1a7e",
      "width": 320,
      "height": 320,
      "creator_id": "11369919283200002"
    }
  ]
}

GUILD_SOUNDBOARD_SOUNDS_UPDATE — Sunucunun ses paneli değişti

Yalnızca değişeni değil, listenin tamamını taşır.

  • Gereken intent'ler: GUILD_EXPRESSIONS
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
soundboard_soundsSound[]evet
{
  "guild_id": "21531879014400001",
  "soundboard_sounds": [
    {
      "id": "33460479590400016",
      "guild_id": "21531879014400001",
      "name": "alkış",
      "emoji": "👏",
      "volume": 1,
      "creator_id": "11369919283200002"
    }
  ]
}

WEBHOOKS_UPDATE — Bir kanalın webhook'ları değişti

Yalnızca nerede olduğunu söyler. Kanalı görebilen botlara gelir.

  • Gereken intent'ler: GUILD_WEBHOOKS
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
{
  "guild_id": "21531879014400001",
  "channel_id": "21531887403008007"
}

INVITE_CREATE — Bir davet oluşturuldu

Yalnızca botun sunucuda ManageGuild izni varsa gelir.

  • Gereken intent'ler: GUILD_INVITES
AlanTürZorunluAçıklama
codestringevet
guildobjectevet
guild.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild.namestringevet
guild.iconstring | nullevet
guild.bannerstring | nullevet
guild.descriptionstring | nullevet
guild.featuresstring[]evet
channelobjectevet
channel.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
channel.namestringevet
channel.typeintegerevet
inviter_idID | nullevet
max_ageintegerevetSaniye; 0 süresizdir.
max_usesintegerevet0 sınırsızdır.
usesintegerevet
created_atdatetimeevet
expires_atstring | nullevet
{
  "code": "aB3xY9kQ",
  "guild": {
    "id": "21531879014400001",
    "name": "Oyun Gecesi",
    "icon": null,
    "banner": null,
    "description": null,
    "features": []
  },
  "channel": {
    "id": "21531887403008007",
    "name": "genel",
    "type": 0
  },
  "inviter_id": "11369919283200002",
  "max_age": 86400,
  "max_uses": 0,
  "uses": 0,
  "created_at": "2026-11-05T12:00:00Z",
  "expires_at": "2026-11-06T12:00:00Z"
}

INVITE_DELETE — Bir davet silindi

Yalnızca botun sunucuda ManageGuild izni varsa gelir.

  • Gereken intent'ler: GUILD_INVITES
AlanTürZorunluAçıklama
codestringevet
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
{
  "code": "aB3xY9kQ",
  "guild_id": "21531879014400001",
  "channel_id": "21531887403008007"
}

VOICE_STATE_UPDATE — Birinin ses durumu değişti

Katıldı, taşındı, sesini kapattı ya da ayrıldı; ayrılınca channel_id null olur. Kanalı görebilen botlara gelir.

  • Gereken intent'ler: GUILD_VOICE_STATES
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
channel_idID | nullevetKullanıcı kanaldan ayrıldığında null olur.
user_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
memberobjectevet
member.userobjectevet
member.user.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
member.user.usernamestringevet
member.user.display_namestring | nullevet
member.user.avatarstring | nullevetAvatar hash'i.
member.user.cosmeticsobject | nullevetVarsa profil süslemeleri.
member.user.botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
member.nickstring | nullevet
member.rolesID[]evet@everyone hariç rol ID'leri.
member.joined_atdatetimeevet
member.mutebooleanevet
member.deafbooleanevet
member.communication_disabled_untilstring | nullevetSusturma sürerken doludur.
member.permissionspermissions-Ondalık metin olarak izin bit alanı. Metin yerine sayı veya tanımlı olmayan bitler invalid_body verir.
session_idstringevet
mutebooleanevet
deafbooleanevet
self_mutebooleanevet
self_deafbooleanevet
self_streambooleanevet
self_videobooleanevet
{
  "guild_id": "21531879014400001",
  "channel_id": "21531891597312008",
  "user_id": "14631410073600003",
  "member": {
    "user": {
      "id": "14631410073600003",
      "username": "ayse",
      "display_name": "Ayşe",
      "avatar": null,
      "cosmetics": null
    },
    "nick": "Ayşe K.",
    "roles": [
      "22649241600000010"
    ],
    "joined_at": "2026-03-05T18:20:00Z",
    "mute": false,
    "deaf": false,
    "communication_disabled_until": null
  },
  "session_id": "b41d7e90",
  "mute": false,
  "deaf": false,
  "self_mute": false,
  "self_deaf": false,
  "self_stream": false,
  "self_video": false
}

VOICE_CHANNEL_EFFECT_SEND — Seste bir ses çalındı

Biri bir ses kanalında ses panelinden bir ses çaldı.

  • Gereken intent'ler: GUILD_VOICE_STATES
AlanTürZorunluAçıklama
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
user_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
sound_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
sound_volumenumberevet
emojistring | nullevet
{
  "channel_id": "21531891597312008",
  "guild_id": "21531879014400001",
  "user_id": "14631410073600003",
  "sound_id": "33460483784704017",
  "sound_volume": 1,
  "emoji": "👏"
}

VOICE_CHANNEL_EFFECT_STOP — Çalınan ses durduruldu

Biri çaldığı sesi durdurdu.

  • Gereken intent'ler: GUILD_VOICE_STATES
AlanTürZorunluAçıklama
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
user_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
{
  "channel_id": "21531891597312008",
  "guild_id": "21531879014400001",
  "user_id": "14631410073600003"
}

PRESENCE_UPDATE — Bir üyenin durumu değişti

Durumu ya da etkinlikleri değişti. Çok sayıda bağlı bot ve kişi olan sunucuda bunlar yerine PRESENCE_UPDATE_BATCH olarak toplu gelir.

  • Gereken intent'ler: GUILD_PRESENCES
AlanTürZorunluAçıklama
userobjectevetYalnızca kullanıcının ID'si.
user.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
statusstringevetÇevrimdışı görünen kişi offline olarak gelir. (online, idle, dnd, offline)
activitiesActivity[]evetÇevrimdışıyken boştur.
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
{
  "user": {
    "id": "14631410073600003"
  },
  "status": "online",
  "activities": [
    {
      "type": 0,
      "name": "Minecraft",
      "timestamps": {
        "start": 1793878200000
      }
    }
  ],
  "guild_id": "21531879014400001"
}

PRESENCE_UPDATE_BATCH — Bir sunucunun birkaç durumu

Yoğun bir sunucunun PRESENCE_UPDATE'leri, toplanıp birlikte gönderilir. Her biri tek başına gönderileceği haliyledir.

  • Gereken intent'ler: GUILD_PRESENCES
AlanTürZorunluAçıklama
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
presencesGuildPresence[]evet
{
  "guild_id": "21531879014400001",
  "presences": [
    {
      "user": {
        "id": "14631410073600003"
      },
      "status": "online",
      "activities": [
        {
          "type": 0,
          "name": "Minecraft",
          "timestamps": {
            "start": 1793878200000
          }
        }
      ],
      "guild_id": "21531879014400001"
    }
  ]
}

MESSAGE_CREATE — Bir mesaj gönderildi

Botun görebildiği kanallardaki mesajlar için, kendininkiler için de gelir. Sunucu dışında guild_id yer almaz. Ephemeral mesaj buraya hiç gelmez: yalnızca basan kişiye gider. Bir kişinin botla açtığı DM'deki mesaj DIRECT_MESSAGES ister, guild_id taşımaz ve shard 0'a gider.

  • Gereken intent'ler: GUILD_MESSAGES, DIRECT_MESSAGES
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
typeintegerevet0 normal, 19 yanıt, 6 sabitleme bildirimi, 18 başlık açılışı, 24 otomatik moderasyon uyarısı, 1 ile 5 arası grup ve arama bildirimleri. Yenileri eklenebilir.
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
authorobjectevet
author.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
author.usernamestringevet
author.display_namestring | nullevet
author.avatarstring | nullevetAvatar hash'i.
author.cosmeticsobject | nullevetVarsa profil süslemeleri.
author.botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
contentstringevet
timestampdatetimeevet
edited_timestampstring | nullevet
attachmentsAttachment[]evet
mentionsUser[]evet
mention_rolesID[]evet
mention_everyonebooleanevet
message_referenceobject-
message_reference.message_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
message_reference.channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
pinnedbooleanevet
dataobject-Sistem mesajının gösterilmesi için gerekenler.
forwardobject-
forward.channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
forward.guild_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
forward.message_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
forward.authorobjectevet
forward.author.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
forward.author.usernamestringevet
forward.author.display_namestring | nullevet
forward.author.avatarstring | nullevetAvatar hash'i.
forward.author.cosmeticsobject | nullevetVarsa profil süslemeleri.
forward.author.botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
forward.contentstringevet
forward.timestampdatetimeevet
forward.mentionsUser[]evet
forward.sticker_itemsStickerItem[]-
forward.webhook_namestring-
pollobject-
poll.questionstringevet
poll.answersobject[]evet
poll.allow_multiselectbooleanevet
poll.expirydatetimeevet
poll.resultsobject-
poll.results.finalizedbooleanevet
poll.results.votersintegerevet
poll.results.answersobject[]evet
sticker_itemsStickerItem[]-
noncestring-Gönderenin mesaja verdiği kendi kimliği; oluşturulurken aynen döner.
webhook_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
activityobject-Başkalarını yazarın etkinliğine katılmaya çağırır.
activity.typeintegerevet
activity.party_idstringevet
hidden_embedsstring[]-Yazarın kaldırdığı bağlantı önizlemeleri ve davet kartları: yazıldığı gibi bir bağlantı ya da küçük harfle bir davet kodu.
embedsEmbed[]-Botun eklediği kartlar.
componentsMessageComponent[]-Botun eklediği butonları ve menüleri taşıyan satırlar.
flagsinteger-Bit bayrakları. 0 ise yoktur. 64: ephemeral, yalnızca basan kişi görür. 128: henüz hazırlanan yanıt.
application_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
interactionobject-Bir etkileşime verilen yanıtta: hangisi ve kimin bastığı ya da çalıştırdığı.
interaction.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
interaction.typeintegerevet2 komut çalıştırma, 3 bileşene basmadır.
interaction.namestring-Çalıştırılan komut, "X, /ad kullandı" için. Basmada yer almaz.
interaction.userobjectevet
interaction.user.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
interaction.user.usernamestringevet
interaction.user.display_namestring | nullevet
interaction.user.avatarstring | nullevetAvatar hash'i.
interaction.user.cosmeticsobject | nullevetVarsa profil süslemeleri.
interaction.user.botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
ephemeral_statestring-Bileşenli ephemeral mesajda: mesajın mühürlü bileşenleri. Yalnızca mesajın sahibine gider, istemcisi basarken onu geri gönderir.
{
  "id": "111804206284800011",
  "type": 0,
  "channel_id": "21531887403008007",
  "guild_id": "21531879014400001",
  "author": {
    "id": "14631410073600003",
    "username": "ayse",
    "display_name": "Ayşe",
    "avatar": null,
    "cosmetics": null
  },
  "content": "Bu akşam kim var?",
  "timestamp": "2026-11-05T12:30:00Z",
  "edited_timestamp": null,
  "attachments": [],
  "mentions": [],
  "mention_roles": [],
  "mention_everyone": false,
  "pinned": false
}

MESSAGE_UPDATE — Bir mesaj değişti

Düzenleme, sabitleme ya da önizleme değişikliğinden sonra mesajın tamamı. Ephemeral güncelleme ya da silme yalnızca basan kişiye gider; istemci onu yalnızca elinde flags 64 ile tuttuğu ve application_id'si aynı olan mesaja uygular.

  • Gereken intent'ler: GUILD_MESSAGES, DIRECT_MESSAGES
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
typeintegerevet0 normal, 19 yanıt, 6 sabitleme bildirimi, 18 başlık açılışı, 24 otomatik moderasyon uyarısı, 1 ile 5 arası grup ve arama bildirimleri. Yenileri eklenebilir.
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
authorobjectevet
author.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
author.usernamestringevet
author.display_namestring | nullevet
author.avatarstring | nullevetAvatar hash'i.
author.cosmeticsobject | nullevetVarsa profil süslemeleri.
author.botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
contentstringevet
timestampdatetimeevet
edited_timestampstring | nullevet
attachmentsAttachment[]evet
mentionsUser[]evet
mention_rolesID[]evet
mention_everyonebooleanevet
message_referenceobject-
message_reference.message_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
message_reference.channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
pinnedbooleanevet
dataobject-Sistem mesajının gösterilmesi için gerekenler.
forwardobject-
forward.channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
forward.guild_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
forward.message_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
forward.authorobjectevet
forward.author.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
forward.author.usernamestringevet
forward.author.display_namestring | nullevet
forward.author.avatarstring | nullevetAvatar hash'i.
forward.author.cosmeticsobject | nullevetVarsa profil süslemeleri.
forward.author.botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
forward.contentstringevet
forward.timestampdatetimeevet
forward.mentionsUser[]evet
forward.sticker_itemsStickerItem[]-
forward.webhook_namestring-
pollobject-
poll.questionstringevet
poll.answersobject[]evet
poll.allow_multiselectbooleanevet
poll.expirydatetimeevet
poll.resultsobject-
poll.results.finalizedbooleanevet
poll.results.votersintegerevet
poll.results.answersobject[]evet
sticker_itemsStickerItem[]-
noncestring-Gönderenin mesaja verdiği kendi kimliği; oluşturulurken aynen döner.
webhook_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
activityobject-Başkalarını yazarın etkinliğine katılmaya çağırır.
activity.typeintegerevet
activity.party_idstringevet
hidden_embedsstring[]-Yazarın kaldırdığı bağlantı önizlemeleri ve davet kartları: yazıldığı gibi bir bağlantı ya da küçük harfle bir davet kodu.
embedsEmbed[]-Botun eklediği kartlar.
componentsMessageComponent[]-Botun eklediği butonları ve menüleri taşıyan satırlar.
flagsinteger-Bit bayrakları. 0 ise yoktur. 64: ephemeral, yalnızca basan kişi görür. 128: henüz hazırlanan yanıt.
application_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
interactionobject-Bir etkileşime verilen yanıtta: hangisi ve kimin bastığı ya da çalıştırdığı.
interaction.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
interaction.typeintegerevet2 komut çalıştırma, 3 bileşene basmadır.
interaction.namestring-Çalıştırılan komut, "X, /ad kullandı" için. Basmada yer almaz.
interaction.userobjectevet
interaction.user.idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
interaction.user.usernamestringevet
interaction.user.display_namestring | nullevet
interaction.user.avatarstring | nullevetAvatar hash'i.
interaction.user.cosmeticsobject | nullevetVarsa profil süslemeleri.
interaction.user.botboolean-Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz.
ephemeral_statestring-Bileşenli ephemeral mesajda: mesajın mühürlü bileşenleri. Yalnızca mesajın sahibine gider, istemcisi basarken onu geri gönderir.
{
  "id": "111804206284800011",
  "type": 0,
  "channel_id": "21531887403008007",
  "guild_id": "21531879014400001",
  "author": {
    "id": "14631410073600003",
    "username": "ayse",
    "display_name": "Ayşe",
    "avatar": null,
    "cosmetics": null
  },
  "content": "Bu akşam kim var? 21.00",
  "timestamp": "2026-11-05T12:30:00Z",
  "edited_timestamp": "2026-11-05T12:31:00Z",
  "attachments": [],
  "mentions": [],
  "mention_roles": [],
  "mention_everyone": false,
  "pinned": false
}

MESSAGE_DELETE — Bir mesaj silindi

Yalnızca ID'ler: mesaj artık yok. Ephemeral güncelleme ya da silme yalnızca basan kişiye gider; istemci onu yalnızca elinde flags 64 ile tuttuğu ve application_id'si aynı olan mesaja uygular.

  • Gereken intent'ler: GUILD_MESSAGES, DIRECT_MESSAGES
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
ephemeralboolean-Ephemeral mesajda true; yalnızca basan kişiye gider.
application_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
{
  "id": "111804206284800011",
  "channel_id": "21531887403008007",
  "guild_id": "21531879014400001"
}

MESSAGE_DELETE_BULK — Birkaç mesaj silindi

Toplu silmede ve yasak üyenin son mesajlarını da sildiğinde gelir.

  • Gereken intent'ler: GUILD_MESSAGES, DIRECT_MESSAGES
AlanTürZorunluAçıklama
idsID[]evet
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
{
  "ids": [
    "111804206284800011"
  ],
  "channel_id": "21531887403008007",
  "guild_id": "21531879014400001"
}

MESSAGE_POLL_UPDATE — Bir anketin sonuçları değişti

Oy verilince ya da anket bitince anketin yeni sayıları.

  • Gereken intent'ler: GUILD_MESSAGES, DIRECT_MESSAGES
AlanTürZorunluAçıklama
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
message_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
expirydatetimeevet
resultsobjectevet
results.finalizedbooleanevet
results.votersintegerevet
results.answersobject[]evet
{
  "channel_id": "21531887403008007",
  "guild_id": "21531879014400001",
  "message_id": "111804206284800011",
  "expiry": "2026-11-06T12:30:00Z",
  "results": {
    "finalized": false,
    "voters": 2,
    "answers": [
      {
        "id": 1,
        "count": 2
      },
      {
        "id": 2,
        "count": 0
      }
    ]
  }
}

MESSAGE_REACTION_ADD — Bir tepki eklendi

Standart emojide emoji.id null olur.

  • Gereken intent'ler: GUILD_MESSAGE_REACTIONS, DIRECT_MESSAGE_REACTIONS
AlanTürZorunluAçıklama
user_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
message_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
emojiobjectevet
emoji.idID | nullevetSunucu emojisinde doludur.
emoji.namestringevet
emoji.animatedboolean-
{
  "user_id": "14631410073600003",
  "channel_id": "21531887403008007",
  "message_id": "111804206284800011",
  "guild_id": "21531879014400001",
  "emoji": {
    "id": null,
    "name": "👍"
  }
}

MESSAGE_REACTION_REMOVE — Bir tepki kaldırıldı

user_id tepkisi kalkan kişidir, kaldıran değil.

  • Gereken intent'ler: GUILD_MESSAGE_REACTIONS, DIRECT_MESSAGE_REACTIONS
AlanTürZorunluAçıklama
user_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
message_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
emojiobjectevet
emoji.idID | nullevetSunucu emojisinde doludur.
emoji.namestringevet
emoji.animatedboolean-
{
  "user_id": "14631410073600003",
  "channel_id": "21531887403008007",
  "message_id": "111804206284800011",
  "guild_id": "21531879014400001",
  "emoji": {
    "id": null,
    "name": "👍"
  }
}

MESSAGE_REACTION_REMOVE_ALL — Mesajın tüm tepkileri kaldırıldı

ManageMessages izni olan biri mesajı temizledi.

  • Gereken intent'ler: GUILD_MESSAGE_REACTIONS, DIRECT_MESSAGE_REACTIONS
AlanTürZorunluAçıklama
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
message_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
{
  "channel_id": "21531887403008007",
  "message_id": "111804206284800011",
  "guild_id": "21531879014400001"
}

MESSAGE_REACTION_REMOVE_EMOJI — Bir emojinin tüm tepkileri kaldırıldı

ManageMessages izni olan biri mesajdan bir emojiyi temizledi.

  • Gereken intent'ler: GUILD_MESSAGE_REACTIONS, DIRECT_MESSAGE_REACTIONS
AlanTürZorunluAçıklama
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
message_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
emojiobjectevet
emoji.idID | nullevetSunucu emojisinde doludur.
emoji.namestringevet
emoji.animatedboolean-
{
  "channel_id": "21531887403008007",
  "message_id": "111804206284800011",
  "guild_id": "21531879014400001",
  "emoji": {
    "id": null,
    "name": "👍"
  }
}

TYPING_START — Biri yazmaya başladı

timestamp Unix saniyedir.

  • Gereken intent'ler: GUILD_MESSAGE_TYPING, DIRECT_MESSAGE_TYPING
AlanTürZorunluAçıklama
channel_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idID-64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
user_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
timestampintegerevet
{
  "channel_id": "21531887403008007",
  "guild_id": "21531879014400001",
  "user_id": "14631410073600003",
  "timestamp": 1793881800
}

GUILD_SCHEDULED_EVENT_CREATE — Bir etkinlik oluşturuldu

Ses kanalındaki etkinlik yalnızca kanalı görebilen botlara gelir.

  • Gereken intent'ler: GUILD_SCHEDULED_EVENTS
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
channel_idID | nullevet
locationstring | nullevet
namestringevet
descriptionstring | nullevet
scheduled_start_timedatetimeevet
scheduled_end_timestring | nullevet
statusintegerevet1 planlandı, 2 sürüyor, 3 bitti, 4 iptal edildi. (1, 2, 3, 4)
creator_idID | nullevet
user_countintegerevet
{
  "id": "105938052710400013",
  "guild_id": "21531879014400001",
  "channel_id": "21531891597312008",
  "location": null,
  "name": "Turnuva gecesi",
  "description": null,
  "scheduled_start_time": "2026-11-20T19:00:00Z",
  "scheduled_end_time": null,
  "status": 1,
  "creator_id": "11369919283200002",
  "user_count": 0
}

GUILD_SCHEDULED_EVENT_UPDATE — Bir etkinlik değişti

Başladığında, bittiğinde ya da user_count değiştiğinde de gelir.

  • Gereken intent'ler: GUILD_SCHEDULED_EVENTS
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
channel_idID | nullevet
locationstring | nullevet
namestringevet
descriptionstring | nullevet
scheduled_start_timedatetimeevet
scheduled_end_timestring | nullevet
statusintegerevet1 planlandı, 2 sürüyor, 3 bitti, 4 iptal edildi. (1, 2, 3, 4)
creator_idID | nullevet
user_countintegerevet
{
  "id": "105938052710400013",
  "guild_id": "21531879014400001",
  "channel_id": "21531891597312008",
  "location": null,
  "name": "Turnuva gecesi",
  "description": null,
  "scheduled_start_time": "2026-11-20T19:00:00Z",
  "scheduled_end_time": null,
  "status": 2,
  "creator_id": "11369919283200002",
  "user_count": 0
}

GUILD_SCHEDULED_EVENT_DELETE — Bir etkinlik silindi

Etkinliğin son hali. Etkinlik başka kanala taşındığında eski kanalı görebilen botlara önce bu gelir, yeni kanalı da görüyorlarsa GUILD_SCHEDULED_EVENT_UPDATE gelir.

  • Gereken intent'ler: GUILD_SCHEDULED_EVENTS
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
channel_idID | nullevet
locationstring | nullevet
namestringevet
descriptionstring | nullevet
scheduled_start_timedatetimeevet
scheduled_end_timestring | nullevet
statusintegerevet1 planlandı, 2 sürüyor, 3 bitti, 4 iptal edildi. (1, 2, 3, 4)
creator_idID | nullevet
user_countintegerevet
{
  "id": "105938052710400013",
  "guild_id": "21531879014400001",
  "channel_id": "21531891597312008",
  "location": null,
  "name": "Turnuva gecesi",
  "description": null,
  "scheduled_start_time": "2026-11-20T19:00:00Z",
  "scheduled_end_time": null,
  "status": 1,
  "creator_id": "11369919283200002",
  "user_count": 0
}

AUTO_MODERATION_RULE_CREATE — Bir otomatik moderasyon kuralı oluşturuldu

Yalnızca botun sunucuda ManageGuild izni varsa gelir.

  • Gereken intent'ler: AUTO_MODERATION_CONFIGURATION
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
creator_idID | nullevet
namestringevet
enabledbooleanevet
trigger_typeintegerevet1 sözcük, 4 hazır sözcük listesi, 5 toplu etiketleme. (1, 4, 5)
trigger_metadataobjectevet
trigger_metadata.keyword_filterstring[]-
trigger_metadata.allow_liststring[]-
trigger_metadata.presetsinteger[]-1 küfür, 2 davetler.
trigger_metadata.mention_total_limitinteger-
actionsobject[]evet
exempt_rolesID[]evet
exempt_channelsID[]evet
{
  "id": "54841363660800012",
  "guild_id": "21531879014400001",
  "creator_id": "11369919283200002",
  "name": "Yasaklı sözcükler",
  "enabled": true,
  "trigger_type": 1,
  "trigger_metadata": {
    "keyword_filter": [
      "spam"
    ]
  },
  "actions": [
    {
      "type": 1
    }
  ],
  "exempt_roles": [],
  "exempt_channels": []
}

AUTO_MODERATION_RULE_UPDATE — Bir otomatik moderasyon kuralı değişti

Yalnızca botun sunucuda ManageGuild izni varsa gelir.

  • Gereken intent'ler: AUTO_MODERATION_CONFIGURATION
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
creator_idID | nullevet
namestringevet
enabledbooleanevet
trigger_typeintegerevet1 sözcük, 4 hazır sözcük listesi, 5 toplu etiketleme. (1, 4, 5)
trigger_metadataobjectevet
trigger_metadata.keyword_filterstring[]-
trigger_metadata.allow_liststring[]-
trigger_metadata.presetsinteger[]-1 küfür, 2 davetler.
trigger_metadata.mention_total_limitinteger-
actionsobject[]evet
exempt_rolesID[]evet
exempt_channelsID[]evet
{
  "id": "54841363660800012",
  "guild_id": "21531879014400001",
  "creator_id": "11369919283200002",
  "name": "Yasaklı sözcükler",
  "enabled": false,
  "trigger_type": 1,
  "trigger_metadata": {
    "keyword_filter": [
      "spam"
    ]
  },
  "actions": [
    {
      "type": 1
    }
  ],
  "exempt_roles": [],
  "exempt_channels": []
}

AUTO_MODERATION_RULE_DELETE — Bir otomatik moderasyon kuralı silindi

Yalnızca botun sunucuda ManageGuild izni varsa gelir.

  • Gereken intent'ler: AUTO_MODERATION_CONFIGURATION
AlanTürZorunluAçıklama
idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
guild_idIDevet64 bitlik ID; yanıtta da istekte de her zaman metin olarak yazılır. ID'ler oluşturulma zamanına göre sıralanır.
creator_idID | nullevet
namestringevet
enabledbooleanevet
trigger_typeintegerevet1 sözcük, 4 hazır sözcük listesi, 5 toplu etiketleme. (1, 4, 5)
trigger_metadataobjectevet
trigger_metadata.keyword_filterstring[]-
trigger_metadata.allow_liststring[]-
trigger_metadata.presetsinteger[]-1 küfür, 2 davetler.
trigger_metadata.mention_total_limitinteger-
actionsobject[]evet
exempt_rolesID[]evet
exempt_channelsID[]evet
{
  "id": "54841363660800012",
  "guild_id": "21531879014400001",
  "creator_id": "11369919283200002",
  "name": "Yasaklı sözcükler",
  "enabled": true,
  "trigger_type": 1,
  "trigger_metadata": {
    "keyword_filter": [
      "spam"
    ]
  },
  "actions": [
    {
      "type": 1
    }
  ],
  "exempt_roles": [],
  "exempt_channels": []
}