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ı
| Kod | Ad | Yeniden bağlan | Açıklama |
|---|---|---|---|
4000 | UNKNOWN_ERROR | reconnect: true (Evet) | Sunucuda bir şeyler ters gitti. Yeniden bağlanılır. |
4001 | UNKNOWN_OPCODE | reconnect: false (Hayır) | Bot, olmayan ya da botlara açık olmayan bir opcode gönderdi. |
4002 | DECODE_ERROR | reconnect: false (Hayır) | Bir çerçeve ya da içerik okunamadı veya değerleri geçersiz. |
4003 | NOT_AUTHENTICATED | reconnect: 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. |
4004 | AUTHENTICATION_FAILED | reconnect: 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. |
4005 | ALREADY_AUTHENTICATED | reconnect: false (Hayır) | Bot, oturumu olan bir bağlantıda op 2 ya da op 6 gönderdi. |
4008 | RATE_LIMITED | reconnect: 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. |
4010 | MAINTENANCE | reconnect: true (Evet) | Platform bakımda. Daha sonra yeniden denenir. |
4011 | TOO_MANY_SESSIONS | reconnect: 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. |
4012 | INVALID_SHARD | reconnect: false (Hayır) | shard biçimi ya da aralığı yanlış, veya izin verilenden çok shard istiyor. |
4013 | INVALID_INTENTS | reconnect: false (Hayır) | intents yok, sayı değil ya da tanımsız bitler içeriyor. |
4014 | DISALLOWED_INTENTS | reconnect: false (Hayır) | Bot izni olmayan ayrıcalıklı bir intent istedi ya da op 8 oturumda olmayan bir intent gerektiriyor. |
4015 | SHARDING_REQUIRED | reconnect: false (Hayır) | Bot bu shard sayısı için çok fazla sunucuda. Yalnızca daha çok shard ile başarılı olur. |
4016 | SESSION_START_LIMIT | reconnect: 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
| Intent | Bit | Değer | Ayrıcalıklı | Açıklama |
|---|---|---|---|---|
GUILDS | 1 << 0 | 1 | Hayır | Sunucular, rolleri, kanalları ve sabitlemeler. |
GUILD_MEMBERS | 1 << 1 | 2 | Evet | Üyelerin katılması, değişmesi ve ayrılması; op 8 ile tam liste. |
GUILD_MODERATION | 1 << 2 | 4 | Hayır | Yasaklar ve kaldırılmaları. |
GUILD_EXPRESSIONS | 1 << 3 | 8 | Hayır | Emojiler, çıkartmalar ve ses paneli. |
GUILD_WEBHOOKS | 1 << 5 | 32 | Hayır | Bir kanalın webhook'larındaki değişiklikler. |
GUILD_INVITES | 1 << 6 | 64 | Hayır | Oluşturulan ve silinen davetler. |
GUILD_VOICE_STATES | 1 << 7 | 128 | Hayır | Seste kimlerin olduğu ve orada çalınan sesler. |
GUILD_PRESENCES | 1 << 8 | 256 | Evet | Üyelerin çevrimiçi durumu ve etkinlikleri; op 8 ile de. |
GUILD_MESSAGES | 1 << 9 | 512 | Hayır | Sunucu kanallarındaki mesajlar. |
GUILD_MESSAGE_REACTIONS | 1 << 10 | 1024 | Hayır | Sunucu kanallarındaki tepkiler. |
GUILD_MESSAGE_TYPING | 1 << 11 | 2048 | Hayır | Sunucu kanallarında yazıyor bildirimi. |
DIRECT_MESSAGES | 1 << 12 | 4096 | Hayır | Sunucu dışındaki mesajlar. |
DIRECT_MESSAGE_REACTIONS | 1 << 13 | 8192 | Hayır | Sunucu dışındaki tepkiler. |
DIRECT_MESSAGE_TYPING | 1 << 14 | 16384 | Hayır | Sunucu dışında yazıyor bildirimi. |
MESSAGE_CONTENT | 1 << 15 | 32768 | Evet | Mesajların içeriği. Kendi başına bir olay açmaz: bu intent olmadan mesajlar içeriği süzülmüş gelir. |
GUILD_SCHEDULED_EVENTS | 1 << 16 | 65536 | Hayır | Sunucudaki etkinlikler. |
AUTO_MODERATION_CONFIGURATION | 1 << 20 | 1048576 | Hayır | Otomatik 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)
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
v | integer | evet | Gateway sürümü, şimdilik 1. |
user | object | evet | |
user.id | ID | evet | 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.username | string | evet | |
user.display_name | string | null | evet | |
user.avatar | string | null | evet | Avatar hash'i. |
user.cosmetics | object | null | evet | Varsa profil süslemeleri. |
user.bot | boolean | - | Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz. |
session_id | string | evet | |
application | object | evet | |
application.id | ID | evet | 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. |
shard | integer[] | evet | [id, count]. |
guilds | object[] | 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)
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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. |
username | string | evet | |
display_name | string | null | evet | |
avatar | string | null | evet | Avatar hash'i. |
cosmetics | object | null | evet | Varsa profil süslemeleri. |
bot | boolean | - | 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)
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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 | ID | evet | 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. |
endpoint | string | evet | Her zaman doludur (wss:// ya da ws://). |
token | string | evet | Salt-yayın LiveKit JWT (canSubscribe: false). Gizli tutulur. |
bitrate | integer | evet | Kanalı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)
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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 | ID | null | evet | |
code | string | evet | (unknown_guild, unknown_channel, invalid_channel_type, missing_permissions, voice_unavailable, channel_bot_limit, guild_bot_limit, app_voice_limit, bot_voice_full) |
message | string | evet |
{
"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)
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
opcode | integer | evet | |
retry_after | number | evet | Beklenecek saniye. |
meta | object | - | Op 4 ve op 8 için: reddedilen isteğin sunucusu (ve op 8'de nonce). Op 3'te yer almaz. |
meta.guild_id | ID | evet | 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. |
meta.nonce | string | - |
{
"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)
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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. |
members | Member[] | evet | |
chunk_index | integer | evet | |
chunk_count | integer | evet | |
not_found | ID[] | - | İstenen user_ids içinde üye olmayanlar. |
presences | Presence[] | - | presences: true ile: parçadaki üyelerden çevrimiçi olanlar. |
nonce | string | - | İ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)
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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. |
application_id | ID | evet | 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. |
type | integer | evet | 2 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) |
token | string | evet | Gizlidir, 15 dakika geçerlidir. Log'a yazma. |
version | integer | evet | (1) |
context | integer | evet | Nerede 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_id | ID | - | 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 | ID | evet | 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. |
member | object | - | |
member.user | object | evet | |
member.user.id | ID | evet | 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. |
member.user.username | string | evet | |
member.user.display_name | string | null | evet | |
member.user.avatar | string | null | evet | Avatar hash'i. |
member.user.cosmetics | object | null | evet | Varsa profil süslemeleri. |
member.user.bot | boolean | - | Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz. |
member.nick | string | null | evet | |
member.roles | ID[] | evet | @everyone hariç rol ID'leri. |
member.joined_at | datetime | evet | |
member.mute | boolean | evet | |
member.deaf | boolean | evet | |
member.communication_disabled_until | string | null | evet | Susturma sürerken doludur. |
member.permissions | permissions | - | Ondalık metin olarak izin bit alanı. Metin yerine sayı veya tanımlı olmayan bitler invalid_body verir. |
user | object | - | |
user.id | ID | evet | 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.username | string | evet | |
user.display_name | string | null | evet | |
user.avatar | string | null | evet | Avatar hash'i. |
user.cosmetics | object | null | evet | Varsa profil süslemeleri. |
user.bot | boolean | - | Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz. |
app_permissions | permissions | evet | Ondalık metin olarak izin bit alanı. Metin yerine sayı veya tanımlı olmayan bitler invalid_body verir. |
locale | string | evet | Basan ya da çalıştıran kişinin dili. |
message | Message | 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. |
data | object | object | object | evet |
{
"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)
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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. |
application_id | ID | evet | 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 | ID | evet | 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. |
permissions | object[] | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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. |
name | string | evet | |
icon | string | null | evet | |
banner | string | null | evet | |
description | string | null | evet | |
owner_id | ID | evet | 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. |
created_at | datetime | evet | |
features | string[] | evet | |
roles | Role[] | evet | |
discoverable | boolean | evet | |
discovery_category | string | null | evet | |
join_channel_id | ID | null | evet | |
leave_channel_id | ID | null | evet | |
channels | Channel[] | evet | Botun görebildiği kanallar. |
members | Member[] | evet | Yalnızca botun kendisi. Diğerleri op 8 ile alınır. |
member_count | integer | evet | |
large | boolean | evet | Sunucuda 250'den çok üye var. |
voice_states | VoiceState[] | evet | Botun görebildiği ses kanallarında kimlerin olduğu. |
stickers | Sticker[] | evet | |
emojis | Emoji[] | evet | |
tag | string | null | - | Üyelerin takabildiği kısa yazı; sunucuda yoksa null. |
tag_icon | string | null | - | Etiketin yanında görünen simge. |
tag_style | object | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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. |
name | string | evet | |
icon | string | null | evet | |
banner | string | null | evet | |
description | string | null | evet | |
owner_id | ID | evet | 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. |
created_at | datetime | evet | |
features | string[] | evet | |
roles | Role[] | evet | |
discoverable | boolean | evet | |
discovery_category | string | null | evet | |
join_channel_id | ID | null | evet | |
leave_channel_id | ID | null | evet | |
tag | string | null | - | Üyelerin takabildiği kısa yazı; sunucuda yoksa null. |
tag_icon | string | null | - | Etiketin yanında görünen simge. |
tag_style | object | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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": "21531879014400001"
}
GUILD_ROLE_CREATE — Bir rol oluşturuldu
Sunucuya bot eklendiğinde, botun kendi rolü için de gelir.
- Gereken intent'ler:
GUILDS
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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. |
role | object | evet | |
role.id | ID | evet | 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. |
role.name | string | evet | |
role.color | integer | evet | Tam sayı olarak RGB, 0 ile 16777215 arası. |
role.hoist | boolean | evet | |
role.mentionable | boolean | evet | |
role.position | integer | evet | Büyük olan daha üsttedir. @everyone en alttadır. |
role.permissions | permissions | evet | Ondalık metin olarak izin bit alanı. Metin yerine sayı veya tanımlı olmayan bitler invalid_body verir. |
role.auto_assign | boolean | evet | |
role.application_id | ID | - | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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. |
role | object | evet | |
role.id | ID | evet | 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. |
role.name | string | evet | |
role.color | integer | evet | Tam sayı olarak RGB, 0 ile 16777215 arası. |
role.hoist | boolean | evet | |
role.mentionable | boolean | evet | |
role.position | integer | evet | Büyük olan daha üsttedir. @everyone en alttadır. |
role.permissions | permissions | evet | Ondalık metin olarak izin bit alanı. Metin yerine sayı veya tanımlı olmayan bitler invalid_body verir. |
role.auto_assign | boolean | evet | |
role.application_id | ID | - | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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. |
role_id | ID | evet | 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"
}
CHANNEL_CREATE — Bir kanal oluşturuldu
Kanalı görebilen botlara gelir.
- Gereken intent'ler:
GUILDS
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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. |
type | integer | evet | 0 metin, 2 ses, 4 kategori. (0, 2, 4) |
guild_id | ID | evet | 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. |
name | string | - | |
topic | string | null | evet | |
position | integer | evet | |
parent_id | ID | null | evet | |
nsfw | boolean | evet | |
bitrate | integer | - | Ses kanalları. |
user_limit | integer | - | Ses kanalları; 0 sınırsızdır. |
rate_limit_per_user | integer | - | Saniye olarak yavaş mod; kapalıyken yer almaz. |
last_message_id | ID | null | evet | |
permission_overwrites | Overwrite[] | - | |
voice_status | string | - | |
voice_since | datetime | - |
{
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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. |
type | integer | evet | 0 metin, 2 ses, 4 kategori. (0, 2, 4) |
guild_id | ID | evet | 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. |
name | string | - | |
topic | string | null | evet | |
position | integer | evet | |
parent_id | ID | null | evet | |
nsfw | boolean | evet | |
bitrate | integer | - | Ses kanalları. |
user_limit | integer | - | Ses kanalları; 0 sınırsızdır. |
rate_limit_per_user | integer | - | Saniye olarak yavaş mod; kapalıyken yer almaz. |
last_message_id | ID | null | evet | |
permission_overwrites | Overwrite[] | - | |
voice_status | string | - | |
voice_since | datetime | - |
{
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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. |
type | integer | evet | 0 metin, 2 ses, 4 kategori. (0, 2, 4) |
guild_id | ID | evet | 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. |
name | string | - | |
topic | string | null | evet | |
position | integer | evet | |
parent_id | ID | null | evet | |
nsfw | boolean | evet | |
bitrate | integer | - | Ses kanalları. |
user_limit | integer | - | Ses kanalları; 0 sınırsızdır. |
rate_limit_per_user | integer | - | Saniye olarak yavaş mod; kapalıyken yer almaz. |
last_message_id | ID | null | evet | |
permission_overwrites | Overwrite[] | - | |
voice_status | string | - | |
voice_since | datetime | - |
{
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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 | ID | evet | 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. |
last_pin_timestamp | string | null | evet |
{
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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 | object | evet | |
user.id | ID | evet | 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.username | string | evet | |
user.display_name | string | null | evet | |
user.avatar | string | null | evet | Avatar hash'i. |
user.cosmetics | object | null | evet | Varsa profil süslemeleri. |
user.bot | boolean | - | Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz. |
nick | string | null | evet | |
roles | ID[] | evet | @everyone hariç rol ID'leri. |
joined_at | datetime | evet | |
mute | boolean | evet | |
deaf | boolean | evet | |
communication_disabled_until | string | null | evet | Susturma 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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 | object | evet | |
user.id | ID | evet | 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.username | string | evet | |
user.display_name | string | null | evet | |
user.avatar | string | null | evet | Avatar hash'i. |
user.cosmetics | object | null | evet | Varsa profil süslemeleri. |
user.bot | boolean | - | Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz. |
nick | string | null | evet | |
roles | ID[] | evet | @everyone hariç rol ID'leri. |
joined_at | datetime | evet | |
mute | boolean | evet | |
deaf | boolean | evet | |
communication_disabled_until | string | null | evet | Susturma 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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 | object | evet | |
user.id | ID | evet | 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.username | string | evet | |
user.display_name | string | null | evet | |
user.avatar | string | null | evet | Avatar hash'i. |
user.cosmetics | object | null | evet | Varsa profil süslemeleri. |
user.bot | boolean | - | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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 | object | evet | |
user.id | ID | evet | 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.username | string | evet | |
user.display_name | string | null | evet | |
user.avatar | string | null | evet | Avatar hash'i. |
user.cosmetics | object | null | evet | Varsa profil süslemeleri. |
user.bot | boolean | - | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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 | object | evet | |
user.id | ID | evet | 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.username | string | evet | |
user.display_name | string | null | evet | |
user.avatar | string | null | evet | Avatar hash'i. |
user.cosmetics | object | null | evet | Varsa profil süslemeleri. |
user.bot | boolean | - | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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. |
emojis | Emoji[] | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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. |
stickers | Sticker[] | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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. |
soundboard_sounds | Sound[] | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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 | ID | evet | 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",
"channel_id": "21531887403008007"
}
INVITE_CREATE — Bir davet oluşturuldu
Yalnızca botun sunucuda ManageGuild izni varsa gelir.
- Gereken intent'ler:
GUILD_INVITES
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
code | string | evet | |
guild | object | evet | |
guild.id | ID | evet | 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.name | string | evet | |
guild.icon | string | null | evet | |
guild.banner | string | null | evet | |
guild.description | string | null | evet | |
guild.features | string[] | evet | |
channel | object | evet | |
channel.id | ID | evet | 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.name | string | evet | |
channel.type | integer | evet | |
inviter_id | ID | null | evet | |
max_age | integer | evet | Saniye; 0 süresizdir. |
max_uses | integer | evet | 0 sınırsızdır. |
uses | integer | evet | |
created_at | datetime | evet | |
expires_at | string | null | evet |
{
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
code | string | evet | |
guild_id | ID | evet | 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 | ID | evet | 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. |
{
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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 | ID | null | evet | Kullanıcı kanaldan ayrıldığında null olur. |
user_id | ID | evet | 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. |
member | object | evet | |
member.user | object | evet | |
member.user.id | ID | evet | 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. |
member.user.username | string | evet | |
member.user.display_name | string | null | evet | |
member.user.avatar | string | null | evet | Avatar hash'i. |
member.user.cosmetics | object | null | evet | Varsa profil süslemeleri. |
member.user.bot | boolean | - | Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz. |
member.nick | string | null | evet | |
member.roles | ID[] | evet | @everyone hariç rol ID'leri. |
member.joined_at | datetime | evet | |
member.mute | boolean | evet | |
member.deaf | boolean | evet | |
member.communication_disabled_until | string | null | evet | Susturma sürerken doludur. |
member.permissions | permissions | - | Ondalık metin olarak izin bit alanı. Metin yerine sayı veya tanımlı olmayan bitler invalid_body verir. |
session_id | string | evet | |
mute | boolean | evet | |
deaf | boolean | evet | |
self_mute | boolean | evet | |
self_deaf | boolean | evet | |
self_stream | boolean | evet | |
self_video | boolean | evet |
{
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
channel_id | ID | evet | 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 | ID | evet | 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_id | ID | evet | 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. |
sound_id | ID | evet | 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. |
sound_volume | number | evet | |
emoji | string | null | evet |
{
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
channel_id | ID | evet | 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 | ID | evet | 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_id | ID | evet | 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": "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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
user | object | evet | Yalnızca kullanıcının ID'si. |
user.id | ID | evet | 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. |
status | string | evet | Çevrimdışı görünen kişi offline olarak gelir. (online, idle, dnd, offline) |
activities | Activity[] | evet | Çevrimdışıyken boştur. |
guild_id | ID | evet | 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": {
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
guild_id | ID | evet | 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. |
presences | GuildPresence[] | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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. |
type | integer | evet | 0 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_id | ID | evet | 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 | ID | - | 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. |
author | object | evet | |
author.id | ID | evet | 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. |
author.username | string | evet | |
author.display_name | string | null | evet | |
author.avatar | string | null | evet | Avatar hash'i. |
author.cosmetics | object | null | evet | Varsa profil süslemeleri. |
author.bot | boolean | - | Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz. |
content | string | evet | |
timestamp | datetime | evet | |
edited_timestamp | string | null | evet | |
attachments | Attachment[] | evet | |
mentions | User[] | evet | |
mention_roles | ID[] | evet | |
mention_everyone | boolean | evet | |
message_reference | object | - | |
message_reference.message_id | ID | evet | 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_reference.channel_id | ID | evet | 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. |
pinned | boolean | evet | |
data | object | - | Sistem mesajının gösterilmesi için gerekenler. |
forward | object | - | |
forward.channel_id | ID | evet | 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.guild_id | ID | - | 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_id | ID | evet | 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.author | object | evet | |
forward.author.id | ID | evet | 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.author.username | string | evet | |
forward.author.display_name | string | null | evet | |
forward.author.avatar | string | null | evet | Avatar hash'i. |
forward.author.cosmetics | object | null | evet | Varsa profil süslemeleri. |
forward.author.bot | boolean | - | Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz. |
forward.content | string | evet | |
forward.timestamp | datetime | evet | |
forward.mentions | User[] | evet | |
forward.sticker_items | StickerItem[] | - | |
forward.webhook_name | string | - | |
poll | object | - | |
poll.question | string | evet | |
poll.answers | object[] | evet | |
poll.allow_multiselect | boolean | evet | |
poll.expiry | datetime | evet | |
poll.results | object | - | |
poll.results.finalized | boolean | evet | |
poll.results.voters | integer | evet | |
poll.results.answers | object[] | evet | |
sticker_items | StickerItem[] | - | |
nonce | string | - | Gönderenin mesaja verdiği kendi kimliği; oluşturulurken aynen döner. |
webhook_id | ID | - | 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. |
activity | object | - | Başkalarını yazarın etkinliğine katılmaya çağırır. |
activity.type | integer | evet | |
activity.party_id | string | evet | |
hidden_embeds | string[] | - | Yazarın kaldırdığı bağlantı önizlemeleri ve davet kartları: yazıldığı gibi bir bağlantı ya da küçük harfle bir davet kodu. |
embeds | Embed[] | - | Botun eklediği kartlar. |
components | MessageComponent[] | - | Botun eklediği butonları ve menüleri taşıyan satırlar. |
flags | integer | - | Bit bayrakları. 0 ise yoktur. 64: ephemeral, yalnızca basan kişi görür. 128: henüz hazırlanan yanıt. |
application_id | ID | - | 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. |
interaction | object | - | Bir etkileşime verilen yanıtta: hangisi ve kimin bastığı ya da çalıştırdığı. |
interaction.id | ID | evet | 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. |
interaction.type | integer | evet | 2 komut çalıştırma, 3 bileşene basmadır. |
interaction.name | string | - | Çalıştırılan komut, "X, /ad kullandı" için. Basmada yer almaz. |
interaction.user | object | evet | |
interaction.user.id | ID | evet | 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. |
interaction.user.username | string | evet | |
interaction.user.display_name | string | null | evet | |
interaction.user.avatar | string | null | evet | Avatar hash'i. |
interaction.user.cosmetics | object | null | evet | Varsa profil süslemeleri. |
interaction.user.bot | boolean | - | Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz. |
ephemeral_state | string | - | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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. |
type | integer | evet | 0 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_id | ID | evet | 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 | ID | - | 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. |
author | object | evet | |
author.id | ID | evet | 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. |
author.username | string | evet | |
author.display_name | string | null | evet | |
author.avatar | string | null | evet | Avatar hash'i. |
author.cosmetics | object | null | evet | Varsa profil süslemeleri. |
author.bot | boolean | - | Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz. |
content | string | evet | |
timestamp | datetime | evet | |
edited_timestamp | string | null | evet | |
attachments | Attachment[] | evet | |
mentions | User[] | evet | |
mention_roles | ID[] | evet | |
mention_everyone | boolean | evet | |
message_reference | object | - | |
message_reference.message_id | ID | evet | 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_reference.channel_id | ID | evet | 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. |
pinned | boolean | evet | |
data | object | - | Sistem mesajının gösterilmesi için gerekenler. |
forward | object | - | |
forward.channel_id | ID | evet | 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.guild_id | ID | - | 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_id | ID | evet | 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.author | object | evet | |
forward.author.id | ID | evet | 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.author.username | string | evet | |
forward.author.display_name | string | null | evet | |
forward.author.avatar | string | null | evet | Avatar hash'i. |
forward.author.cosmetics | object | null | evet | Varsa profil süslemeleri. |
forward.author.bot | boolean | - | Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz. |
forward.content | string | evet | |
forward.timestamp | datetime | evet | |
forward.mentions | User[] | evet | |
forward.sticker_items | StickerItem[] | - | |
forward.webhook_name | string | - | |
poll | object | - | |
poll.question | string | evet | |
poll.answers | object[] | evet | |
poll.allow_multiselect | boolean | evet | |
poll.expiry | datetime | evet | |
poll.results | object | - | |
poll.results.finalized | boolean | evet | |
poll.results.voters | integer | evet | |
poll.results.answers | object[] | evet | |
sticker_items | StickerItem[] | - | |
nonce | string | - | Gönderenin mesaja verdiği kendi kimliği; oluşturulurken aynen döner. |
webhook_id | ID | - | 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. |
activity | object | - | Başkalarını yazarın etkinliğine katılmaya çağırır. |
activity.type | integer | evet | |
activity.party_id | string | evet | |
hidden_embeds | string[] | - | Yazarın kaldırdığı bağlantı önizlemeleri ve davet kartları: yazıldığı gibi bir bağlantı ya da küçük harfle bir davet kodu. |
embeds | Embed[] | - | Botun eklediği kartlar. |
components | MessageComponent[] | - | Botun eklediği butonları ve menüleri taşıyan satırlar. |
flags | integer | - | Bit bayrakları. 0 ise yoktur. 64: ephemeral, yalnızca basan kişi görür. 128: henüz hazırlanan yanıt. |
application_id | ID | - | 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. |
interaction | object | - | Bir etkileşime verilen yanıtta: hangisi ve kimin bastığı ya da çalıştırdığı. |
interaction.id | ID | evet | 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. |
interaction.type | integer | evet | 2 komut çalıştırma, 3 bileşene basmadır. |
interaction.name | string | - | Çalıştırılan komut, "X, /ad kullandı" için. Basmada yer almaz. |
interaction.user | object | evet | |
interaction.user.id | ID | evet | 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. |
interaction.user.username | string | evet | |
interaction.user.display_name | string | null | evet | |
interaction.user.avatar | string | null | evet | Avatar hash'i. |
interaction.user.cosmetics | object | null | evet | Varsa profil süslemeleri. |
interaction.user.bot | boolean | - | Bot hesaplarında ve webhook'ların yazdığı hesaplarda bulunur ve true'dur; diğerlerinde yer almaz. |
ephemeral_state | string | - | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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 | ID | evet | 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 | ID | - | 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. |
ephemeral | boolean | - | Ephemeral mesajda true; yalnızca basan kişiye gider. |
application_id | ID | - | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
ids | ID[] | evet | |
channel_id | ID | evet | 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 | ID | - | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
channel_id | ID | evet | 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 | ID | - | 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_id | ID | evet | 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. |
expiry | datetime | evet | |
results | object | evet | |
results.finalized | boolean | evet | |
results.voters | integer | evet | |
results.answers | object[] | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
user_id | ID | evet | 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 | ID | evet | 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_id | ID | evet | 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 | ID | - | 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. |
emoji | object | evet | |
emoji.id | ID | null | evet | Sunucu emojisinde doludur. |
emoji.name | string | evet | |
emoji.animated | boolean | - |
{
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
user_id | ID | evet | 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 | ID | evet | 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_id | ID | evet | 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 | ID | - | 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. |
emoji | object | evet | |
emoji.id | ID | null | evet | Sunucu emojisinde doludur. |
emoji.name | string | evet | |
emoji.animated | boolean | - |
{
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
channel_id | ID | evet | 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_id | ID | evet | 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 | ID | - | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
channel_id | ID | evet | 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_id | ID | evet | 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 | ID | - | 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. |
emoji | object | evet | |
emoji.id | ID | null | evet | Sunucu emojisinde doludur. |
emoji.name | string | evet | |
emoji.animated | boolean | - |
{
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
channel_id | ID | evet | 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 | ID | - | 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_id | ID | evet | 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. |
timestamp | integer | evet |
{
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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 | ID | evet | 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 | ID | null | evet | |
location | string | null | evet | |
name | string | evet | |
description | string | null | evet | |
scheduled_start_time | datetime | evet | |
scheduled_end_time | string | null | evet | |
status | integer | evet | 1 planlandı, 2 sürüyor, 3 bitti, 4 iptal edildi. (1, 2, 3, 4) |
creator_id | ID | null | evet | |
user_count | integer | evet |
{
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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 | ID | evet | 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 | ID | null | evet | |
location | string | null | evet | |
name | string | evet | |
description | string | null | evet | |
scheduled_start_time | datetime | evet | |
scheduled_end_time | string | null | evet | |
status | integer | evet | 1 planlandı, 2 sürüyor, 3 bitti, 4 iptal edildi. (1, 2, 3, 4) |
creator_id | ID | null | evet | |
user_count | integer | evet |
{
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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 | ID | evet | 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 | ID | null | evet | |
location | string | null | evet | |
name | string | evet | |
description | string | null | evet | |
scheduled_start_time | datetime | evet | |
scheduled_end_time | string | null | evet | |
status | integer | evet | 1 planlandı, 2 sürüyor, 3 bitti, 4 iptal edildi. (1, 2, 3, 4) |
creator_id | ID | null | evet | |
user_count | integer | evet |
{
"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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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 | ID | evet | 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. |
creator_id | ID | null | evet | |
name | string | evet | |
enabled | boolean | evet | |
trigger_type | integer | evet | 1 sözcük, 4 hazır sözcük listesi, 5 toplu etiketleme. (1, 4, 5) |
trigger_metadata | object | evet | |
trigger_metadata.keyword_filter | string[] | - | |
trigger_metadata.allow_list | string[] | - | |
trigger_metadata.presets | integer[] | - | 1 küfür, 2 davetler. |
trigger_metadata.mention_total_limit | integer | - | |
actions | object[] | evet | |
exempt_roles | ID[] | evet | |
exempt_channels | ID[] | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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 | ID | evet | 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. |
creator_id | ID | null | evet | |
name | string | evet | |
enabled | boolean | evet | |
trigger_type | integer | evet | 1 sözcük, 4 hazır sözcük listesi, 5 toplu etiketleme. (1, 4, 5) |
trigger_metadata | object | evet | |
trigger_metadata.keyword_filter | string[] | - | |
trigger_metadata.allow_list | string[] | - | |
trigger_metadata.presets | integer[] | - | 1 küfür, 2 davetler. |
trigger_metadata.mention_total_limit | integer | - | |
actions | object[] | evet | |
exempt_roles | ID[] | evet | |
exempt_channels | ID[] | 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | ID | evet | 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 | ID | evet | 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. |
creator_id | ID | null | evet | |
name | string | evet | |
enabled | boolean | evet | |
trigger_type | integer | evet | 1 sözcük, 4 hazır sözcük listesi, 5 toplu etiketleme. (1, 4, 5) |
trigger_metadata | object | evet | |
trigger_metadata.keyword_filter | string[] | - | |
trigger_metadata.allow_list | string[] | - | |
trigger_metadata.presets | integer[] | - | 1 küfür, 2 davetler. |
trigger_metadata.mention_total_limit | integer | - | |
actions | object[] | evet | |
exempt_roles | ID[] | evet | |
exempt_channels | ID[] | 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": []
}