Ana içeriğe geç

Özel kanallar

Özel kanal, herhangi bir sunucunun dışındaki bir sohbettir. İki hesap arasındaki bir doğrudan mesaj (DM) ya da kendi katılımcı kümesi olan bir grup DM'dir. Her ikisi de kanal nesnesidir; özel kanallara özgü alanlar aşağıda listelenmiştir.

Özel kanalları listele ve Özel kanal oluştur bir kullanıcı oturumunu (Authorization: Bearer <token>) veya bir bot token'ını (Authorization: Bot <token>) kabul eder. Bu sayfadaki diğer tüm yollar yalnızca kullanıcılara açıktır ve geçerli bir bot token'ı orada 403 ACCESS_DENIED ile reddedilir.

Açık olma durumu katılımcıya özeldir

Bir doğrudan mesaj kanalı, bir hesap çifti için yalnızca bir kez var olur ve her katılımcı kendi açık olma durumunu tutar. Bir tarafı kapatmak kanalı ve mesajlarını yerinde bırakır; bu nedenle aynı çift için daha sonra yapılan bir Özel kanal oluştur isteği o kayıtlı kanalı döndürür.

Özel kanal nesnesi

Özel kanal, API'nin geri kalanının kullandığı kanal yapısıyla döndürülür. Bir DM veya grup DM için önemli olan alanlar şunlardır:

Yapı

Alan Tür Açıklama
id snowflake Kanal kimliği
type string HTTP yanıtlarında "DM" veya "GROUP_DM". Gateway Channel Create yükü burada bunun yerine sayısal kodu taşır
channel_type integer Sayısal kanal türü: DM için 1, grup DM için 3
name string Grup DM adı; DM için ve adsız bir grup DM için boş dize
recipients alıcı nesneleri dizisi Çağıran dahil her katılımcı, kimliğe göre sıralı
owner_id? snowflake Grup DM sahibi. DM'de bulunmaz
icon? string Grup DM simgesinin karması. Ayarlanmamışsa bulunmaz
last_message_id? snowflake En son mesajın kimliği. Kanalda mesaj yoksa bulunmaz
last_message? son mesaj nesnesi En son mesajın özeti. Kanalda mesaj yoksa veya en son mesaj silindiyse bulunmaz
last_message_at? ISO8601 timestamp En son mesajın zamanı; kimliğinden türetilir
last_pin_timestamp ?ISO8601 timestamp En son sabitlemenin zamanı veya null
nicks? map[snowflake, string] Kullanıcı kimliğine göre anahtarlanmış grup DM takma adları. Yalnızca en az biri ayarlanmışsa bulunur
created_at ISO8601 timestamp Kanal kimliğinden türetilen oluşturulma zamanı

Nesne, paylaşılan kanal yapısının sunucu kanalı alanlarını da sabit değerlerle taşır (guild_id yok, server_id boş, topic ve parent_id null, is_nsfw false vb.). TEBHOS'ta yaş kısıtlamalı kanal olmadığından is_nsfw her zaman false olur.

Örnek

{
  "id": "1501314428688998182",
  "name": "",
  "type": "DM",
  "channel_type": 1,
  "recipients": [
    { "id": "1501300000000000001", "name": "Aria", "image_url": null },
    { "id": "1501300000000000002", "name": "deniz", "image_url": "3f1c0a9d2b7e4c55" }
  ],
  "last_message_id": "1501320000000000000",
  "last_message": {
    "id": "1501320000000000000",
    "content": "see you tomorrow",
    "sender_id": "1501300000000000002",
    "created_at": "2026-09-20T18:04:11+00:00",
    "deleted": false
  },
  "last_message_at": "2026-09-20T18:04:11+00:00",
  "last_pin_timestamp": null,
  "created_at": "2026-09-01T10:00:00+00:00",
  "locked": false,
  "order": 0,
  "category": "",
  "category_id": null,
  "parent_id": null,
  "topic": null,
  "slow_mode": 0,
  "is_private": false,
  "is_nsfw": false,
  "bitrate": 0,
  "user_limit": 0,
  "server_id": "",
  "permission_overrides": []
}

Özel kanal alıcısı nesnesi

Yapı

Alan Tür Açıklama
id snowflake Katılımcının kullanıcı kimliği
name string Katılımcının global_name değeri; genel ad ayarlanmamışsa username. Hesap çözümlenemiyorsa boş
image_url ?string Katılımcının avatar karması veya null. Görsel URL'sini karmadan kullanıcı nesneleri için açıklandığı şekilde oluşturun

Son mesaj nesnesi

last_message ve Özel kanal mesajlarını önceden yükle tarafından kullanılan, tek bir mesajın kısa özeti.

Yapı

