Ana içeriğe geç

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

  1. Kullanıcı Ayarları'nı açın (adınızın yanındaki dişli simgesi).
  2. Kenar çubuğunun Geliştirici bölümünde Uygulamalar'ı seçin.
  3. Uygulama oluştur'u seçin, bir uygulama adı girin ve onaylayın.
  4. 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.

curl https://tebhos.com/api/v1/applications/@me \
  -H "Authorization: Bot $TEBHOS_BOT_TOKEN"
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.