Bot oluşturma¶
Bir uygulama oluşturmak, bot kullanıcısını ve ilk bot token'ını tek adımda oluşturur. Bunu TEBHOS uygulamasında veya HTTP API üzerinden yapabilirsiniz. Her iki durumda da normal, sahiplenilmiş bir TEBHOS hesabı gerekir; sahiplenilmemiş (misafir) hesaplar uygulama oluşturamaz.
TEBHOS uygulamasında¶
- Kullanıcı Ayarları'nı açın (adınızın yanındaki dişli simgesi).
- Kenar çubuğunun Geliştirici bölümünde Uygulamalar'ı seçin.
- Uygulama oluştur'u seçin, bir uygulama adı girin ve onaylayın.
- Uygulama sayfası açılır. Gizli anahtarlar ve token'lar altında Bot token'ını kopyalayın ve güvenli bir yerde saklayın.
Aynı sayfada botun profilini (ad, avatar, afiş, biyografi) düzenleyebilir, bot token'ını ve istemci gizli anahtarını yeniden oluşturabilir ve OAuth2 URL oluşturucu altında bir yetkilendirme bağlantısı hazırlayabilirsiniz (bkz. Botu bir sunucuya ekleme).
Token yalnızca bir kez gösterilir
TEBHOS, bot token'ının ve istemci gizli anahtarının yalnızca karmasını saklar. Bunlar yalnızca oluşturulduklarında veya yeniden oluşturulduklarında eksiksiz döndürülür. Bot token'ını kaybederseniz yeniden oluşturun.
HTTP API ile¶
Uygulama yönetimiyle ilgili tüm uç noktalar bir kullanıcı oturumu (Authorization: Bearer ...) gerektirir. Bir bot token'ı uygulamaları yönetemez. Yollar https://tebhos.com/api/v1 adresine görelidir.
Uygulama oluştur¶
POST /oauth2/applications
Bir uygulama, bot kullanıcısı ve ilk bot token'ını oluşturur. Hız sınırı: kullanıcı başına saatte 10. Her kullanıcı en fazla 25 uygulamaya sahip olabilir; 26. uygulamayı oluşturmak MAX_APPLICATIONS koduyla 400 döndürür.
Örnekte (instance) CAPTCHA etkinse bu istek ayrıca x-captcha-token ve x-captcha-type CAPTCHA başlıklarını taşımalıdır, bkz. Captcha. Uygulamayı TEBHOS uygulamasında oluşturduğunuzda bu sizin için halledilir.
| Alan | Tür | Açıklama |
|---|---|---|
| name | string | Uygulama adı, 1–100 karakter |
| redirect_uris? | array of strings | OAuth2 yönlendirme URI'leri. Yalnızca düz bir bot davetinin dışındaki OAuth2 akışları için gerekir |
| bot_public? | boolean | Sunucuyu Yönet iznine sahip herkesin botu kendi sunucusuna ekleyip ekleyemeyeceği. Varsayılan true. false olduğunda yalnızca siz ekleyebilirsiniz |
| bot_require_code_grant? | boolean | Bot eklenirken tam bir OAuth2 kod yetkisi (yönlendirme URI'siyle) gerektirir. Varsayılan false |
curl -X POST https://tebhos.com/api/v1/oauth2/applications \
-H "Authorization: Bearer $TEBHOS_USER_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Night Watch"}'
{
"id": "1290847135893127168",
"name": "Night Watch",
"redirect_uris": [],
"bot_public": true,
"bot_require_code_grant": false,
"bot": {
"id": "1290847135893127168",
"username": "Night_Watch",
"discriminator": "0001",
"avatar": null,
"banner": null,
"bio": null,
"mfa_enabled": false,
"authenticator_types": [],
"flags": 0,
"token": "1290847135893127168.q3JxY2V0...W5k"
},
"client_secret": "Zk9hc2Rm...Tmdh"
}
Bot kullanıcısının kimliği uygulama kimliğidir. Kullanıcı adı uygulama adından türetilir: harfler, rakamlar ve alt çizgiler korunur; boşluklar, kısa çizgiler ve noktalar alt çizgiye dönüşür; diğer karakterler atılır ve sonuç 32 karaktere kısaltılır. Geriye 2 karakterden az kalırsa rastgele bir ad seçilir. Ayırt edici (discriminator), o kullanıcı adı için hâlâ boş olan ilk değerdir. Botu daha sonra yeniden adlandırabilirsiniz.
bot.token ve client_secret yalnızca bu yanıtta görünür. Uygulama nesnesinin tamamı için bkz. Uygulamalar.
Uygulamalarınızı listeleyin¶
GET /oauth2/applications/@me
Sahip olduğunuz uygulamaları gizli anahtarlar olmadan bir dizi olarak döndürür. Hız sınırı: dakikada 60. GET /users/@me/applications aynı listeyi döndürür.
Uygulamayı al¶
GET /oauth2/applications/{application_id}
Uygulamalarınızdan birini döndürür. Sahibi değilseniz 403 döndürür.
Uygulamayı güncelle¶
PATCH /oauth2/applications/{application_id}
name, redirect_uris (listenin tamamını değiştirir), bot_public veya bot_require_code_grant alanlarını günceller. Her alan isteğe bağlıdır. Hız sınırı: uygulama başına dakikada 30.
Bot profilini güncelle¶
PATCH /oauth2/applications/{application_id}/bot
Bot kullanıcısının herkese açık profilini değiştirir. Hız sınırı: uygulama başına dakikada 30.
| Alan | Tür | Açıklama |
|---|---|---|
| username? | string | Yeni kullanıcı adı, 2–32 karakter. Ayırt edici yeni ad altında boşsa korunur, değilse boş bir tane atanır |
| discriminator? | integer | Değiştirilemez; mevcut değerden farklı herhangi bir değer 400 döndürür |
| avatar? | ?string | Veri URI'si olarak görsel (data:image/png;base64,...); PNG, JPEG, GIF veya WebP, en fazla 8 MiB. null kaldırır |
| banner? | ?string | avatar ile aynı biçim. null kaldırır |
| bio? | ?string | En fazla 1024 karakter. null kaldırır |
| bot_flags? | integer | Yalnızca 1 << 4 ve 1 << 5 bitleri uygulanır; diğer tüm bitler yok sayılır |
Yanıt botun profilidir: id, username, discriminator, avatar, banner, bio ve flags.
Bot token'ını yeniden oluştur¶
POST /oauth2/applications/{application_id}/bot/reset-token
Yeni bir bot token'ı verir ve eskisini hemen geçersiz kılar. Botun açık olan tüm gateway bağlantıları kapatılır; bu nedenle botunuz yeni token'la yeniden bağlanmalıdır. Hız sınırı: uygulama başına saatte 10.
Bu, sudo kipi gerektiren hassas bir işlemdir: JSON gövdesine password, bir mfa_code veya bir geçiş anahtarı (passkey) sudo_proof değeri ekleyin ya da isteği başka bir başarılı sudo doğrulamasından sonraki birkaç dakika içinde yapın. Bu olmadan istek, code değeri SUDO_REQUIRED olan bir 403 döndürür. Bkz. Kimlik doğrulama.
curl -X POST https://tebhos.com/api/v1/oauth2/applications/1290847135893127168/bot/reset-token \
-H "Authorization: Bearer $TEBHOS_USER_TOKEN" \
-H "Content-Type: application/json" \
-d '{"password": "your-account-password"}'
{
"token": "1290847135893127168.Tm90QVJl...YWxUb2tlbg",
"bot": { "id": "1290847135893127168", "username": "Night_Watch", "discriminator": "0001", "flags": 0 }
}
İstemci gizli anahtarını yeniden oluştur¶
POST /oauth2/applications/{application_id}/client-secret/reset
Yeni bir istemci gizli anahtarı verir; bu anahtar uygulama nesnesinde client_secret olarak yalnızca bir kez döndürülür. Sudo gereksinimi ve hız sınırı bot token'ıyla aynıdır.
Uygulamayı sil¶
DELETE /oauth2/applications/{application_id}
Uygulamayı siler. Botu tüm sunuculardan çıkarılır, profili anonimleştirilir ve gateway bağlantıları kapatılır; daha önce gönderdiği mesajlar yerinde kalır. Sudo kipi gerektirir. Hız sınırı: uygulama başına saatte 10. 204 döndürür.
Bot token'ını kontrol et¶
GET /applications/@me
Bot token'ıyla çağrıldığında botun kendi uygulamasını döndürür. Başka herhangi bir kimlik bilgisi 401 döndürür. Gateway'e bağlanmadan önce bir token'ın çalıştığını doğrulamak için kullanın.
| Alan | Tür | Açıklama |
|---|---|---|
| id | snowflake | Uygulama kimliği (aynı zamanda bot kullanıcı kimliği) |
| name | string | Uygulama adı |
| icon | ?string | Bot kullanıcısının avatar karması |
| description | ?string | Bot kullanıcısının biyografisi |
| bot_public | boolean | Bkz. Uygulama oluştur |
| bot_require_code_grant | boolean | Bkz. Uygulama oluştur |
| verify_key | string | Her zaman 64 sıfır. TEBHOS botlara giden istekleri imzalamaz |
| owner | object | Kısmi kullanıcı: id, username, discriminator, global_name, avatar |
| redirect_uris | array of strings | Kayıtlı yönlendirme URI'leri |
| bot? | object | Token'ı olmadan bot kullanıcısı |
Sıradaki adım: botu bir sunucuya ekleyin, ardından gateway'e bağlanın.