Alan Tür Açıklama
id snowflake Mesaj kimliği
content string Mesaj metni veya boş dize
sender_id snowflake Yazarın kullanıcı kimliği
created_at ISO8601 timestamp Mesajın gönderildiği zaman; kimliğinden türetilir
deleted boolean Her zaman false; silinmiş bir mesaj hiç döndürülmez

Önceden yüklenmiş mesajlar nesnesi

Her iki önceden yükleme işleminin yanıtı. Sabit bir alan kümesi yoktur: her özellik adı istenen bir kanal kimliğidir.

Yapı

Alan Tür Açıklama
{channel_id} ?son mesaj nesnesi Kanaldaki en son mesaj veya null

İstenen her kimlik bir özellik alır. Kimlik sayı değilse, kanal mevcut değilse, DM veya grup DM değilse, çağıran katılımcı değilse, kanalda mesaj yoksa ya da en son mesaj silindiyse değer null olur. Tekrarlanan bir kimlik tek bir özelliğe indirgenir.

Özel kanalları listele

GET /users/@me/channels

Çağıranın açık DM ve grup DM kanallarını döndürür.

Kapatılmış bir DM, kanal ve geçmişi hâlâ var olsa bile listede bulunmaz. Liste en son etkinliğe göre, en yeniden eskiye sıralanır (last_message_id değerine göre; mesajı olmayan bir kanal için kanal kimliğine göre). Sayfalanmaz.

Yanıt

Durum Gövde Koşul
200 nesne Açık özel kanallar döndürüldü

Gövde listeyi bir items alanına sarar:

Alan Tür Açıklama
items özel kanal nesneleri dizisi Çağıranın açık DM'leri ve grup DM'leri

Hız sınırı

user:channels kovasında kimliği doğrulanmış her kullanıcı için 10 saniyede 40 istek; Özel kanal oluştur, Özel kanalı sabitle ve Özel kanalın sabitlemesini kaldır ile paylaşılır.

Özel kanal oluştur

POST /users/@me/channels

Bir hesapla DM açar veya bir grup DM oluşturur. Oluşturulan ya da yeniden açılan kanalı aşağıdaki sade biçimde 200 ile döndürür (eksiksiz özel kanal nesnesi değil).

recipient_ids içindeki kimlik sayısı kanal türünü belirler. Tam olarak bir kimlik bir DM açar. Sıfır dahil diğer tüm sayılar bir grup DM oluşturur: boş bir dizi, tek katılımcısı çağıran olan bir grup DM oluşturur; daha fazla katılımcı sonradan Grup DM alıcısı ekle ile eklenebilir.

JSON gövdesi

Alan Tür Açıklama
recipient_id? snowflake dizesi Bu hesapla DM açar. recipient_id ya da recipient_ids gönderilir, ikisi birlikte gönderilemez (aksi hâlde 400 INVALID_FORM_BODY / INVALID_FORMAT)
recipient_ids? snowflake dizeleri dizisi Çağıran hariç diğer katılımcılar (en fazla 49)
name? string Grup DM adı. Baştaki ve sondaki boşluklar kırpılır; boş değer grubu adsız bırakır. DM için yok sayılır

Kabul

Ortak kurallar:

  • Sayı olmayan bir kimlik 400 BAD_REQUEST döndürür.
  • 49'dan fazla alıcı 400 BAD_REQUEST döndürür. Dolayısıyla bir grup DM, çağıran dahil en fazla 50 katılımcı barındırır.
  • recipient_ids içinde çağıranın kendi kimliği 400 BAD_REQUEST döndürür.

Doğrudan mesaj. Bir arkadaşa her zaman mesaj gönderilebilir. Aksi hâlde iki hesabın en az bir ortak sunucusu olmalı ve her iki hesabın kullanıcı ayarlarında belirlediği doğrudan mesaj kısıtlamaları (sunucuya özel kısıtlamalar dahil) buna izin vermelidir. Ret durumunda 400 CANNOT_SEND_MESSAGES_TO_USER döndürülür. Hiçbir hesaba karşılık gelmeyen bir kimlik de aynı kontrolde başarısız olur.

Grup DM. Her alıcının kullanıcı ayarlarındaki grup DM'ye ekleme izni ayarı çağırana göre kontrol edilir. Alıcının hiç kimseye izin vermediği durum dışında, alıcının bir arkadaşı her zaman geçer; aksi hâlde ayar, arkadaşların arkadaşlarının veya ortak bir sunucunun üyelerinin kabul edilip edilmeyeceğini belirler. Çağıranı reddeden ilk alıcı, isteğin tamamını 403 MISSING_ACCESS ile başarısız kılar. Alıcının ayarı çağıranı kabul ediyorsa arkadaşlık gerekmez.

Yanıt

