Hız sınırları¶
TEBHOS, HTTP API trafiğini işlem başına kovalar ve tek bir genel kova ile sınırlar. Kova, belirli bir zaman penceresinde izin verilen istek miktarıdır. Bu miktarı aşan istek 429 ile reddedilir; code alanı RATE_LIMITED olur ve yanıtta bir hız sınırı yanıt nesnesi ile hız sınırı başlıkları bulunur.
Kovalar nasıl çalışır¶
Her kova bir sızdıran kovadır (leaky bucket). Aynı anda en fazla kendi sınırı kadar isteği kabul eder, ardından pencere başına limit istek hızıyla sürekli boşalır. İzin verilen miktarı tüketen bir istemci, bunun yeterli bir kısmı boşalır boşalmaz yeniden istek gönderebilir; pencerenin tamamını beklemesi gerekmez.
Örneğin channel:message:create kovasının sınırı 10 saniyede 20'dir. Bir istemci art arda 20 mesaj gönderebilir; bundan sonra yaklaşık her 0,5 saniyede bir mesaj daha kabul edilir.
Başlıklar ve gövde farklı anları bildirir
X-RateLimit-Reset ve X-RateLimit-Reset-After, kovanın tamamen boşalacağı anı bildirir. Gövdedeki retry_after ise bir isteğin daha kabul edileceği daha kısa gecikmeyi bildirir. Yeniden denemeden önce retry_after kadar bekleyin.
Kovalar ve anahtarlar¶
Çoğu işlem adlandırılmış bir kovayı denetler. Kova adının kendisi istemcilere gönderilmez; X-RateLimit-Bucket bu adın 16 karakterlik, sabit, onaltılık bir özetini taşır. Böylece istemci hangi işlemlerin aynı izin miktarını paylaştığını ayırt edebilir.
Her kova bir kimliğe göre anahtarlanır; dolayısıyla farklı çağıranların ayrı izin miktarları vardır. Anahtar işleme göre değişir ve kova tablolarında listelenir:
| Anahtar | Anlamı |
|---|---|
| Hesap | Kimliği doğrulanmış kullanıcı veya bot |
| Hesap + kanal, Hesap + sunucu | Çağıran ile yoldaki kanal veya sunucu. Bir kanalda hızlı mesaj göndermek başka bir kanalı yavaşlatmaz |
| İstemci | Gönderilmişse Authorization başlığı, gönderilmemişse istemcinin IP adresi |
| IP | İstemcinin IP adresi. IPv4 adresleri olduğu gibi kullanılır; IPv6 adresleri /64 ağlarına göre gruplanır |
| Kaynak | Yalnızca yoldaki kaynak; tüm çağıranlar tarafından paylaşılır (webhook'lar) |
Bir bot ile sahibi farklı hesaplardır ve hiçbir zaman izin miktarı paylaşmaz.
Bazı işlemler birden fazla kovayı denetler; örneğin giriş (IP başına ve gönderilen giriş adı başına) ve grup DM oluşturma (DM kovası ile saatlik grup kovası). İstek, tüm kovalardan geçmelidir.
Bir 429, bir 401 veya 403'ü gizleyebilir
Kovalar erken aşamada denetlenir. Kimlik bilgileri veya izinleri reddedilecek bir istek, kovası tükenmişse yine de 429 alabilir.
Genel sınır¶
/api/v1 altındaki her istek, istemci başına saniyede 50 istek sınırlı genel bir kovaya da sayılır. İstemci Authorization başlığıyla, bu başlığı göndermiyorsa IP adresiyle tanımlanır.
Şu istekler genel kovaya sayılmaz:
- CORS ön uçuş (
OPTIONS) istekleri. - Avatarlar, simgeler ve ekler gibi herkese açık medya için yapılan
GETveHEADistekleri. Authorizationbaşlığı olmadan gönderilenGETveHEADistekleri.- Webhook yürütme (
POST /webhooks/{webhook_id}/{token}ve entegrasyon varyantları) ile webhook mesajı okuma, düzenleme ve silme yolları. Bunların webhook başına kendi kovaları vardır.
Genel bir reddin gövdesinde global: true ve yanıtta X-RateLimit-Global: true başlığı bulunur. Genel red, kimlik bilgisini hiçbir zaman iptal etmez.
Hız sınırı yanıt nesnesi¶
429 gövdesi, sıradan hata yanıtının üyelerini ve iki ek üyeyi içerir.
| Alan | Tür | Açıklama |
|---|---|---|
code |
string | RATE_LIMITED |
message |
string | Bekleme süresini tam saniye olarak içeren, insanın okuyabileceği metin; yerelleştirilmiş olabilir |
error |
string | "429 Too Many Requests" |
global |
boolean | Reddin genel kovadan gelip gelmediği |
retry_after |
number | Bir isteğin daha kabul edilmesinden önceki, kesirli saniye cinsinden gecikme; hiçbir zaman 0.001'in altında değildir |
{
"error": "429 Too Many Requests",
"code": "RATE_LIMITED",
"message": "Hız sınırlamasına takıldın. 1 saniye sonra tekrar dene.",
"global": false,
"retry_after": 0.428
}
Yavaş mod reddi ise bunun yerine 400 SLOWMODE_RATE_LIMITED ile yanıt verir.
Hız sınırı başlıkları¶
TEBHOS hız sınırı başlıklarını yalnızca 429 yanıtında gönderir. Başarılı bir yanıt bu başlıkların hiçbirini taşımaz; bu nedenle kendi istek hızınızı izleyin ya da doğrudan 429'u işleyin.
| Başlık | Ne zaman gönderilir | Açıklama |
|---|---|---|
Retry-After |
Her 429 | Yukarı yuvarlanmış, tam saniye cinsinden gecikme; hiçbir zaman 1'in altında değildir |
X-RateLimit-Scope |
Her 429 | Kova reddinde user, genel redde global |
X-RateLimit-Global |
Genel 429 | Sabit true değeri |
X-RateLimit-Limit |
Kova 429'u | Kovanın kapasitesi |
X-RateLimit-Remaining |
Kova 429'u | Redde her zaman 0 |
X-RateLimit-Reset |
Kova 429'u | Kovanın tamamen boşalacağı, saniye cinsinden Unix zamanı |
X-RateLimit-Reset-After |
Kova 429'u | Kovanın tamamen boşalmasına kalan, kesirli saniye |
X-RateLimit-Bucket |
Kova 429'u | Kovanın (çağıranın değil) 16 karakterlik, sabit, onaltılık tanımlayıcısı |
API bu başlıkları farklı kökenden (cross-origin) çalışan tarayıcı istemcilerine açar; böylece bir web istemcisi bunları okuyabilir. En kesin değer yine gövdedeki retry_after alanıdır.
HTTP/1.1 429 Too Many Requests
Retry-After: 1
X-RateLimit-Scope: user
X-RateLimit-Limit: 20
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1790000010
X-RateLimit-Reset-After: 9.5
X-RateLimit-Bucket: 5f0c1d2e3a4b5c6d
Content-Type: application/json
Hız sınırlarını işleme¶
async function tebhosFetch(url, init, attempts = 5) {
for (let i = 0; i < attempts; i++) {
const res = await fetch(url, init);
if (res.status !== 429) return res;
const body = await res.json().catch(() => ({}));
const waitSeconds = body.retry_after ?? Number(res.headers.get("Retry-After") ?? 1);
await new Promise((r) => setTimeout(r, waitSeconds * 1000));
}
throw new Error("Rate limited too many times");
}
import time, requests
def tebhos_request(method, url, attempts=5, **kwargs):
for _ in range(attempts):
res = requests.request(method, url, **kwargs)
if res.status_code != 429:
return res
try:
wait = res.json().get("retry_after")
except ValueError:
wait = None
time.sleep(wait or float(res.headers.get("Retry-After", 1)))
raise RuntimeError("Rate limited too many times")
Yavaş mod¶
Yavaş mod, bir hesabın bir sunucu kanalında ne sıklıkla mesaj gönderebileceğini sınırlar. İzin miktarı, kanalda yapılandırılan rate_limit_per_user saniyede bir mesajdır ve her hesap ile kanal için ayrı sayılır. Yalnızca aralığı sıfırdan büyük olan sunucu kanallarında geçerlidir; BYPASS_SLOWMODE iznine sahip bir üye (sunucu sahibi ve ADMINISTRATOR dahil) bundan muaftır.
Reddedilen bir gönderim 429 değil 400 SLOWMODE_RATE_LIMITED döndürür; gövdenin en üst düzeyinde kesirli saniye cinsinden bir retry_after ve tam saniye cinsinden bir Retry-After başlığı bulunur. Hiçbir X-RateLimit-* başlığı yoktur; bu sayede istemci, durum kodu ve hata koduna bakarak bunu bir kova reddinden ayırt edebilir.
{
"error": "400 Bad Request",
"code": "SLOWMODE_RATE_LIMITED",
"message": "Yavaş mod hız sınırı.",
"retry_after": 3.2
}
400 ile yanıt veren sınırlar¶
Profil alanı değişiklikleri alan başına 30 dakikada 25 değişiklik ile sınırlıdır. Sınır, hesap profiline ve her sunucu üyesi profiline ayrı ayrı uygulanır. Red, errors içinde code değeri alanı belirten tek bir girişle 400 INVALID_FORM_BODY döndürür. retry_after ve hız sınırı başlığı yoktur; kalan bekleme süresi yalnızca insanın okuyabileceği message içinde görünür.
| Alan | Doğrulama kodu |
|---|---|
| Biyografi | BIO_CHANGED_TOO_MANY_TIMES |
| Zamirler | PRONOUNS_CHANGED_TOO_MANY_TIMES |
| Vurgu rengi | ACCENT_COLOR_CHANGED_TOO_MANY_TIMES |
| Avatar | AVATAR_CHANGED_TOO_MANY_TIMES |
| Afiş | BANNER_CHANGED_TOO_MANY_TIMES |
Kova başvurusu¶
Aşağıdaki tablolar her kovayı sınırı, penceresi ve anahtarıyla birlikte listeler. Sınırlar API'de sabittir ve her hesaba uygulanır; hesap başına muafiyet yoktur. Hız sınırlaması yalnızca yerel geliştirme derlemesinde kapatılabilir, üretim örneğinde (instance) asla kapatılamaz.
Kimlik doğrulama¶
| Kova | Sınır | Pencere | Anahtar | İşlemler |
|---|---|---|---|---|
auth:login |
10 | 10 s | IP | Giriş yapma |
auth:login:email |
5 | 15 min | Gönderilen giriş adı | Giriş yapma |
login:ip |
10 | 30 min | IP | Giriş yapma |
auth:login:mfa |
5 | 60 s | IP | TOTP, yedek kod, SMS veya WebAuthn ile girişi tamamlama ve WebAuthn MFA seçeneklerini alma |
auth:login:mfa:sms:send |
3 | 60 s | IP | SMS giriş kodu gönderme |
auth:register |
10 | 10 s | IP | Kayıt olma, kullanıcı adı önerileri alma |
registration:email |
3 | 15 min | Gönderilen e-posta | Kayıt olma |
registration:ip |
3 | 1 h | IP | Kayıt olma |
registration:subnet |
15 | 1 h | IPv4 /24 veya IPv6 /48 |
Kayıt olma |
auth:send-verification |
3 | 3 min | IP | Kayıt doğrulama kodu gönderme |
auth:send-verification-email |
1 | 60 s | Gönderilen e-posta | Kayıt doğrulama kodu gönderme |
auth:check-email |
20 | 60 s | IP | E-posta uygunluğunu denetleme |
auth:check-username |
20 | 60 s | IP | Kullanıcı adı uygunluğunu denetleme |
auth:forgot |
5 | 60 s | IP | Parola kurtarma isteme |
password_reset:ip |
20 | 30 min | IP | Parola kurtarma isteme |
password_reset:email |
5 | 30 min | Gönderilen e-posta | Parola kurtarma isteme |
auth:reset:validate |
20 | 60 s | IP | Parola sıfırlama token'ını doğrulama |
auth:reset |
10 | 60 s | IP | Parola sıfırlama |
auth:verify |
10 | 60 s | IP | E-posta adresini doğrulama |
auth:email_revert |
10 | 60 s | IP | E-posta değişikliğini geri alma |
auth:authorize_ip |
5 | 60 s | IP | Yeni bir giriş konumunu yetkilendirme |
auth:ip_authorization_resend |
5 | 60 s | IP | Konum yetkilendirme e-postasını yeniden gönderme |
auth:ip_authorization_poll |
60 | 60 s | IP | Konum yetkilendirmesini yoklama |
auth:webauthn:options |
20 | 10 s | IP | Geçiş anahtarı (passkey) giriş seçeneklerini alma |
auth:webauthn:authenticate |
10 | 10 s | IP | Geçiş anahtarıyla giriş yapma |
auth:sso:start |
10 | 10 s | IP | Çoklu oturum açma durumunu alma, çoklu oturum açmayı başlatma |
auth:sso:complete |
15 | 10 s | IP | Çoklu oturum açmayı tamamlama |
auth:handoff:initiate |
10 | 60 s | İstemci | Masaüstü giriş devrini başlatma |
auth:handoff:info |
10 | 60 s | İstemci | Devir bilgisini alma |
auth:handoff:complete |
10 | 60 s | İstemci | Devri tamamlama |
auth:handoff:cancel |
10 | 60 s | İstemci | Devri iptal etme |
auth:handoff:status |
60 | 60 s | İstemci | Devir durumunu yoklama |
auth:logout |
20 | 10 s | İstemci | Çıkış yapma |
auth:sessions |
40 | 10 s | Hesap | Oturumları listeleme |
auth:sessions:logout |
20 | 10 s | Hesap | Bir, birkaç, diğer veya tüm oturumları sonlandırma |
auth:sudo |
5 | 10 s | IP | Sudo yetkisi oluşturma |
auth:sudo_pwd |
10 | 5 min | Hesap | Parola ile sudo doğrulaması |
auth:sudo_mfa |
10 | 15 min | Hesap | MFA ile sudo doğrulaması |
sudo:mfa:methods |
20 | 60 s | Hesap | Sudo yöntemlerini listeleme |
sudo:webauthn:options |
10 | 60 s | Hesap | Geçiş anahtarı sudo seçeneklerini alma |
auth:pk_assert |
10 | 5 min | Hesap | Sudo için geçiş anahtarı doğrulaması |
Hesap güvenliği¶
| Kova | Sınır | Pencere | Anahtar | İşlemler |
|---|---|---|---|---|
user:email_change:start |
10 | 60 s | Hesap | E-posta değişikliğini başlatma |
email_change:orig / auth:emailchg_start |
3 | 15 min | Hesap | E-posta değişikliğini başlatma, kodu özgün adrese yeniden gönderme |
user:email_change:resend_original |
10 | 60 s | Hesap | Kodu özgün adrese yeniden gönderme |
user:email_change:verify_original |
20 | 60 s | Hesap | Özgün adresi doğrulama |
user:email_change:request_new |
10 | 60 s | Hesap | Yeni adresi isteme |
user:email_change:resend_new |
10 | 60 s | Hesap | Kodu yeni adrese yeniden gönderme |
email_change:new / auth:emailchg_new |
5 | 15 min | Hesap | Yeni adresi isteme, yeni kodu yeniden gönderme, geri dönen adres kurtarma gönderimleri |
user:email_change:verify_new |
20 | 60 s | Hesap | Yeni adresi doğrulama |
user:email_change:apply |
20 | 60 s | Hesap | E-posta değişikliğini tamamlama |
user:email_change:bounced:request_new |
10 | 60 s | Hesap | Geri dönen e-posta: yeni adres isteme |
user:email_change:bounced:resend_new |
10 | 60 s | Hesap | Geri dönen e-posta: yeni kodu yeniden gönderme |
user:email_change:bounced:verify_new |
20 | 60 s | Hesap | Geri dönen e-posta: yeni adresi doğrulama |
user:password_change:start |
10 | 60 s | Hesap | Parola değişikliğini başlatma |
auth:pwdchg_start |
3 | 15 min | Hesap | Parola değişikliğini başlatma |
user:password_change:resend |
10 | 60 s | Hesap | Parola değişikliği kodunu yeniden gönderme |
auth:pwdchg_resend / password_change:resend |
3 | 15 min | Hesap | Parola değişikliği kodunu yeniden gönderme |
user:password_change:verify |
20 | 60 s | Hesap | Parola değişikliği kodunu doğrulama |
user:password_change:complete |
10 | 60 s | Hesap | Parola değişikliğini tamamlama |
user:mfa:totp:enable |
10 | 60 s | Hesap | TOTP'yi etkinleştirme, TOTP kodunu doğrulama |
user:mfa:totp:disable |
10 | 60 s | Hesap | TOTP'yi devre dışı bırakma |
user:mfa:backup_codes |
6 | 60 s | Hesap | Yedek kodları listeleme veya yeniden oluşturma |
mfa:webauthn:list |
40 | 10 s | Hesap | Geçiş anahtarlarını ve WebAuthn kimlik bilgilerini listeleme |
mfa:webauthn:registration_options |
20 | 10 s | Hesap | Geçiş anahtarı kayıt seçeneklerini alma |
mfa:webauthn:register |
10 | 60 s | Hesap | Geçiş anahtarı kaydetme |
mfa:webauthn:update |
20 | 10 s | Hesap | Geçiş anahtarını yeniden adlandırma |
mfa:webauthn:delete |
10 | 60 s | Hesap | Geçiş anahtarını silme |
phone:send_verification |
5 | 60 s | Hesap | SMS ile iki adımlı doğrulamaya kaydolma veya kodu yeniden gönderme |
phone:verify_code |
10 | 60 s | Hesap | Telefon veya SMS iki adımlı doğrulama kodunu doğrulama |
user:authorized_ips:forget |
10 | 60 s | Hesap | Yetkilendirilmiş giriş konumlarını unutma |
user:account:disable |
5 | 1 h | Hesap | Hesabı devre dışı bırakma |
user:account:delete |
5 | 1 h | Hesap | Hesabı silme |
user:data:harvest |
5 | 30 min | Hesap | Veri dışa aktarımı isteme |
user:harvest:status |
40 | 10 s | Hesap | Veri dışa aktarımını alma |
user:harvest:latest |
40 | 10 s | Hesap | En son veri dışa aktarımını alma |
user:harvest:download |
10 | 60 s | Hesap | Veri dışa aktarımını indirme |
profile:purge |
3 | 1 h | Hesap | Kişinin kendi mesajlarının tümünü silme |
user:messages:bulk_delete_mine_filtered |
5 | 30 min | Hesap | Kişinin kendi mesajlarını filtreyle silme |
Kullanıcılar ve ilişkiler¶
| Kova | Sınır | Pencere | Anahtar | İşlemler |
|---|---|---|---|---|
user:read |
100 | 10 s | İstemci + hedef kullanıcı | Kullanıcı alma |
user:profile |
100 | 10 s | Hesap + hedef kullanıcı | Kullanıcı profili alma |
user:update |
20 | 60 s | Hesap | Geçerli kullanıcı profilini değiştirme, koşulları kabul etme |
username_change |
5 | 3 h | Hesap | Kullanıcı adını değiştirme |
user:check_tag |
60 | 10 s | Hesap | Etiket uygunluğunu denetleme |
user:settings:get |
40 | 10 s | Hesap | Geçerli kullanıcıyı alma, kullanıcı ayarlarını alma |
user:settings:update |
20 | 10 s | Hesap | Kullanıcı ayarlarını değiştirme, ses etkinliği paylaşımını değiştirme |
user:guild_settings:update |
30 | 10 s | Hesap | Sunucu başına bildirim ayarlarını değiştirme |
user:notes:read |
60 | 10 s | Hesap | Kullanıcı notlarını listeleme ve alma |
user:notes:write |
40 | 10 s | Hesap | Kullanıcı notu ayarlama |
user:relationships:list |
40 | 10 s | Hesap | İlişkileri listeleme |
user:friend_request:send |
10 | 60 s | Hesap | Kullanıcı adı veya kimlikle arkadaşlık isteği gönderme |
user:friend_request:accept |
20 | 10 s | Hesap | Arkadaşlık isteğini kabul etme, ilişkiyi değiştirme |
user:relationship:update |
30 | 10 s | Hesap | Arkadaş takma adı ayarlama |
user:relationship:delete |
30 | 10 s | Hesap | İlişkiyi kaldırma |
relationship:bulk_ignore |
5 | 60 s | Hesap | Arkadaşlık isteklerini toplu yok sayma |
user:channels |
40 | 10 s | Hesap | Özel kanalları listeleme ve açma, DM'leri sabitleme ve sabitlemeyi kaldırma |
user:group_dm:create |
10 | 1 h | Hesap | Grup DM oluşturma (user:channels kovasına ek olarak) |
user:group_dm:recipient:add |
10 | 1 h | Hesap | Grup DM alıcısı ekleme (channel:update kovasına ek olarak) |
user:preload_messages |
40 | 10 s | Hesap | DM mesajlarını önceden yükleme |
user:mentions:read |
40 | 10 s | Hesap | Son bahsetmeleri listeleme |
user:mentions:delete |
60 | 10 s | Hesap | Bir veya tüm bahsetmeleri kapatma |
user:saved_messages:read |
40 | 10 s | Hesap | Kaydedilmiş mesajları listeleme |
user:saved_messages:write |
30 | 10 s | Hesap | Mesajları kaydetme ve kayıttan çıkarma |
user:push:list |
40 | 10 s | Hesap | Anlık bildirim aboneliklerini ve cihazları listeleme |
user:push:subscribe |
20 | 60 s | Hesap | Abone olma, döndürme, mobil cihaz kaydetme |
user:push:unsubscribe |
40 | 60 s | Hesap | Abonelikten çıkma, cihaz kaldırma |
user:entrance_sound:list |
30 | 60 s | Hesap | Giriş seslerini listeleme |
user:entrance_sound:upload |
5 | 5 min | Hesap | Giriş sesi yükleme |
user:entrance_sound:mutate |
20 | 60 s | Hesap | Giriş sesini yeniden adlandırma, silme veya seçme |
voice:entrance_sound:play |
3 | 30 s | Hesap + kanal | Giriş sesini çalma |
favorite_meme:list |
60 | 10 s | Hesap | Kaydedilmiş medyayı listeleme |
favorite_meme:get |
100 | 10 s | Hesap | Kaydedilmiş medyayı alma |
favorite_meme:update |
30 | 10 s | Hesap | Kaydedilmiş medyayı değiştirme |
favorite_meme:delete |
30 | 10 s | Hesap | Kaydedilmiş medyayı silme |
connection:list |
60 | 60 s | Hesap | Bağlantıları listeleme |
connection:create |
5 | 60 s | Hesap | Bağlantı başlatma, Bluesky bağlantısını yetkilendirme |
connection:verify |
5 | 60 s | Hesap | Bağlantıyı doğrulama |
connection:verify_and_create |
5 | 60 s | Hesap | Bağlantıyı doğrulama ve oluşturma |
connection:update |
30 | 60 s | Hesap | Bağlantıları değiştirme ve yeniden sıralama |
connection:delete |
10 | 60 s | Hesap | Bağlantıyı silme |
theme:share:create |
20 | 60 s | İstemci | Tema paylaşma |
Kanallar ve mesajlar¶
| Kova | Sınır | Pencere | Anahtar | İşlemler |
|---|---|---|---|---|
channel:read |
100 | 10 s | Hesap + kanal | Kanal alma, yavaş mod durumunu alma, ses bölgelerini listeleme |
channel:update |
20 | 10 s | Hesap + kanal | Kanalı değiştirme, izin geçersiz kılma ayarlama veya silme, grup DM alıcısı ekleme veya kaldırma |
channel:delete |
20 | 10 s | Hesap + kanal | Kanalı silme veya kapatma |
guild:channel:create |
10 | 60 s | Hesap + sunucu | Sunucu kanalı oluşturma |
channel:messages:read |
100 | 10 s | Hesap + kanal | Kanal mesajlarını listeleme |
channel:message:read |
100 | 10 s | Hesap + kanal | Mesaj alma |
channel:messages:bulk_read |
20 | 10 s | Hesap | Birkaç kanaldan mesaj getirme |
channel:message:create |
20 | 10 s | Hesap + kanal | Mesaj oluşturma |
channel:message:update |
20 | 10 s | Hesap + kanal | Mesaj düzenleme |
channel:message:delete |
20 | 10 s | Hesap + kanal | Mesaj silme, ek silme |
channel:message:bulk_delete |
10 | 10 s | Hesap + kanal | Mesajları toplu silme, kişinin kendi mesajlarını toplu silme |
channel:message:purge |
2 | 60 s | Hesap + kanal | Kişisel notları temizleme |
channel:message:ack |
100 | 10 s | Hesap + kanal | Mesajı okundu olarak işaretleme |
read_state:ack_bulk |
20 | 10 s | Hesap | Birkaç kanalı okundu olarak işaretleme |
channel:read_state:delete |
40 | 10 s | Hesap + kanal | Okunma durumunu temizleme |
channel:pins |
20 | 10 s | Hesap + kanal | Sabitlemeleri listeleme, sabitleme, sabitlemeyi kaldırma, sabitlemeleri okundu işaretleme |
channel:reactions |
30 | 10 s | Hesap + kanal | Tepki ekleme, kaldırma ve listeleme |
channel:typing |
20 | 10 s | Hesap + kanal | Yazıyor göstergesini tetikleme |
channel:attachment:upload |
10 | 10 s | Hesap + kanal | Ek yükleme URL'leri isteme, çok parçalı yüklemeleri tamamlama |
search:messages |
20 | 10 s | Hesap | Mesaj arama |
channel:call:get |
60 | 10 s | Hesap + kanal | Arama uygunluğunu alma |
channel:call:ring |
5 | 10 s | Hesap + kanal | Arama alıcılarını çaldırma |
channel:call:stop_ringing |
20 | 10 s | Hesap + kanal | Çaldırmayı durdurma |
channel:call:update |
10 | 10 s | Hesap + kanal | Aramayı güncelleme veya sonlandırma |
voice:state |
120 | 60 s | Hesap | Ses durumunu güncelleme |
channel:stream:update |
20 | 10 s | Hesap + yayın | Yayın bölgesini güncelleme |
channel:stream:preview:get |
60 | 10 s | Hesap + yayın | Yayın önizlemesini alma |
stream:preview:upload_url |
20 | 10 s | Yayın | Yayın önizlemesi yükleme URL'si oluşturma |
stream:preview:post |
20 | 10 s | Yayın | Yayın önizlemesi yükleme |
stream:preview:delete |
20 | 10 s | Yayın | Yayın önizlemesini silme |
Sunucular¶
| Kova | Sınır | Pencere | Anahtar | İşlemler |
|---|---|---|---|---|
guild:list |
40 | 10 s | Hesap | Geçerli kullanıcının sunucularını listeleme |
guild:create |
10 | 60 s | Hesap | Sunucu oluşturma |
guild:read |
100 | 10 s | Hesap + sunucu | Sunucu alma |
guild:update |
20 | 10 s | Hesap + sunucu | Sunucuyu değiştirme, sahipliği devretme |
guild:delete |
10 | 60 s | Hesap + sunucu | Sunucuyu silme |
guild:leave |
10 | 10 s | Hesap + sunucu | Sunucudan ayrılma, kişinin bir sunucudaki kendi mesajlarını silme |
guild:channels:list |
60 | 10 s | Hesap + sunucu | Sunucu kanallarını listeleme |
guild:channel:positions |
30 | 10 s | Hesap + sunucu | Kanal konumlarını değiştirme |
guild:members |
40 | 10 s | Hesap + sunucu | Üyeleri listeleme, alma ve arama, yasaklamaları listeleme |
guild:member:update |
20 | 10 s | Hesap + sunucu | Üyeyi değiştirme, geçerli üyeyi değiştirme |
guild:member:remove |
20 | 10 s | Hesap + sunucu | Atma, yasaklama, yasağı kaldırma |
guild:member:role:add |
20 | 10 s | İstemci + sunucu | Üyeye rol ekleme |
guild:member:role:remove |
20 | 10 s | Hesap + sunucu | Üyeden rol kaldırma |
guild:role:list |
60 | 10 s | Hesap + sunucu | Rolleri listeleme |
guild:role:create |
10 | 60 s | Hesap + sunucu | Rol oluşturma |
guild:role:update |
20 | 10 s | Hesap + sunucu | Rolü değiştirme |
guild:role:delete |
10 | 60 s | Hesap + sunucu | Rolü silme |
guild:role:positions |
20 | 10 s | Hesap + sunucu | Rol konumlarını değiştirme |
guild:role:hoist_positions |
20 | 10 s | Hesap + sunucu | Rol ayrı gösterme konumlarını değiştirme |
guild:role:hoist_positions_reset |
10 | 60 s | Hesap + sunucu | Rol ayrı gösterme konumlarını sıfırlama |
guild:audit_logs |
20 | 10 s | Hesap + sunucu | Denetim kaydı girişlerini listeleme |
guild:vanity_url:get |
100 | 10 s | Hesap + sunucu | Özel URL'yi alma |
guild:vanity_url:patch |
10 | 60 s | İstemci + sunucu | Özel URL'yi değiştirme |
guild:emojis:list |
60 | 10 s | Hesap + sunucu | Emojileri listeleme |
guild:emoji:create |
10 | 30 s | Hesap + sunucu | Emoji oluşturma |
guild:emoji:clone |
10 | 30 s | Hesap + sunucu | Emoji kopyalama |
guild:emoji:bulk_create |
6 | 60 s | Hesap + sunucu | Toplu emoji oluşturma |
guild:emoji:update |
20 | 10 s | Hesap + sunucu | Emojiyi değiştirme |
guild:emoji:delete |
10 | 30 s | Hesap + sunucu | Emojiyi silme |
guild:emoji:metadata |
60 | 10 s | İstemci | Emoji meta verilerini alma |
guild:sticker:list |
60 | 10 s | Hesap + sunucu | Çıkartmaları listeleme |
guild:sticker:create |
10 | 30 s | Hesap + sunucu | Çıkartma oluşturma |
guild:sticker:clone |
10 | 30 s | Hesap + sunucu | Çıkartma kopyalama |
guild:sticker:bulk_create |
6 | 60 s | Hesap + sunucu | Toplu çıkartma oluşturma |
guild:sticker:update |
20 | 10 s | Hesap + sunucu | Çıkartmayı değiştirme |
guild:sticker:delete |
10 | 30 s | Hesap + sunucu | Çıkartmayı silme |
guild:sticker:metadata |
60 | 10 s | İstemci | Çıkartma meta verilerini alma |
invite:read |
100 | 10 s | İstemci + davet kodu | Davet alma |
invite:accept |
10 | 10 s | Hesap | Daveti kabul etme, herkese açık bir sunucuya katılma |
invite:create |
20 | 60 s | Hesap + kanal | Davet oluşturma |
invite:list |
40 | 10 s | Hesap + kanal veya sunucu | Kanal veya sunucu davetlerini listeleme |
invite:delete |
20 | 10 s | Hesap + davet kodu | Daveti silme |
discovery:search |
30 | 10 s | İstemci | Keşfedilebilir sunucuları arama |
discovery:categories |
60 | 10 s | İstemci | Keşif kategorilerini listeleme |
discovery:status |
30 | 10 s | Hesap + sunucu | Keşif durumunu alma |
discovery:apply |
5 | 60 s | Hesap + sunucu | Keşif başvurusu yapma, düzenleme veya geri çekme |
discovery:join |
10 | 60 s | Hesap | Keşiften bir sunucuya katılma |
Webhook'lar¶
Webhook kovaları yoldaki webhook, kanal veya sunucuya göre anahtarlanır; bu nedenle tüm çağıranlar tarafından paylaşılır.
| Kova | Sınır | Pencere | Anahtar | İşlemler |
|---|---|---|---|---|
webhook:list_guild |
40 | 10 s | Sunucu | Sunucu webhook'larını listeleme |
webhook:list_channel |
40 | 10 s | Kanal | Kanal webhook'larını listeleme |
webhook:create |
10 | 60 s | Kanal | Webhook oluşturma |
webhook:read |
100 | 10 s | Webhook | Token ile veya token olmadan webhook alma |
webhook:update |
20 | 10 s | Webhook | Token ile veya token olmadan webhook'u değiştirme |
webhook:delete |
20 | 10 s | Webhook | Token ile veya token olmadan webhook'u silme |
webhook:execute |
60 | 60 s | Webhook | Webhook yürütme, Slack uyumlu webhook yürütme |
webhook:github |
200 | 60 s | Webhook | GitHub uyumlu webhook yürütme |
webhook:instatus |
200 | 60 s | Webhook | Instatus uyumlu webhook yürütme |
webhook:message_get |
60 | 60 s | Webhook | Webhook mesajını alma |
webhook:message_edit |
30 | 60 s | Webhook | Webhook mesajını düzenleme |
webhook:message_delete |
30 | 60 s | Webhook | Webhook mesajını silme |
Uygulamalar, OAuth2 ve Gateway¶
| Kova | Sınır | Pencere | Anahtar | İşlemler |
|---|---|---|---|---|
oauth_dev:clients:create |
10 | 1 h | Hesap | Uygulama oluşturma |
oauth_dev:clients:list |
60 | 60 s | Hesap veya istemci | Kendi uygulamalarını listeleme, uygulama alma, herkese açık uygulama meta verilerini alma, yetkilendirilmiş uygulamaları listeleme |
oauth_dev:clients:update |
30 | 60 s | Uygulama | Uygulamayı değiştirme, bot profilini değiştirme |
oauth_dev:clients:rotate_secret |
10 | 1 h | Uygulama | Bot token'ını sıfırlama, istemci gizli anahtarını sıfırlama |
oauth_dev:clients:delete |
10 | 1 h | Uygulama | Uygulamayı silme |
oauth:authorize |
60 | 60 s | IP | Yetkilendirme ayrıntılarını alma, onay gönderme |
oauth:token |
120 | 60 s | IP | Token takası veya yenileme |
oauth:introspect |
120 | 60 s | İstemci, IP veya hesap | Token'ları inceleme ve iptal etme, kullanıcı bilgisini alma, yetkilendirmeleri iptal etme |
gateway:bot_info |
60 | 60 s | İstemci | Bot için Gateway bilgisini alma |
instance:info |
60 | 60 s | İstemci | Örnek (instance) keşif bilgisini alma |
Diğer¶
| Kova | Sınır | Pencere | Anahtar | İşlemler |
|---|---|---|---|---|
gif:search |
40 | 10 s | İstemci | GIF arama |
gif:trending |
40 | 10 s | İstemci | Popüler GIF'leri listeleme |
gift:get |
60 | 10 s | İstemci | Hediye alma |
gift:redeem |
10 | 60 s | Hesap | Hediye kullanma |
gifts:list |
40 | 10 s | Hesap | Geçerli kullanıcının hediyelerini listeleme |
report |
10 | 1 h | Hesap | Mesaj, kullanıcı veya sunucu bildirme, bildirim oluşturma |
premium:cancel |
10 | 1 h | Hesap | Premium'u iptal etme |
premium:cancel-subscription |
5 | 60 s | Hesap | Aboneliği dönem sonunda iptal etme |
premium:reactivate-subscription |
5 | 60 s | Hesap | Aboneliği yeniden etkinleştirme |
premium:portal |
20 | 1 h | Hesap | Faturalandırma portalını açma |
business:checkout |
10 | 1 h | Hesap | İşletme planı ödemesini başlatma |
business:portal |
20 | 1 h | Hesap | İşletme faturalandırma portalını açma |
business:cancel |
10 | 1 h | Hesap | İşletme planını iptal etme veya yeniden etkinleştirme |
business:affiliate |
30 | 1 h | Hesap | Ortaklık isteği oluşturma |
Diğer yüzeyler¶
Gateway'in identify işlemleri, komutlar ve yük boyutları için kendi sınırları vardır; bkz. Gateway sınırları ve hız sınırları. Bir yükleme URL'sine bayt yüklemek sayıca hız sınırına tabi değildir, ancak URL'nin süresi dolar; bkz. Ek yüklemeleri.