Ana içeriğe geç

Bot geliştirme

TEBHOS botu, bir uygulamaya ait otomatik bir hesaptır. Uygulamayı siz oluşturursunuz; TEBHOS bunun bot kullanıcısını ve bot token'ını oluşturur. Programınız bu token'ı, tıpkı bir istemcinin yaptığı gibi, HTTP API'yi çağırmak ve gateway'e bağlanmak için kullanır.

Her uygulamada şunlar bulunur:

  • kendi kullanıcı adı, avatarı ve profili olan, kullanıcı kimliği uygulama kimliğiyle aynı olan bir bot kullanıcısı;
  • REST API'de ve gateway'de botun kimliğini doğrulayan, {application_id}.{secret} biçimindeki bir bot token'ı;
  • yalnızca OAuth2 akışlarında (ör. kendi web sitenizdeki "TEBHOS ile giriş yap") kullanılan bir istemci gizli anahtarı (client secret).

Sunucuyu Yönet iznine sahip bir kişi, botu bir OAuth2 yetkilendirme bağlantısıyla sunucuya ekler. Bot daha sonra üye listesinde, istediğiniz izinleri taşıyan bir rolle görünür.

Bot token'ı bir paroladır

Token'a sahip olan herkes botunuz adına işlem yapabilir. Token'ı sunucunuzda tutun; asla bir web sayfasına, mobil uygulamaya veya herkese açık bir depoya koymayın ve sızarsa hemen yeniden oluşturun.

Bir bot neler yapabilir

Bot, normal bir hesabın erişebildiği API'nin büyük bölümüne erişir; bu erişim, her sunucuda rolünün verdiği izinlerle sınırlıdır:

  • gateway üzerinden gerçek zamanlı olayları alır; görüntüleyebildiği kanallardaki her mesajın tam içeriği de buna dahildir (istenmesi gereken ayrıcalıklı intent yoktur);
  • mesaj gönderir, düzenler, siler ve sabitler; mesajlara yanıt verir, tepki ekler, yazıyor göstergesini gösterir ve ek yükler;
  • sunucu, kanal ve üye bilgilerini okur, üye arar, okuyabildiği bir sunucuda veya kanalda mesaj arar ve kullanıcı profillerini okur;
  • rolü ilgili izni verdiğinde kanalları, rolleri, yasaklamaları ve davetleri yönetir;
  • webhook oluşturur ve kullanır;
  • doğrudan mesaj açar ve grup DM'lere eklenebilir.

Hesap düzeyindeki birkaç uç nokta insan kullanıcılara ayrılmıştır. Bunlardan birini geçerli bir bot token'ıyla çağırmak, code değeri ACCESS_DENIED olan bir 403 döndürür. Örneğin uygulamaları yönetmek her zaman oturum açmış bir kullanıcı gerektirir.

TEBHOS'ta desteklenmez

TEBHOS'ta uygulama komutları (eğik çizgi komutları), etkileşimler, mesaj bileşenleri veya modallar yoktur. Botlar bunun yerine normal mesajlara tepki verir; bkz. Mesajlara yanıt verme.

Bir bakışta kimlik doğrulama

Nerede Bot token'ı nasıl gönderilir
REST API Authorization: Bot {application_id}.{secret} başlığı
Gateway Identify (op 2) içindeki token alanında {application_id}.{secret} token'ı. Yalın gönderilir; baştaki bir Bot öneki de kabul edilir

İnsan kullanıcılar ise Authorization: Bearer {session_token} ile kimlik doğrular. Bkz. Kimlik doğrulama.

Akış

Adım Ne olur Uç nokta Sayfa
1 Bir uygulama ve botunu oluşturun POST /oauth2/applications veya TEBHOS uygulaması Bot oluşturma
2 Botu bir sunucuya ekleyin https://tebhos.com/oauth2/authorize?client_id=...&scope=bot&permissions=... Botu bir sunucuya ekleme
3 Gateway'i bulun GET /gateway/bot Gateway bağlantısı
4 Bağlanın, identify gönderin, heartbeat atın wss://tebhos.com/ws?v=1&encoding=json Gateway bağlantısı
5 MESSAGE_CREATE olayına tepki verin ve yanıtlayın POST /channels/{channel_id}/messages Mesajlara yanıt verme

Eksiksiz, çalıştırılabilir programlar Örnekler sayfasındadır. Yalnızca tek bir kanala mesaj göndermeniz gerekiyorsa, webhook bir bottan daha basittir.

Bu sayfalardaki tüm REST yolları https://tebhos.com/api/v1 adresine görelidir.