Gateway olayları¶
Bir gönderim (Dispatch), Gateway üzerinden bir değişikliği ya da bir komutun sonucunu bildirir. İşlem kodu (opcode) 0'dır; bir olay adı ve bir yük taşır.
Dispatch zarfı¶
| Alan | Tür | Açıklama |
|---|---|---|
| op | integer | Değer 0 |
| t | string | Büyük harfli olay adı |
| s | integer | Negatif olmayan oturum sırası |
| d | any | Adı verilen olay için tanımlanmış yük |
Ready sırayı 1 olarak başlatır. Canlı Dispatch'ler sırayı birer artırır. Yeniden oynatılan Dispatch'ler özgün sıralarını korur ve aralarında boşluk olabilir. Resumed, oturumun geçerli sırasını artırmadan taşır. Sıra tek bir Gateway oturumuna özeldir; shard'lar veya HTTP işlemleri arasında hiçbir şeyi sıralamaz.
Dispatch teslimi¶
Olay filtreleme, teslimi sunucu erişilebilirliğine, kanal görünürlüğüne, izinlere ve oturum ayarlarına göre tanımlar. Hesap kapsamlı Dispatch'ler yalnızca oturum düzeyindeki filtrelerden, yani shard filtresinden ve ignored_events listesinden geçer.
Sunucu kapsamlı Dispatch'lerin çoğu bir guild_id dizesi taşır; Gateway bunu bir sunucuya dağıttığı her olaya ekler. Guild Create ve Guild Sync sunucuyu id olarak tanımlar. Guild Counts Update ve Channel Member Counts Update üst düzeyde guild_id taşımaz; counts dizilerindeki her girdinin kendi guild_id alanı vardır.
İşlemi başlatan oturum bir Dispatch'ten yalnızca sunucu kanalındaki Message Reaction Add ve Message Reaction Remove için ve yalnızca HTTP isteği bir session_id sorgu parametresi verdiyse hariç tutulur. Bu alan yükten çıkarılır. Doğrudan mesaj tepkisindeki aynı alan her alıcıya değiştirilmeden iletilir ve kimseyi hariç tutmaz. Diğer tüm değişiklikler Dispatch'lerini, uygun olan her oturum gibi işlemi yapan oturuma da teslim eder.
Bir Dispatch, Guild Sync, Guild Member List Update veya Guild Members Chunk değilse Resume yeniden oynatması için arabelleğe alınır. Bu üçü canlı teslim edilir ve hiç saklanmaz. Tek başına aşırı büyük bir Dispatch, Sınırlar ve hız sınırları sayfasında anlatıldığı gibi teslim edilir ama saklanmaz. Ready de yeniden oynatma arabelleğinin dışında gönderilir.
Fazladan anahtarlar normaldir
Birçok TEBHOS yükü, belgelenen anahtarların yanında eski TEBHOS istemcileri için korunan birkaç ek anahtar taşır (örneğin üye olaylarında user_id ve member_id, ilişki olaylarında relation_type). Tanımadığınız anahtarları yok sayın.
Dispatch olayları¶
| Olay | Açıklama | Kapsam |
|---|---|---|
| READY | Başarılı bir Identify sonrasındaki ilk oturum durumu | Oturum yaşam döngüsü |
| RESUMED | Başarılı bir Resume sonrasında saklanan yeniden oynatma tamamlanır | Oturum yaşam döngüsü |
| SESSIONS_REPLACE | Hesabın canlı oturum durumu kümesi değiştirilir | Geçerli kullanıcı |
| AUTH_SESSION_CHANGE | Hesabın giriş oturumları iptal edildi veya parola değişti | Geçerli kullanıcı |
| RATE_LIMITED | Bir üye isteği bütçesi tarafından reddedilir | Komut yanıtı |
| USER_UPDATE | Geçerli kullanıcının hesap kaydı değişir | Geçerli kullanıcı |
| USER_SETTINGS_UPDATE | Geçerli kullanıcının hesap geneli ayarları değişir | Geçerli kullanıcı |
| USER_GUILD_SETTINGS_UPDATE | Bir sunucu bildirim kaydı değişir | Geçerli kullanıcı |
| USER_NOTE_UPDATE | Geçerli kullanıcı özel bir not yazar veya temizler | Geçerli kullanıcı |
| USER_PINNED_DMS_UPDATE | Geçerli kullanıcının sabitlenmiş özel kanal kümesi değiştirilir | Geçerli kullanıcı |
| USER_CONNECTIONS_UPDATE | Geçerli kullanıcının dış bağlantı kümesi değiştirilir | Geçerli kullanıcı |
| WEBAUTHN_CREDENTIALS_UPDATE | Geçerli kullanıcının geçiş anahtarı (passkey) kümesi değiştirilir | Geçerli kullanıcı |
| RELATIONSHIP_ADD | Geçerli kullanıcı bir ilişki kazanır | Geçerli kullanıcı |
| RELATIONSHIP_UPDATE | Geçerli kullanıcının ilişkilerinden biri değişir | Geçerli kullanıcı |
| RELATIONSHIP_REMOVE | Geçerli kullanıcı bir ilişkiyi kaybeder | Geçerli kullanıcı |
| SAVED_MESSAGE_CREATE | Geçerli kullanıcı bir mesajı kaydeder | Geçerli kullanıcı |
| SAVED_MESSAGE_DELETE | Geçerli kullanıcı bir mesajın kaydını kaldırır | Geçerli kullanıcı |
| RECENT_MENTION_DELETE | Geçerli kullanıcı son bahsetmelerden birini kaldırır | Geçerli kullanıcı |
| FAVORITE_MEME_UPDATE | Geçerli kullanıcının kayıtlı memlerinden biri değişir | Geçerli kullanıcı |
| FAVORITE_MEME_DELETE | Geçerli kullanıcı kayıtlı bir memi siler | Geçerli kullanıcı |
| GUILD_CREATE | Bir sunucu oturum için erişilebilir hâle gelir | Sunucu bağlantısı |
| GUILD_SYNC | Abone bir oturum sunucunun tüm güncel durumunu yeniden alır | Sunucu bağlantısı |
| GUILD_UPDATE | Bir sunucunun yapılandırması değişir | Sunucu bağlantısı |
| GUILD_DELETE | Bir sunucu oturumun görünürlüğünden çıkar veya erişilemez olur | Sunucu bağlantısı |
| GUILD_ROLE_CREATE | Bir sunucuda rol oluşturulur | Sunucu bağlantısı |
| GUILD_ROLE_UPDATE | Tam olarak bir rol kaydı değişir | Sunucu bağlantısı |
| GUILD_ROLE_UPDATE_BULK | Tek bir işlem birkaç rol kaydını birlikte değiştirir | Sunucu bağlantısı |
| GUILD_ROLE_DELETE | Bir sunucudan rol silinir | Sunucu bağlantısı |
| GUILD_EMOJIS_UPDATE | Bir sunucunun emojileri değişir | Sunucu bağlantısı |
| GUILD_STICKERS_UPDATE | Bir sunucunun çıkartmaları değişir | Sunucu bağlantısı |
| CHANNEL_CREATE | Bir kanal oturuma görünür hâle gelir | Kanal görünürlüğü |
| CHANNEL_UPDATE | Görünür bir kanal değişir | Kanal görünürlüğü |
| CHANNEL_UPDATE_BULK | Tek bir işlem birkaç kanalı birlikte değiştirir | Kanal görünürlüğü |
| CHANNEL_DELETE | Bir kanal oturumun görünürlüğünden çıkar | Kanal görünürlüğü |
| CHANNEL_RECIPIENT_ADD | Bir kullanıcı, oturumun dahil olduğu bir grup DM'ye katılır | Özel kanal |
| CHANNEL_RECIPIENT_REMOVE | Bir kullanıcı, oturumun dahil olduğu bir grup DM'den ayrılır | Özel kanal |
| WEBHOOKS_UPDATE | Bir sunucu kanalının webhook kümesi değişir | Sunucu bağlantısı |
| INVITE_CREATE | Bir davet oluşturulur | Davet hedef kitlesi |
| INVITE_DELETE | Bir davet silinir | Davet hedef kitlesi |
| GUILD_MEMBER_ADD | Bir kullanıcı bağlı bir sunucunun üyesi olur | Sunucu bağlantısı |
| GUILD_MEMBER_UPDATE | Bir üyenin sunucu durumu veya herkese açık kullanıcı gösterimi değişir | Sunucu bağlantısı |
| GUILD_MEMBER_REMOVE | Bir kullanıcı bağlı bir sunucunun üyesi olmaktan çıkar | Sunucu bağlantısı |
| GUILD_MEMBERS_CHUNK | Sınırlı bir üye sonucu Request Guild Members komutunu yanıtlar | Komut yanıtı |
| GUILD_MEMBER_LIST_UPDATE | Abone olunan bir üye listesi abonenin aralıklarını yeniden eşitler | Üye listesi aboneliği |
| GUILD_AUDIT_LOG_ENTRY_CREATE | Bir sunucuda denetim kaydı girdisi yazılır | VIEW_AUDIT_LOG sahipleri |
| GUILD_BAN_ADD | Bir sunucu yasaklaması oluşturulur | Sunucu bağlantısı |
| GUILD_BAN_REMOVE | Bir sunucu yasaklaması kaldırılır | Sunucu bağlantısı |
| PRESENCE_UPDATE | Görünür bir durum (presence) değişir | Durum aboneliği |
| PRESENCE_UPDATE_BULK | Toparlanan bir sunucu görünür durumlarını birlikte teslim eder | Sunucu bağlantısı |
| PASSIVE_UPDATES | Tek bir pasif oturum için kanal last_message_id değerleri veya ses durumları değişti |
Pasif oturum |
| MESSAGE_CREATE | Görünür bir mesaj oluşturulur | Kanal görünürlüğü |
| MESSAGE_UPDATE | Görünür bir mesaj değişir ve bütünüyle yeniden yayımlanır | Mesaj erişimi |
| MESSAGE_DELETE | Görünür bir mesaj silinir | Mesaj erişimi |
| MESSAGE_DELETE_BULK | Tek kanaldaki birkaç mesaj birlikte silinir | Kanal görünürlüğü |
| MESSAGE_ACK | Geçerli kullanıcının bir kanaldaki okuma durumu ilerler | Geçerli kullanıcı |
| MESSAGE_REACTION_ADD | Bir kullanıcı bir mesaja tepki ekler | Mesaj erişimi |
| MESSAGE_REACTION_ADD_MANY | Tepkileri geciktirerek birleştiren bir oturum birkaç tepki eklemesini tek olay olarak alır | Mesaj erişimi |
| MESSAGE_REACTION_REMOVE | Bir kullanıcının tepkisi mesajdan kaldırılır | Mesaj erişimi |
| MESSAGE_REACTION_REMOVE_ALL | Bir mesajdaki tüm tepkiler bir kerede kaldırılır | Mesaj erişimi |
| MESSAGE_REACTION_REMOVE_EMOJI | Bir mesajdan tek bir emojiyi kullanan tüm tepkiler kaldırılır | Mesaj erişimi |
| TYPING_START | Görünür bir kullanıcı bir kanalda yazmaya başlar | Kanal görünürlüğü |
| CHANNEL_PINS_UPDATE | Bir kanalın sabitlemeleri değişir | Kanal görünürlüğü |
| CHANNEL_PINS_ACK | Geçerli kullanıcı bir kanalın sabitlemelerini onaylar | Geçerli kullanıcı |
| VOICE_STATE_UPDATE | Bir sunucu veya arama katılımcısının ses durumu değişir | Kanal görünürlüğü |
| VOICE_SERVER_UPDATE | Oturum kendi ses iznini alır veya değiştirir | Geçerli oturum |
| ENTRANCE_SOUND_PLAY | Bir katılımcının giriş sesi bir ses kanalında çalar | Ses kanalı |
| CALL_CREATE | Bir özel kanal araması başlar veya görünür hâle gelir | Arama alıcısı |
| CALL_UPDATE | Bir aramanın çaldırılanlar kümesi, katılımcı listesi veya bölgesi değişir | Arama alıcısı |
| CALL_DELETE | Bir arama sona erer veya erişilemez olur | Arama alıcısı |
| GUILD_COUNTS_UPDATE | Bağlı sunucular için üye ve çevrimiçi sayıları döndürülür | Komut yanıtı |
| CHANNEL_MEMBER_COUNTS_UPDATE | Bir sunucu için kanal başına üye ve çevrimiçi sayıları döndürülür | Komut yanıtı |
TEBHOS kendi istemcileri için ürüne özgü bir olay kümesi de gönderir. Bunlar TEBHOS istemci olayları altında listelenmiştir.
TEBHOS hiçbir zaman FAVORITE_MEME_CREATE göndermez: kayıtlı mem oluşturan bir yol yoktur.
Oturum ve geçerli kullanıcı¶
READY¶
İlk oturum durumu. Başarılı bir Identify sonrasında bir kez, her zaman sıra 1 ile gönderilir.
| Alan | Tür | Açıklama |
|---|---|---|
| session_id | string | Resume için tanımlayıcı |
| version | integer | Gateway API sürümü, her zaman 1 |
| user | user nesnesi | Kimliği doğrulanmış hesabın özel gösterimi |
| guilds | array[guild ready nesnesi] | Oturumun sunucuları. Bot oturumunda her zaman boştur: sunucular aşağıda anlatıldığı gibi sonradan gelir |
| private_channels | array[channel nesnesi] | DM ve grup DM kanalları |
| relationships | array[relationship nesnesi] | Hesabın ilişkileri. Her girdinin user alanı çıkarılır; hesaplar bunun yerine users içinde yer alır |
| presences | array[presence nesnesi] | Bağlantı anındaki görünür durumlar. Bot için her zaman boştur |
| users | array[kısmi user nesnesi] | Yükte başvurulan kullanıcılar; ilişkilerden, özel kanal alıcılarından ve sunucu üyelerinden toplanır. Bot için her zaman boştur |
| sessions | array[session presence nesnesi] | Hesabın canlı oturumları |
| read_states | array[read state nesnesi] | Kanal başına okuma durumu |
| user_settings | ?user settings nesnesi | Hesap geneli ayarlar |
| user_guild_settings | array[user guild settings nesnesi] | Sunucu başına bildirim ayarları |
| notes | map[snowflake, string] | Kullanıcı kimliğine göre anahtarlanmış özel notlar |
| pinned_dms | array[snowflake] | Sabitlenmiş özel kanal kimlikleri |
| favorite_memes | array[meme nesnesi] | Kayıtlı memler |
| webauthn_credentials | array[WebAuthn credential nesnesi] | Kayıtlı geçiş anahtarları (passkey) |
| rtc_regions | array[RTC region nesnesi] | En yakından başlayarak sıralanmış ses bölgeleri |
| country_code | string | Bağlanan adresten çözümlenen ülke; adres hiçbir ülkeye çözümlenmezse US |
| latitude? | string | Bağlanan adresten çözümlenen enlem |
| longitude? | string | Bağlanan adresten çözümlenen boylam |
| auth_session_id_hash? | string | Giriş oturumunu tanımlayan Base64url özeti. Bot oturumunda yoktur |
| shard? | array[integer] | Kabul edilen [shard_id, shard_count] çifti; yalnızca Identify bir çift verdiyse bulunur |
| _timings? | object | Zamanlama dökümü; yalnızca personel hesapları için anlamlıdır |
Yük ayrıca TEBHOS istemcilerinin okuma durumu önbelleğini doldurmak için kullandığı channels ve read_state_proto alanlarını da taşıyabilir. Bunları iç alan olarak değerlendirin.
Ready yeniden oynatma arabelleğinin dışında gönderilir; bu yüzden bir Resume onu hiçbir zaman yeniden oynatmaz.
Bir bot oturumu, kimliği doğrulanır doğrulanmaz boş bir guilds dizisiyle Ready alır. Ardından oturum her sunucuya bağlandıkça sunucular tek tek gelir: erişilebilir her sunucu için bir Guild Create, erişilemeyen her sunucu için unavailable: true taşıyan bir Guild Delete. Bunlar sıradan Dispatch'lerdir ve diğerleri gibi yeniden oynatma arabelleğinde tutulur.
Ready'den kısa süre sonra her oturum, etkin araması olan her özel kanalı için bir Call Create alır.
Guild ready nesnesi¶
Aynı yapı Ready, Guild Create ve Guild Sync içinde görünür.
| Alan | Tür | Açıklama |
|---|---|---|
| id | snowflake | Sunucu kimliği |
| properties | guild nesnesi | Rolleri, kanalları, emojileri, çıkartmaları ve üyeleri olmadan sunucu kaydı |
| roles | array[guild role nesnesi] | Sunucudaki tüm roller |
| channels | array[channel nesnesi] | Oturumun görebildiği kanallar |
| emojis | array[guild emoji nesnesi] | Sunucudaki tüm emojiler |
| stickers | array[guild sticker nesnesi] | Sunucudaki tüm çıkartmalar |
| members | array[guild member nesnesi] | Oturumun kendi üye nesnesi ile voice_states içinde adı geçen her katılımcının üye nesnesi |
| member_count | integer | Toplam üye sayısı |
| online_count | integer | Çevrimiçi üye sayısı; her alıcı için aynı sunucu geneli değerdir |
| presences | array[presence nesnesi] | Her zaman boş bir dizi. Sunucu durumları ayrı Presence Update ve Presence Update Bulk Dispatch'leri olarak gelir |
| voice_states | array[voice state nesnesi] | Oturumun görebildiği kanallardaki ses durumları |
| joined_at | ?ISO8601 zaman damgası | Hesabın sunucuya katıldığı zaman |
| unavailable? | boolean | Sunucunun erişilemez olup olmadığı |
| unavailable_hidden? | boolean | Erişilemez bir sunucunun istemciden gizlenip gizlenmediği |
Üye listesinin geri kalanına ihtiyaç duyan bir istemci bunu Request Guild Members ile ister ya da Lazy Request aracılığıyla bir üye listesine abone olur.
Erişilemez bir sunucu id ve unavailable: true alanlarına indirgenir; sunucu gizliyse bunlara unavailable_hidden: true eklenir.
Ready içinde members içindeki her girdinin user alanı {"id": "..."} ile değiştirilir ve çıkarılan hesaplar Ready'nin users dizisinde yer alır. Ready'den sonra gönderilen bir Guild Create (bir botun kendi sunucuları için aldıkları dahil) ve her Guild Sync üyeleri user alanı eksiksiz olarak taşır.
Session presence nesnesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| session_id | string | Oturum tanımlayıcısı ya da toplu girdi için düz metin all |
| status | string | online, idle, dnd, invisible veya offline |
| afk | boolean | Oturumun uzakta olup olmadığı |
| mobile | boolean | Oturumun mobil olup olmadığı |
İlk girdi her zaman session_id: "all" değerini ve hesabın birleşik durumunu taşır.
WebAuthn credential nesnesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| id | string | Kimlik bilgisi kimliği |
| name | string | Kimlik bilgisi adı |
| created_at | ISO8601 zaman damgası | Geçiş anahtarının kaydedildiği zaman |
| last_used_at | ?ISO8601 zaman damgası | Geçiş anahtarının son kullanıldığı zaman |
RTC region nesnesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| id | string | Bölge kimliği |
| name | string | İnsan tarafından okunabilir bölge adı |
| emoji | string | Bölge emojisi |
Dizi her zaman id değeri automatic ve name değeri Automatic olan yapay bir girdiyle başlar. Bu girdinin seçilmesi bölge seçimini sunucuya bırakır. Diğer her girdi hesabın kullanabileceği bir bölgedir; Identify özelliklerindeki latitude ve longitude değerlerinin ikisi de sayı olarak çözümlenebiliyorsa bu konuma uzaklığa göre, aksi hâlde bölge kimliğine göre sıralanır.
RESUMED¶
Başarılı bir Resume, verilen sıranın üzerindeki tüm saklanan Dispatch'leri yeniden oynattıktan sonra gönderilir. Yük, personel hesapları için isteğe bağlı bir zamanlama nesnesi dışında boştur. Resumed, oturumun geçerli sırasını s içinde artırmadan taşır.
SESSIONS_REPLACE¶
Hesabın canlı oturum kümesi değişti. Yük, session presence nesnelerinden oluşan çıplak bir JSON dizisidir ve her zaman kümenin tamamıdır. Ready ilk kümeyi sessions olarak gönderir.
AUTH_SESSION_CHANGE¶
Hesabın giriş oturumları, diğer cihazların tepki vermesi gereken bir şekilde değişti.
| Alan | Tür | Açıklama |
|---|---|---|
| reason | string | password_change, all_sessions_revoked veya other_sessions_revoked |
| user_id | snowflake | Hesap |
| keep_session_hashes? | array[string] | password_change durumunda bulunur: oturumu açık kalan giriş oturumunun onaltılık özetleri |
Token yenilemesi yok
TEBHOS bu olayda yerine geçecek bir token teslim etmez. Giriş oturumu iptal edilen bir istemci bir sonraki HTTP isteğinde 401 alır ve yeniden oturum açmalıdır. İptal edilen giriş oturumlarının Gateway oturumları ayrıca kapatılır.
RATE_LIMITED¶
Bir Request Guild Members komutu, bot tam üye listesi bütçesi tarafından reddedildi. Yalnızca isteği yapan oturuma teslim edilir.
| Alan | Tür | Açıklama |
|---|---|---|
| opcode | integer | Reddedilen işlem kodu, her zaman 8 |
| retry_after | number | İsteğin yeniden denenebilmesine kalan saniye |
| meta | object | guild_id; istek tam olarak tek bir sunucu belirttiyse ve geçerli bir nonce verdiyse ayrıca nonce |
Bütçe, her bot hesabı ve sunucu için 30,000 ms'de bir filtresiz üye isteğine izin verir. Diğer tüm komut retleri sessizdir.
USER_UPDATE¶
Geçerli kullanıcının hesap kaydı değişti. Yük, özel gösterimdeki eksiksiz user nesnesidir.
USER_SETTINGS_UPDATE¶
Geçerli kullanıcının hesap geneli ayarları değişti. Yük, eksiksiz user settings nesnesidir.
USER_GUILD_SETTINGS_UPDATE¶
Bir sunucunun bildirim ayarları değişti. Yük, o sunucunun user_id eklenmiş eksiksiz user guild settings nesnesidir.
USER_NOTE_UPDATE¶
Geçerli kullanıcı özel bir not yazdı veya temizledi.
| Alan | Tür | Açıklama |
|---|---|---|
| id | snowflake | Notun ilgili olduğu kullanıcı |
| note | string | Not metni; temizlendiğinde boş |
USER_PINNED_DMS_UPDATE¶
Geçerli kullanıcının sabitlenmiş özel kanal kümesi değişti.
| Alan | Tür | Açıklama |
|---|---|---|
| channels | array[snowflake] | Sabitlenme sırasıyla tüm sabitlenmiş kanal kimlikleri |
channels her zaman kümenin tamamıdır. Ready ilk kümeyi pinned_dms olarak gönderir.
USER_CONNECTIONS_UPDATE¶
Geçerli kullanıcının dış bağlantı kümesi değişti.
| Alan | Tür | Açıklama |
|---|---|---|
| connections | array[connection nesnesi] | Hesabın sahip olduğu tüm bağlantılar |
WEBAUTHN_CREDENTIALS_UPDATE¶
Geçerli kullanıcının geçiş anahtarı kümesi değişti. Yük, WebAuthn credential nesnelerinden oluşan çıplak bir JSON dizisidir ve her zaman kümenin tamamıdır.
RELATIONSHIP_ADD¶
Geçerli kullanıcı bir ilişki kazandı.
| Alan | Tür | Açıklama |
|---|---|---|
| id | snowflake | Diğer kullanıcının kimliği |
| type | integer | İlişki türü |
| user | kısmi user nesnesi | Diğer kullanıcı |
| since | ?ISO8601 zaman damgası | İlişkinin oluşturulduğu zaman |
| nickname | ?string | Diğer kullanıcı için özel takma ad |
| share_voice_activity | boolean | Geçerli kullanıcının bu arkadaşla ses etkinliğini paylaşıp paylaşmadığı |
RELATIONSHIP_UPDATE¶
Mevcut bir ilişki değişti. Yük, Relationship Add ile aynı yapıya sahiptir.
RELATIONSHIP_REMOVE¶
Bir ilişki sona erdi.
| Alan | Tür | Açıklama |
|---|---|---|
| id | snowflake | Diğer kullanıcının kimliği |
SAVED_MESSAGE_CREATE¶
Geçerli kullanıcı bir mesajı kaydetti. Yük, o kullanıcının gördüğü biçimiyle, message_id eklenmiş eksiksiz message nesnesidir.
SAVED_MESSAGE_DELETE¶
Geçerli kullanıcı bir mesajın kaydını kaldırdı.
| Alan | Tür | Açıklama |
|---|---|---|
| message_id | snowflake | Artık kayıtlı olmayan mesaj |
RECENT_MENTION_DELETE¶
Geçerli kullanıcı bir mesajı son bahsetmeler akışından kaldırdı.
| Alan | Tür | Açıklama |
|---|---|---|
| message_id | snowflake | Akıştan kaldırılan mesaj |
FAVORITE_MEME_UPDATE¶
Geçerli kullanıcının kayıtlı memlerinden biri değişti. Yük, eksiksiz meme nesnesidir.
FAVORITE_MEME_DELETE¶
Geçerli kullanıcı kayıtlı bir memi sildi.
| Alan | Tür | Açıklama |
|---|---|---|
| meme_id | snowflake | Silinen mem |
Sunucular ve kanallar¶
GUILD_CREATE¶
Bir sunucu oturum için erişilebilir hâle geldi. Yük bir guild ready nesnesidir.
roles, channels, emojis, stickers ve voice_states her zaman eksiksizdir; istemci depoladığı listeleri bunlarla değiştirir. members kısmi bir listedir: bu üyeleri ekleyin veya güncelleyin, geri kalanını koruyun.
Bir sunucu Ready'den sonra erişilebilir hâle geldiğinde, örneğin bir sunucuya katıldıktan ya da erişilemez bir sunucu toparlandıktan sonra, her oturum Guild Create alır. Bot oturumu, Ready'si hiç sunucu taşımadığı için, Ready'den sonra erişilebilir her sunucusu için de bir tane alır.
Oluşturma ve katılmada ikinci, kısa bir Guild Create
Geçerli kullanıcı HTTP üzerinden bir sunucu oluşturduğunda veya bir sunucuya katıldığında, API o kullanıcıya ayrıca yükü { "guild": { "id", "name", "image_url", ... } } olan bir Guild Create gönderir; bu, TEBHOS istemcileri için kısa bir özettir. Oturum sunucuya bağlandığında tam guild ready nesnesi Gateway'den gelir. İkisini üst düzeydeki guild anahtarıyla ayırt edin.
GUILD_SYNC¶
Lazy Request aracılığıyla eşitleme isteyen bir oturum, sunucunun tüm güncel durumunu yeniden alır. Yük bir guild ready nesnesidir ve istemci bunu Guild Create gibi işler.
TEBHOS, bir Lazy Request sunucuyu etkin ile pasif arasında geçirdiğinde ve sync: true sunucuyu belirttiğinde eşitleme gönderir.
GUILD_UPDATE¶
Bir sunucunun yapılandırması değişti. Yük, guild_id eklenmiş eksiksiz guild nesnesidir.
Guild Update, erişilemez bir sunucunun gönderdiği tek Dispatch'tir.
GUILD_DELETE¶
Bir sunucu oturumun görünürlüğünden çıktı ya da erişilemez oldu.
| Alan | Tür | Açıklama |
|---|---|---|
| id? | snowflake | Sunucu kimliği; Gateway'in kendi Guild Delete olayında bulunur |
| guild_id? | snowflake | Sunucu kimliği; API'nin Guild Delete olayında bulunur |
| reason? | string | API'nin Guild Delete olayında bulunur: deleted, kicked veya user_left |
| unavailable? | boolean | Sunucu geçici olarak erişilemez olduğunda true |
| unavailable_hidden? | boolean | Erişilemez bir sunucu istemciden gizlendiğinde true |
Bu olayı iki kaynak gönderir. Gateway, oturum sunucudan ayrıldığında {id}, sunucuya geçici olarak ulaşılamadığında {id, unavailable: true} gönderir. API ayrıca sunucu silindiğinde, kullanıcı atıldığında ve kullanıcı ayrıldığında etkilenen kullanıcıya {guild_id, reason} gönderir. İstemci sunucuyu hangisi varsa id veya guild_id alanından okur.
unavailable yoksa hesap artık üye değildir ve istemci o sunucu için depoladığı her şeyi siler. unavailable: true varsa istemci, daha sonraki bir Guild Create gelene kadar sunucuyu erişilemez bir girdi olarak tutar.
GUILD_ROLE_CREATE¶
Bir sunucuda rol oluşturuldu.
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Rolün ait olduğu sunucu |
| role | guild role nesnesi | Oluşturulan rol |
GUILD_ROLE_UPDATE¶
Tam olarak bir rol kaydı değişti.
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Rolün ait olduğu sunucu |
| role | guild role nesnesi | Rolün eksiksiz güncel gösterimi |
GUILD_ROLE_UPDATE_BULK¶
Tek bir işlem, çoğunlukla bir yeniden sıralama, birkaç rolü birlikte değiştirdi.
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Rollerin ait olduğu sunucu |
| roles | array[guild role nesnesi] | Değişen her rolün eksiksiz güncel gösterimi |
GUILD_ROLE_DELETE¶
Bir sunucudan rol silindi.
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Rolün ait olduğu sunucu |
| role_id | snowflake | Silinen rol |
GUILD_EMOJIS_UPDATE¶
Bir sunucunun emojileri değişti.
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Emojilerin ait olduğu sunucu |
| emojis | array[guild emoji nesnesi] | Sunucudaki tüm emojiler |
İstemci depoladığı emojileri bu diziyle değiştirir. TEBHOS emoji başına olay göndermez.
GUILD_STICKERS_UPDATE¶
Bir sunucunun çıkartmaları değişti.
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Çıkartmaların ait olduğu sunucu |
| stickers | array[guild sticker nesnesi] | Sunucudaki tüm çıkartmalar |
İstemci depoladığı çıkartmaları bu diziyle değiştirir. TEBHOS çıkartma başına olay göndermez.
CHANNEL_CREATE¶
Bir kanal, yeni oluşturulduğu ya da yeni izin verildiği için oturuma görünür hâle geldi. Yük eksiksiz channel nesnesidir; sunucu kanalında guild_id bulunur.
CHANNEL_UPDATE¶
Görünür bir kanal değişti. Yük eksiksiz channel nesnesidir.
CHANNEL_UPDATE_BULK¶
Tek bir işlem, çoğunlukla bir yeniden sıralama, birkaç kanalı birlikte değiştirdi.
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Kanalların ait olduğu sunucu |
| channels | array[channel nesnesi] | Sunucunun kanallarının güncellenmiş gösterimi |
Her alıcı yalnızca görebildiği kanalları görür. Boş sonuç Dispatch üretmez ve sıra numarası tüketmez.
CHANNEL_DELETE¶
Bir kanal, silindiği ya da yeni gizlendiği için oturumun görünürlüğünden çıktı. Sunucu kanalında yük, değişiklikten önceki hâliyle channel nesnesidir ve alıcılar onu görebilen oturumlardır. Geçerli kullanıcı bir özel kanalı kapattığında veya ondan ayrıldığında yük {id, channel_id, type} olur.
CHANNEL_RECIPIENT_ADD¶
Bir kullanıcı, oturumun dahil olduğu bir grup DM'ye katıldı.
| Alan | Tür | Açıklama |
|---|---|---|
| channel_id | snowflake | Grup DM kanalı |
| user | kısmi user nesnesi | Katılan kullanıcı |
CHANNEL_RECIPIENT_REMOVE¶
Bir kullanıcı, oturumun dahil olduğu bir grup DM'den ayrıldı.
| Alan | Tür | Açıklama |
|---|---|---|
| channel_id | snowflake | Grup DM kanalı |
| user | kısmi user nesnesi | Ayrılan kullanıcı |
WEBHOOKS_UPDATE¶
Bir sunucu kanalının webhook kümesi değişti. Olay webhook verisi taşımaz; yeni kümeye ihtiyaç duyan istemci onu HTTP API üzerinden okur.
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Kanalın ait olduğu sunucu |
| channel_id | snowflake | Webhook'ları değişen kanal |
INVITE_CREATE¶
Bir sunucu daveti oluşturuldu. Yük, GET /invites/{code} yolunun döndürdüğü gövdeyle aynı olan eksiksiz invite nesnesidir. Davetin kanalında MANAGE_CHANNELS iznine sahip oturumlara ulaşır.
INVITE_DELETE¶
Bir sunucu daveti silindi.
| Alan | Tür | Açıklama |
|---|---|---|
| code | string | Silinen davet kodu |
| channel_id? | snowflake | Davetin işaret ettiği kanal |
| guild_id | snowflake | Davetin ait olduğu sunucu |
Alıcılar Invite Create ile aynı şekilde seçilir.
Üyeler ve moderasyon¶
GUILD_MEMBER_ADD¶
Bir kullanıcı, oturumun bağlı olduğu bir sunucunun üyesi oldu. Yük, guild_id eklenmiş eksiksiz guild member nesnesidir.
GUILD_MEMBER_UPDATE¶
Bir üyenin sunucu durumu veya herkese açık kullanıcı gösterimi değişti. Yük, guild_id eklenmiş eksiksiz guild member nesnesidir.
250'den fazla üyesi olan bir sunucuda pasif bir oturum bu olayı yalnızca konu kendi kullanıcısı olduğunda alır.
GUILD_MEMBER_REMOVE¶
Bir kullanıcı, oturumun bağlı olduğu bir sunucunun üyesi olmaktan çıktı.
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Kullanıcının ayrıldığı sunucu |
| user | object | Artık üye olmayan kullanıcı. Nesne yalnızca id içerir |
| reason? | string | API nedenini bildiğinde bulunur: örneğin kicked veya temporary_membership_ended |
250'den fazla üyesi olan bir sunucuda pasif bir oturum bu olayı yalnızca konu kendi kullanıcısı olduğunda alır.
GUILD_MEMBERS_CHUNK¶
İsteği yapan oturum için Request Guild Members komutunu yanıtlar.
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Üyelerin ait olduğu sunucu |
| members | array[guild member nesnesi] | En fazla 1,000 üye |
| chunk_index | integer | Bu parçanın sıfırdan başlayan dizini |
| chunk_count | integer | Bu yanıttaki toplam parça sayısı |
| presences? | array[presence nesnesi] | Yalnızca istek presences ayarladıysa ve en az bir üyenin görünür durumu varsa bulunur |
| nonce? | string | Yalnızca istek tam olarak tek bir sunucu belirttiyse ve geçerli bir nonce verdiyse geri yansıtılır |
Hiçbir üyeyle eşleşmeyen bir istek de boş bir members dizisi, chunk_index 0 ve chunk_count 1 ile bir parça üretir. Bu olay Resume için hiçbir zaman saklanmaz.
GUILD_MEMBER_LIST_UPDATE¶
Oturumun Lazy Request aracılığıyla abone olduğu bir üye listesi, abonenin aralıklarını yeniden eşitler.
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Listenin ait olduğu sunucu |
| id | string | Liste tanımlayıcısı; dize olarak kanal kimliğidir |
| channel_id? | snowflake | Listenin kapsadığı kanal |
| member_count | integer | Listedeki toplam üye |
| online_count | integer | Listedeki çevrimiçi üye |
| groups | array[member list group nesnesi] | Liste sırasıyla grup başlıkları |
| ops | array[member list operation nesnesi] | Uygulanacak işlemler |
Member list group nesnesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| id | string | Grup tanımlayıcısı: ayrı gösterilen (hoisted) bir rol kimliği, online veya offline. Ayrı gösterilen rol grupları rol sırasıyla önce gelir, ardından online, ardından offline |
| count | integer | Gruptaki üyeler |
Sayısı 0 olan grup çıkarılır. offline grubu 1,000'den fazla üye içerdiğinde de öğeleriyle birlikte çıkarılır.
Member list operation nesnesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| op | string | İşlem türü, her zaman SYNC |
| range | array[integer] | Bu işlemin değiştirdiği kapsayıcı [start, end] aralığı |
| items | array[member list item nesnesi] | Aralık için yerine konacak öğeler |
TEBHOS'un gönderdiği tek işlem SYNC'tir. İstemci tanımadığı bir işlemi yok saymak ZORUNDADIR.
Member list item nesnesi¶
Her öğe alanlardan tam olarak birini içerir.
| Alan | Tür | Açıklama |
|---|---|---|
| group? | member list group nesnesi | Bir liste konumunu kaplayan grup başlığı |
| member? | guild member nesnesi | Bir presence alanıyla genişletilmiş liste üyesi. Değer, üyenin presence nesnesi ya da {"status": "offline", "mobile": false, "afk": false} olur |
GUILD_AUDIT_LOG_ENTRY_CREATE¶
Bir denetim kaydı girdisi yazıldı. Yük, guild_id eklenmiş denetim kaydı girdisidir. Alıcılar, işlemi yapan oturum dahil, sunucuda VIEW_AUDIT_LOG iznine sahip tüm oturumlardır.
GUILD_BAN_ADD¶
Bir sunucu yasaklaması oluşturuldu.
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Yasaklamanın oluşturulduğu sunucu |
| user | object | Yalnızca id içeren yasaklanan kullanıcı |
| reason | ?string | İstekle birlikte verilen yasaklama nedeni |
GUILD_BAN_REMOVE¶
Bir sunucu yasaklaması kaldırıldı.
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Yasaklamanın kaldırıldığı sunucu |
| user | object | Yalnızca id içeren, yasağı kaldırılan kullanıcı |
PRESENCE_UPDATE¶
Görünür bir durum (presence) değişti. Yük bir presence nesnesidir.
Bir oturum; bir arkadaş için, dahil olduğu bir grup DM'nin alıcısı için ve bir Lazy Request komutunun members dizisiyle abone olduğu bir sunucu üyesi için durum alır. Bot oturumunun arkadaş veya grup DM aboneliği yoktur; bu yüzden ona ulaşan tek yol sunucu yoludur.
Presence nesnesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| user | kısmi user nesnesi | Durumun ait olduğu kullanıcı |
| status | string | online, idle, dnd veya offline |
| mobile | boolean | Kullanıcının etkin durumunun bir mobil oturumdan gelip gelmediği |
| afk | boolean | Kullanıcının tüm oturumlarının uzakta olup olmadığı |
| custom_status | ?custom status nesnesi | Kullanıcının özel durumu |
| guild_id? | snowflake | Sunucu bağlamı; durum bir sunucu üzerinden geldiğinde bulunur |
Bir hesabın yayımlanan status değeri, canlı oturumları arasındaki en yüksek öncelikli durumdur; öncelik sırası dnd, online, idle, invisible şeklindedir, hiçbir oturum canlı değilse offline olur. invisible seçen bir oturum ve canlı oturumu olmayan bir hesap, ikisi de status: "offline" yayımlar. Taşıma katmanını kaybeden bir oturum 60,000 ms boyunca resume edilebilir kalsa da 5,000 ms sonra offline olarak yayımlanır. Yayımlanan durum offline olduğunda custom_status her zaman null olur.
Custom status nesnesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| text | ?string | Özel durum metni |
| expires_at | ?ISO8601 zaman damgası | Özel durumun süresinin dolacağı zaman |
| emoji_id | ?snowflake | Özel emoji kimliği |
| emoji_name | ?string | Unicode emoji ya da özel emojinin adı |
| emoji_animated | boolean | Özel emojinin animasyonlu olup olmadığı |
PRESENCE_UPDATE_BULK¶
Tek Dispatch'te teslim edilen birkaç görünür durum. Bir sunucu bunu yalnızca erişilemez durumdan çıktığında, onu geri getiren Guild Create olayının hemen ardından gönderir.
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Her girdiye uygulanan sunucu bağlamı |
| presences | array[presence nesnesi] | Alıcının kendisininki hariç, görünür biçimde çevrimiçi durumlar |
PASSIVE_UPDATES¶
250'den fazla üyesi olan bir sunucudaki pasif oturum, kaçırdığı değişiklikleri her 30,000 ms'de bir alır. Hiçbir şey değişmediyse olay gönderilmez.
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Güncellemenin kapsadığı sunucu |
| channels | map[snowflake, snowflake] | Görüntülenebilir her kanal için değişen last_message_id |
| voice_states? | array[voice state nesnesi] | Oturumun görebildiği kanallarda değişen ses durumları. Ayrılan katılımcı channel_id null olarak görünür |
Mesajlar ve tepkiler¶
MESSAGE_CREATE¶
Görünür bir mesaj oluşturuldu. Yük, aşağıdaki alanlar eklenmiş eksiksiz message nesnesidir.
| Alan | Tür | Açıklama |
|---|---|---|
| channel_type | integer | Kanalın kanal türü |
| nicks? | map[snowflake, string] | Grup DM takma adları; yalnızca grup en az bir takma ad saklıyorsa bulunur |
| mention_here? | boolean | Yalnızca mesajda here bahsetmesi varsa bulunur ve true olur |
| guild_id? | snowflake | Kanalın ait olduğu sunucu |
| member? | guild member nesnesi | Yazarın user alanı olmadan sunucu üye nesnesi; sunucu kanalında bulunur |
Mesaj oturumun kullanıcısından bahsettiğinde Message Create hem pasif filtreyi hem de ignored_events listesini geçersiz kılar. Bkz. Olay filtreleme.
MESSAGE_UPDATE¶
Görünür bir mesaj değişti. Yük, eksiksiz güncel message nesnesidir. Sunucu kanalında guild_id ve member ile genişletilir.
MESSAGE_DELETE¶
Görünür bir mesaj silindi.
| Alan | Tür | Açıklama |
|---|---|---|
| id | snowflake | Silinen mesaj |
| channel_id | snowflake | Mesajın bulunduğu kanal |
| content? | ?string | Mesajın silinmeden önceki içeriği |
| author_id? | snowflake | Mesajı yazan hesap |
| guild_id? | snowflake | Kanalın ait olduğu sunucu |
| member? | guild member nesnesi | Yazarın user alanı olmadan sunucu üye nesnesi; sunucu kanalında, yazar üye olduğu sürece bulunur |
MESSAGE_DELETE_BULK¶
Tek kanaldaki birkaç mesaj birlikte silindi.
| Alan | Tür | Açıklama |
|---|---|---|
| ids | array[snowflake] | Silinen mesajlar |
| channel_id | snowflake | Mesajların bulunduğu kanal |
| guild_id? | snowflake | Kanalın ait olduğu sunucu |
MESSAGE_ACK¶
Geçerli kullanıcının bir kanaldaki okuma durumu ilerledi; genellikle hesabın başka bir oturumu kanalı okuduğu için.
| Alan | Tür | Açıklama |
|---|---|---|
| channel_id | snowflake | Okuma durumu ilerleyen kanal |
| message_id | ?snowflake | Okuma durumunun artık işaret ettiği mesaj |
| mention_count | integer | Kanal için kalan bahsetme sayısı |
| manual | boolean | Onayın açıkça yapılıp yapılmadığı |
| last_pin_timestamp | ?ISO8601 zaman damgası | Okuma durumunda kayıtlı son sabitleme zamanı |
| version | string | Ondalık dize olarak okuma durumu sürümü |
MESSAGE_REACTION_ADD¶
Bir kullanıcı bir mesaja tepki ekledi.
| Alan | Tür | Açıklama |
|---|---|---|
| user_id | snowflake | Tepki veren kullanıcı |
| channel_id | snowflake | Mesajın bulunduğu kanal |
| message_id | snowflake | Tepki verilen mesaj |
| emoji | reaction emoji nesnesi | Emoji |
| guild_id? | snowflake | Kanalın ait olduğu sunucu |
| member? | guild member nesnesi | Tepki veren kullanıcının sunucu üye nesnesi; sunucu kanalında bulunur |
Sunucu kanalında isteğin session_id ile belirttiği oturum hariç tutulur ve alan kaldırılır. Özel kanalda alan teslim edilir ve kimseyi hariç tutmaz; bu nedenle istemci kendi tepkisinin geri gelmesine dayanıklı olmak ZORUNDADIR.
Reaction emoji nesnesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| id | ?string | Özel emoji kimliği; Unicode emoji için null |
| name | string | Unicode emoji ya da özel emojinin adı |
| animated? | boolean | Özel emojinin animasyonlu olup olmadığı; Unicode emoji için yoktur |
MESSAGE_REACTION_ADD_MANY¶
DEBOUNCE_MESSAGE_REACTIONS oturum bayrağı ile özel kanal eklemeleri 650 ms boyunca gruplanır ve birlikte teslim edilir. Her pencere en son 512 eklemeyi tutar. Sunucu kanalı eklemeleri her zaman ayrı Message Reaction Add olayları olarak gelir.
| Alan | Tür | Açıklama |
|---|---|---|
| channel_id | snowflake | Mesajın bulunduğu kanal |
| message_id | snowflake | Tepki verilen mesaj |
| guild_id? | snowflake | Kanalın ait olduğu sunucu |
| reactions | array[object] | Varış sırasıyla birleştirilmiş eklemeler; her biri user_id, emoji ve member? içerir |
Birkaç mesajı kapsayan bir pencere, her mesaj için ayrı bir Dispatch üretir. Pencere tam olarak tek bir ekleme tutarak kapanırsa oturum düz bir Message Reaction Add alır.
MESSAGE_REACTION_REMOVE¶
Bir kullanıcının tepkisi bir mesajdan kaldırıldı. Yük, Message Reaction Add ile aynı alanlara sahiptir ve hariç tutma da aynı şekilde çalışır.
MESSAGE_REACTION_REMOVE_ALL¶
Bir mesajdaki tüm tepkiler bir kerede kaldırıldı.
| Alan | Tür | Açıklama |
|---|---|---|
| channel_id | snowflake | Mesajın bulunduğu kanal |
| message_id | snowflake | Tepkileri temizlenen mesaj |
| guild_id? | snowflake | Kanalın ait olduğu sunucu |
MESSAGE_REACTION_REMOVE_EMOJI¶
Bir mesajdan tek bir emojiyi kullanan tüm tepkiler kaldırıldı.
| Alan | Tür | Açıklama |
|---|---|---|
| channel_id | snowflake | Mesajın bulunduğu kanal |
| message_id | snowflake | Tepkilerin bulunduğu mesaj |
| emoji | reaction emoji nesnesi | Tepkileri kaldırılan emoji |
| guild_id? | snowflake | Kanalın ait olduğu sunucu |
TYPING_START¶
Görünür bir kullanıcı bir kanalda yazmaya başladı.
| Alan | Tür | Açıklama |
|---|---|---|
| channel_id | snowflake | Kullanıcının yazdığı kanal |
| user_id | snowflake | Yazmaya başlayan kullanıcı |
| timestamp | integer | Yazmanın başladığı Unix saniyesi |
| guild_id? | snowflake | Kanalın ait olduğu sunucu |
| member? | guild member nesnesi | Yazan kullanıcının sunucu üye nesnesi; sunucu kanalında bulunur |
Sunucuda teslimi Lazy Request ile ayarlanan typing geçersiz kılması belirler. Geçersiz kılma yoksa oturum, sunucuda etkinse ya da sunucunun 250 veya daha az üyesi varsa olayı alır.
CHANNEL_PINS_UPDATE¶
Bir mesaj sabitlendi veya sabitlemesi kaldırıldı.
| Alan | Tür | Açıklama |
|---|---|---|
| channel_id | snowflake | Sabitlemeleri değişen kanal |
| message_id | snowflake | Sabitlenen veya sabitlemesi kaldırılan mesaj |
| last_pin_timestamp | ?ISO8601 zaman damgası | En son sabitlemenin zamanı; hiçbir şey sabitlenmemişse null |
| guild_id? | snowflake | Kanalın ait olduğu sunucu |
CHANNEL_PINS_ACK¶
Geçerli kullanıcı bir kanalın sabitlemelerini onayladı. Hesabın her oturumu bunu alır.
| Alan | Tür | Açıklama |
|---|---|---|
| channel_id | snowflake | Sabitlemeleri onaylanan kanal |
| last_pin_timestamp | ISO8601 zaman damgası | Kanal için kaydedilen sabitleme zamanı |
Ses ve aramalar¶
VOICE_STATE_UPDATE¶
Bir katılımcının ses durumu değişti. Yük bir voice state nesnesidir. Alıcılar, pasif oturumlar dahil, ses kanalını görebilen oturumlardır. channel_id değerinin null olması katılımcının ayrıldığı anlamına gelir.
Voice state nesnesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | ?snowflake | Ses kanalının ait olduğu sunucu; aramada null |
| channel_id | ?snowflake | Ses kanalı; katılımcı ayrıldığında null |
| user_id | snowflake | Katılımcı |
| connection_id | ?string | Ses bağlantısı kimliği |
| session_id | ?string | Bağlantının sahibi olan Gateway oturumu |
| member | ?guild member nesnesi | Katılımcının sunucu üye nesnesi; aramada null |
| mute | boolean | Sunucu tarafından susturma |
| deaf | boolean | Sunucu tarafından sağırlaştırma |
| self_mute | boolean | Yerel mikrofon susturması |
| self_deaf | boolean | Yerel çıkış sağırlaştırması |
| self_video | boolean | Katılımcının kamera görüntüsü yayımlayıp yayımlamadığı |
| self_stream | boolean | Bağlantının bir ekran paylaşımı izi duyurup duyurmadığı. Katılımcının sunucu kanalında STREAM izni yoksa false |
| is_mobile | boolean | Katılımcının mobil istemcide olup olmadığı |
| suppress | boolean | Katılımcının bastırılıp bastırılmadığı |
| viewer_stream_keys | array[string] | Bu bağlantının izlediği yayınlar |
| e2ee_capable | boolean | Katılımcının istemcisinin uçtan uca şifreli sesi destekleyip desteklemediği |
| version | integer | Bu katılımcının ses durumunun monoton artan sürümü |
VOICE_SERVER_UPDATE¶
Oturum kendi ses iznini aldı veya değiştirdi. Yalnızca isteği yapan oturuma teslim edilir.
| Alan | Tür | Açıklama |
|---|---|---|
| token | string | Bu bağlantının sunduğu LiveKit erişim token'ı |
| endpoint | string | Bağlanılacak LiveKit sinyal URL'si; bir ws:// veya wss:// adresi |
| connection_id | string | İznin kapsadığı ses bağlantısı |
| channel_id | snowflake | İznin kapsadığı kanal |
| guild_id? | snowflake | Sunucu ses kanalında bulunur, aramada yoktur |
| e2ee_key? | string | Uçtan uca şifreli bir kanal için anahtar malzemesi |
TEBHOS ses medyası için LiveKit kullanır. İkinci bir ses WebSocket'i, ses işlem kodu kümesi veya UDP keşif adımı yoktur. Bkz. Ses.
İzin; bir bağlantı açıldığında, başka bir kanala taşındığında ve bölgesi değiştiğinde verilir. self_mute, self_video veya self_stream değerlerini değiştirmek yeni izin üretmez.
ENTRANCE_SOUND_PLAY¶
Bir katılımcı, bağlı olduğu bir ses kanalında giriş sesini çaldı. Bkz. Giriş sesleri.
| Alan | Tür | Açıklama |
|---|---|---|
| user_id | snowflake | Sesi çalan katılımcı |
| channel_id | snowflake | Ses kanalı |
| guild_id | ?snowflake | Kanalın ait olduğu sunucu; arama için null |
| sound_id | snowflake | Giriş sesi |
| hash | string | Ses dosyasının içerik özeti |
| url | string | Sesin alınacağı URL |
| duration_ms | integer | Milisaniye cinsinden ses süresi |
| content_type | string | Ses dosyasının MIME türü |
Alıcılar, o kanalda ses durumu olan diğer tüm hesaplardır; her hesaba bir kez. Olay bir hesabın tüm oturumlarına ulaşır; bu yüzden istemci channel_id üzerinden filtreler.
CALL_CREATE¶
Bir özel kanal araması başladı ya da oturumun ilk durumunda görünür hâle geldi.
| Alan | Tür | Açıklama |
|---|---|---|
| channel_id | snowflake | Aramanın bulunduğu kanal |
| message_id | snowflake | Aramayı açan arama mesajı |
| region | ?string | Aramaya hizmet veren ses bölgesi; otomatik yönlendirme için auto veya null |
| ringing | array[snowflake] | Çaldırılan alıcılar |
| voice_states | array[voice state nesnesi] | Katılımcılar |
| recipients? | array[snowflake] | Kanalın tüm alıcıları; ilk veya toparlanmış arama durumunda bulunur |
| created_at? | integer | Aramanın açıldığı Unix milisaniyesi; ilk veya toparlanmış arama durumunda bulunur |
Alıcılar, aramaya katılıp katılmadıklarından bağımsız olarak kanalın tüm alıcılarıdır. Call Update ve Call Delete de aynı kümeye gider.
API biçimi
Aramayı API oluşturduğunda (ilk çaldırma), kendi biçiminde de bir Call Create gönderir: call_id, channel_id, initiator_id, livekit_room_name, started_at, message_id, region, boş ringing ve voice_states, unavailable ve unavailable_recipients. Arama süreci başladığında Gateway'in biçimi ardından gelir. İkisini de channel_id üzerinden işleyin.
CALL_UPDATE¶
Etkin bir aramanın çaldırılanlar kümesi, katılımcı listesi veya bölgesi değişti. Gateway biçimi, recipients ve created_at olmadan Call Create ile aynı yapıya sahiptir ve yalnızca arama durumu görünür biçimde değiştiğinde gönderilir. HTTP üzerinden yapılan bir bölge değişikliği ayrıca id, call_id, channel_id, initiator_id, livekit_room_name, started_at, region, voice_states, ringing ve message_id içeren bir API biçimi gönderir.
CALL_DELETE¶
Bir arama sona erdi ya da erişilemez oldu.
| Alan | Tür | Açıklama |
|---|---|---|
| channel_id | snowflake | Aramanın bulunduğu kanal |
| unavailable? | boolean | Arama erişilemez olduğunda true |
| call_id? | string | API biçiminde bulunur |
| ended_by? | snowflake | Bir kullanıcı aramayı sonlandırdığında API biçiminde bulunur |
| reason? | string | Çaldırmanın durdurulması aramayı boş bıraktığında gönderilen API biçiminde empty |
unavailable: true varsa istemci aramayı erişilemez bir girdi olarak tutar. Arama yeniden erişilebilir olursa yeni bir Call Create recipients ve created_at içerir.
Sayım yanıt olayları¶
GUILD_COUNTS_UPDATE¶
İsteği yapan oturum için Request Guild Counts komutunu yanıtlar.
| Alan | Tür | Açıklama |
|---|---|---|
| counts | array[guild count entry nesnesi] | Zamanında yanıt veren her sunucu için bir girdi |
| nonce? | string | İstek geçerli bir nonce verdiyse geri yansıtılır |
Guild count entry nesnesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Sayıların açıkladığı sunucu |
| member_count | integer | Toplam üye |
| online_count | integer | İsteği yapan hesabın görebildiği en az bir kanalı paylaşan çevrimiçi üyeler. ADMINISTRATOR iznine sahip bir hesap sunucunun tüm çevrimiçi sayısını alır |
CHANNEL_MEMBER_COUNTS_UPDATE¶
İsteği yapan oturum için Request Channel Member Counts komutunu yanıtlar.
| Alan | Tür | Açıklama |
|---|---|---|
| counts | array[channel count entry nesnesi] | Yanıt veren her kanal için bir girdi |
| nonce? | string | İstek geçerli bir nonce verdiyse geri yansıtılır |
Channel count entry nesnesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Kanalın ait olduğu sunucu |
| channel_id | snowflake | Sayıların açıkladığı kanal |
| member_count | integer | Kanalı görebilen üyeler |
| online_count | integer | Kanalı görebilen çevrimiçi üyeler |
TEBHOS istemci olayları¶
TEBHOS web, masaüstü ve mobil istemcileri aşağıdaki olayları da alır. Bu olaylar standart bir olayı olmayan ürün özelliklerini (canlı odalar, Pro, takviyeler, kategoriler, kozmetikler) yönetir ya da istemcilere standart bir olayın yanında daha hızlı ve daha küçük bir sinyal verir. Yükleri TEBHOS istemcileri için biçimlendirilmiştir ve haber verilmeden değişebilir; bu nedenle bir botun yukarıdaki standart olaylara dayanması ve bunları yok sayması GEREKİR. Her biri ignored_events kuralına tabidir.
| Olay | Gönderildiği durum | Ana alanlar |
|---|---|---|
SERVER_UPDATED |
Her Guild Update ile birlikte | id, server_id, name, image_url, vanity_url |
SERVER_DELETED |
Bir sunucu silinmek üzereyken, üyelerine | server_id |
SERVER_OWNERSHIP_TRANSFERRED |
Sunucu sahipliği devredildi (ardından bir Guild Update gelir) | server_id, new_owner_profile_id, previous_owner_profile_id |
CATEGORY_CREATED, CATEGORY_UPDATED, CATEGORY_DELETED |
Bir kanal kategorisi kategori yolları üzerinden değişti | server_id, id, ayrıca name/position ya da silmede orphaned_channel_ids |
PERMISSION_UPDATED |
Bir kanal veya kategori izin geçersiz kılması değişti; onu görebilen her kullanıcıya | server_id, parent, parent_id, override, deleted |
MEMBER_PERMISSION_RESYNC |
Permission Updated ile birlikte, tüm sunucuya | server_id |
GUILD_MEMBER_ROLES_UPDATE |
Bir üyeye rol atandı veya üyeden rol kaldırıldı | guild_id, member_id, role_id, action |
MEMBER_KICKED |
Bir üye atıldı | server_id, member_id, profile_id, kicked_name, kicker_name |
MEMBER_YOU_WERE_BANNED |
Yasaklanan kullanıcıya | serverId, serverName, reason, expiresAt |
MEMBER_YOU_WERE_TIMED_OUT |
Zaman aşımı verilen kullanıcıya | serverId, timeoutUntil |
MEMBER_TIMEOUT_UPDATED |
Bir üyenin zaman aşımı değişti; sunucuya | serverId, profileId, timeoutUntil |
PROFILE_UPDATE |
Bir kullanıcı profilini düzenledi; sunucularına ve arkadaşlarına | profile_id, name, image_url, bio ve diğer profil alanları |
USER_EQUIPPED_CHANGED |
Kullanıcı kuşandığı bir kozmetiği değiştirdi | profile_id, equipped |
NOTIFICATION_UPDATE |
Okunmamış veya bahsetme toplamları değişti | user_id, server_id, channel_id, server_total_unread, server_total_mention |
DM_SIDEBAR_UPDATE |
Bir özel kanal kenar çubuğunda yer değiştirmeli | channel_id |
DM_CHANNEL_UPDATED |
Bir grup DM'nin adı veya simgesi değişti; alıcılarına | Kanal nesnesi |
AUTH_SESSION_CREATE |
Hesap için yeni bir giriş oturumu oluşturuldu | user_id |
AUTH_SESSION_REVOKE |
Bir giriş oturumu iptal edildi | session_id (onaltılık özet) |
PREMIUM_UPDATE |
Hesabın TEBHOS Pro durumu bir ödemeden sonra değişti | user_id, reason |
BUSINESS_ACTIVATED |
Bir sunucunun işletme planı etkinleşti; sahibine | guild_id, plan, until |
GUILD_BOOST_ADD |
Bir sunucu takviye aldı | guild_id, user_id, name |
CALL_RING |
Kullanıcı bir özel arama için çaldırılıyor | channel_id, call_id, initiator (id, name, image_url) |
CALL_STOP_RING |
Bir özel arama için çaldırma durdu | channel_id, call_id, stopped_by, recipients |
GUILD_VOICE_STATE_UPDATE |
Eski ses durumu yolları üzerinden yazılan bir ses durumu | user_id, server_id, channel_id, susturma, sağırlaştırma ve yayın bayrakları |
GUILD_VOICE_SERVER_MODERATE |
Bir moderatör, eski ses durumu yolları üzerinden kullanıcıyı susturdu veya sağırlaştırdı | server_id, server_mute, server_deaf |
LIVE_ROOM_CHANGED |
Herkese açık bir canlı oda açıldı, değişti veya kapandı; bağlı her kullanıcıya | action, room_id |
LIVE_ROOM_FRIEND_STARTED |
Bir arkadaş canlı oda açtı | Ev sahibi bilgileriyle oda özeti |
LIVE_ROOM_SPEAKER_PROMOTED, LIVE_ROOM_SPEAKER_DEMOTED |
Bir canlı oda konuşmacısı değişti | Oda ve konuşmacı kimlikleri |
LIVE_ROOM_POLL_CREATED, LIVE_ROOM_POLL_VOTE_UPDATED, LIVE_ROOM_POLL_ENDED |
Bir canlı oda anketi değişti | Anket yükü |
Kaynak gösterimi¶
Bu sayfada adı geçen her kaynak nesnesi, HTTP API tarafından tanımlanan gösterime sahiptir. Kaynak nesnesi içeren bir Dispatch yükü aynı alanlara sahiptir; sunucu kapsamlı olaylar guild_id, mesaj ve tepki olayları member ekler.
Aşağıdaki indirgemeler Gateway'e özeldir. Ready, her ilişkiden ve her sunucu üyesinden user alanını çıkarır ve bu hesapları users dizisine taşır. Bir mesaj olayına eklenen member alanının kendi user alanı kaldırılmıştır; hesap mesajın author alanında bulunur.