Durum Gövde Koşul
200 kanal nesnesi (aşağıya bakın) DM veya grup DM oluşturuldu ya da mevcut bir DM yeniden açıldı
400 hata yanıtı Gövde geçersiz, alıcı sayısı veya kümesi geçersiz ya da DM CANNOT_SEND_MESSAGES_TO_USER ile reddedildi
403 hata yanıtı Bir grup DM alıcısının ayarları çağıranı reddediyor (MISSING_ACCESS)

Kanal nesnesi id, sayısal type (1 = DM, 3 = grup DM), last_message_id ve last_pin_timestamp (değer yoksa null) ile recipients alanını taşır; recipients diğer katılımcıları kısmi kullanıcı nesnesi olarak listeler (id, username, discriminator, global_name, avatar, ...; başka katılımcı yoksa alan yoktur). Grup DM ayrıca name (ayarlıysa), icon, owner_id ve nicks (bir takma ad ayarlıysa) taşır.

Yan etkiler

Yeni veya mevcut bir DM'yi açmak, onu yalnızca çağıran için açar ve çağırana Channel Create gönderir. Diğer katılımcının tarafı, kendisi açana veya kanalda bir mesaj gönderilene (bu da onun için kanalı açar) kadar kapalı kalır.

Grup DM oluşturmak çağıranı sahibi yapar, katılımcı kümesinin tamamını ekler ve her katılımcıya Channel Create gönderir. Ardından diğer her alıcı için çağıran tarafından yazılmış bir RECIPIENT_ADD sistem mesajı oluşturur ve her biri için Message Create gönderir. İlk oluşturma, daha sonra eklenen alıcılara ayrılmış olan Channel Recipient Add olayını göndermez. Boş bir diziden oluşturulan grup DM hiçbir sistem mesajı üretmez.

TEBHOS'ta desteklenmez

Grup DM oluşturma CAPTCHA kullanmaz ve açık grup DM sayısı için hesap başına bir üst sınır yoktur.

Hız sınırı

user:channels kovasında kimliği doğrulanmış her kullanıcı için 10 saniyede 40 istek; Özel kanalları listele, Özel kanalı sabitle ve Özel kanalın sabitlemesini kaldır ile paylaşılır.

recipient_ids tam olarak bir kimlik içermeyen bir istek ayrıca user:group_dm:create kovasından da tüketir: kimliği doğrulanmış her kullanıcı için saatte 10 istek.

Özel kanalı kapat

DELETE /users/@me/channels/{channel_id}

Bir DM veya grup DM'yi yalnızca çağıran için kapatır. Boş bir gövdeyle 204 döndürür.

Kanala, mesajlarına ve diğer katılımcılara dokunulmaz; bir grup DM'yi kapatmak ondan ayrılmak anlamına gelmez. Kanal, çağıran onu Özel kanal oluştur ile yeniden açana ya da bir DM için içinde yeni bir mesaj gönderilene kadar çağıranın Özel kanalları listele sonucunda görünmez. Bir grup DM'den ayrılmak için kendinizi Grup DM alıcısını kaldır ile çıkarın.

Yol parametreleri

Alan Tür Açıklama
channel_id snowflake DM veya grup DM kimliği

Yanıt

Durum Gövde Koşul
204 boş Kanal çağıran için kapatıldı
400 hata yanıtı channel_id sayı değil
404 hata yanıtı Kanal mevcut değil veya çağıran katılımcı değil (NOT_FOUND)

Yan etkiler

Channel Delete, id, channel_id ve sayısal type ile çağıranın kendi oturumlarına ulaşır; böylece diğer cihazlar kanalı listelerinden çıkarır. Başka hiçbir katılımcı bir gönderim (Dispatch) almaz.

Özel kanal mesajlarını önceden yükle

POST /users/@me/preload-messages

İstenen her özel kanalın en son mesajını tutan önceden yüklenmiş mesajlar nesnesini döndürür.

TEBHOS istenen her kanalı bağımsız olarak çözümler; bilinmeyen bir kanalı, çağıranın katılımcısı olmadığı bir kanalı veya eksik bir mesajı o kanal için null olarak bildirir. İstek yine de 200 ile yanıtlanır; bu nedenle çağıranın göremediği bir kanal, geçmişi boş olan bir kanaldan ayırt edilemez.

JSON gövdesi

Alan Tür Açıklama
channels snowflake dizeleri dizisi Önceden yüklenecek özel kanallar (en fazla 100)

channels zorunludur. Boş bir dizi boş bir nesne döndürür; 100'den fazla öğe ise herhangi bir kanal okunmadan önce 400 BAD_REQUEST döndürür.

Yanıt

Durum Gövde Koşul
200 önceden yüklenmiş mesajlar nesnesi İstenen kanallar çözümlendi
400 hata yanıtı channels eksik veya 100'den fazla öğe içeriyor

Yan etkiler

Bu okuma hiçbir mesajı okundu olarak işaretlemez ve çağıranın okuma durumunu değiştirmez.

Hız sınırı

user:preload_messages kovasında kimliği doğrulanmış her kullanıcı için 10 saniyede 40 istek; Özel kanal mesajlarını diğer adla önceden yükle ile paylaşılır.

Özel kanal mesajlarını diğer adla önceden yükle

POST /users/@me/channels/messages/preload

Özel kanal mesajlarını önceden yükle için bir diğer ad. İstek gövdesi, yanıt, yetkilendirme ve hız sınırı kovası aynıdır; iki yol tek bir kotayı paylaşır.

Sabitlenmiş özel kanalları listele

GET /users/@me/pinned-dms

Çağıranın sabitlenmiş DM ve grup DM kimliklerini sabitleme sırasıyla döndürür.

Yanıt

Durum Gövde Koşul
200 sabitlenmiş kanallar nesnesi Sabitleme sırası döndürüldü; boş olabilir

Sabitlenmiş kanallar nesnesi

Yapı

Alan Tür Açıklama
channels snowflake dizeleri dizisi Sabitleme sırasıyla sabitlenmiş kanal kimlikleri

Örnek

{
  "channels": ["1501314428688998182", "1501314428688998190"]
}

Özel kanalı sabitle

PUT /users/@me/channels/{channel_id}/pin

Bir kanalı çağıranın sabitleme sırasına ekler. Ortaya çıkan sabitlenmiş kanallar nesnesini döndürür. Bir User Pinned DMs Update Gateway olayı gönderir.

Yeni sabitlenen kanal, zaten sabitlenmiş tüm kanalların sonuna eklenir. Zaten sabitlenmiş bir kanalı sabitlemek sırayı değiştirmez; yine de 200 döndürür ve gönderimi (Dispatch) yapar. Daha sonra kapatılan, ayrılınan veya silinen bir kanal, sabitlemesi kaldırılana kadar sabitlenmiş kümede kalır.

Kanal doğrulanmaz

TEBHOS, channel_id değerinin çağıranın katılımcısı olduğu mevcut bir DM'yi veya grup DM'yi gösterip göstermediğini kontrol etmez. Yalnızca Özel kanalları listele veya Gateway üzerinden alınan kimlikleri sabitleyin.

Yol parametreleri

Alan Tür Açıklama
channel_id snowflake DM veya grup DM kimliği

Yanıt

Durum Gövde Koşul
200 sabitlenmiş kanallar nesnesi Kanal sabitlenmiş kümede bulunuyor
400 hata yanıtı channel_id sayı değil (BAD_REQUEST)

Yan etkiler

Kanal çağıranın sabitleme sırasının sonuna eklenir ve User Pinned DMs Update yalnızca çağırana ulaşır. Yükü, ortaya çıkan sıranın tamamını bir channels dizisinde tutan aynı sabitlenmiş kanallar nesnesidir. Kanalın kendisi değiştirilmez ve başka hiçbir katılımcı çağıranın sabitleme sırasını göremez.

Hız sınırı

user:channels kovasında kimliği doğrulanmış her kullanıcı için 10 saniyede 40 istek; Özel kanalları listele, Özel kanal oluştur ve Özel kanalın sabitlemesini kaldır ile paylaşılır.

Özel kanalın sabitlemesini kaldır

DELETE /users/@me/channels/{channel_id}/pin

Bir kanalı çağıranın sabitleme sırasından çıkarır. Ortaya çıkan sabitlenmiş kanallar nesnesini döndürür. Bir User Pinned DMs Update Gateway olayı gönderir.

Sabitlemeyi kaldırmak, kalan tüm kanalların göreli sırasını korur; daha sonraki bir sabitleme sona eklenir. Kanalın var olması gerekmez; bu nedenle silinmiş bir kanala ait girdi her zaman kaldırılabilir. Sabitlenmemiş bir kanalın sabitlemesini kaldırmak da 200 döndürür ve aynı gönderimi yapar.

Yol parametreleri

Alan Tür Açıklama
channel_id snowflake DM veya grup DM kimliği

Yanıt

Durum Gövde Koşul
200 sabitlenmiş kanallar nesnesi Kanal sabitlenmiş kümede bulunmuyor
400 hata yanıtı channel_id sayı değil (BAD_REQUEST)

Yan etkiler

Kanal çağıranın sabitleme sırasından çıkarılır ve User Pinned DMs Update, ortaya çıkan sıranın tamamıyla yalnızca çağırana ulaşır. Kanalın kendisi kapatılmaz veya silinmez ve katılımcıları hiçbir gönderim almaz.

Hız sınırı

user:channels kovasında kimliği doğrulanmış her kullanıcı için 10 saniyede 40 istek; Özel kanalları listele, Özel kanal oluştur ve Özel kanalı sabitle ile paylaşılır.