Ana içeriğe geç

Webhook kullanma

Webhook, tek bir sunucu kanalına mesaj gönderen bir URL'dir. Bot hesabına, gateway bağlantısına veya Authorization başlığına ihtiyaç duymaz: gizli token URL'nin bir parçasıdır. Webhook'lar, bildirimleri (derleme sonuçları, uyarılar, akışlar) TEBHOS'a iletmenin en basit yoludur.

Bot Webhook
Ayrı hesap Evet, bir bot kullanıcısı Hayır
Olay alır Evet, gateway üzerinden Hayır
Mesaj gönderir Erişebildiği her kanala Yalnızca kendi kanalına
Kimlik bilgisi Authorization başlığında bot token'ı URL içinde token
Nereden kullanılabilir Kendi sunucunuzdan HTTP POST gönderebilen her şeyden

Yollar https://tebhos.com/api/v1 adresine görelidir. Başvurunun tamamı Webhook'lar sayfasındadır.

Webhook oluştur

TEBHOS uygulamasında kanalın ayarlarını açın, Webhooks bölümünde bir webhook oluşturun ve URL'sini kopyalayın. API üzerinden:

POST /channels/{channel_id}/webhooks

O kanalda Manage Webhooks iznini (ve View Channel iznini) gerektirir. Kullanıcı oturumu veya bot token'ı ile çalışır. Yalnızca sunucu kanallarının webhook'u olabilir. Hız sınırı: kanal başına dakikada 10. Bir kanalın en fazla 15, bir sunucunun en fazla 1000 webhook'u olabilir.

Alan Tür Açıklama
name string Varsayılan görünen ad, 1–80 karakter
avatar? ?string Data URI olarak varsayılan avatar (data:image/png;base64,...)
curl -X POST https://tebhos.com/api/v1/channels/1290849012346880000/webhooks \
  -H "Authorization: Bot $TEBHOS_BOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "CI"}'
{
  "id": "1290860512238080000",
  "guild_id": "1290848871133052928",
  "channel_id": "1290849012346880000",
  "name": "CI",
  "avatar": null,
  "token": "fS3kq...9Zp"
}

Webhook URL'si https://tebhos.com/api/v1/webhooks/{id}/{token} biçimindedir.

Webhook URL'si gizlidir

URL'ye sahip olan herkes kanala mesaj gönderebilir. Onu bir parola gibi saklayın. Sızarsa webhook'u silin ve yenisini oluşturun.

Webhook yürüt

POST /webhooks/{webhook_id}/{webhook_token}

Bir mesaj gönderir. Authorization başlığı gerekmez. Hız sınırı: webhook başına dakikada 60.

Alan Tür Açıklama
content? string Mesaj metni, en fazla 4000 karakter
embeds? array En fazla 10 zengin gömme (embed): title, description, url, color, timestamp, author, image, thumbnail, footer, fields. Bkz. Gömme sınırları
username? string Bu mesaj için webhook'un görünen adını geçersiz kılar, 1–80 karakter
allowed_mentions? object parse ("users", "everyone" listesi) ve users (kullanıcı kimlikleri listesi), hangi bahsetmelerin kişilere bildirim göndereceğini sınırlar. Gönderilmezse kimseye bildirim gitmez ({"parse": []})
flags? integer Mesaj bayrakları

content veya embeds zorunludur; ikisi de olmayan bir mesaj 400 döndürür.

Sorgu Tür Açıklama
wait? boolean true, oluşturulan mesaj nesnesiyle 200 döndürür. Varsayılan: gövdesiz 204
curl -X POST "https://tebhos.com/api/v1/webhooks/1290860512238080000/fS3kq...9Zp?wait=true" \
  -H "Content-Type: application/json" \
  -d '{"username": "CI", "content": "Build #812 passed", "embeds": [{"title": "main", "description": "All 214 tests green", "color": 3066993}]}'

TEBHOS'ta desteklenmez

avatar_url, attachments, message_reference, sticker_ids, nonce ve tts uyumluluk için kabul edilir ama yok sayılır: webhook mesajı her zaman webhook'un kayıtlı avatarını kullanır, dosya veya çıkartma taşımaz ve hiçbir zaman yanıt (reply) olmaz.

Uyumlu biçimler

Yalnızca başka bir webhook biçimini konuşan hizmetler, biçime özgü bir yol üzerinden aynı webhook'a gönderim yapabilir:

Yol Kabul ettiği
POST /webhooks/{webhook_id}/{webhook_token}/github GitHub webhook teslimleri
POST /webhooks/{webhook_id}/{webhook_token}/slack Yaygın gelen webhook JSON biçimi (text, username, title, text, color ve fields içeren attachments). Başarıda ok ile yanıt verir
POST /webhooks/{webhook_id}/{webhook_token}/instatus Instatus durum sayfası bildirimleri

Webhook mesajını düzenle veya sil

Aynı token ile webhook'un gönderdiği mesajları yönetebilirsiniz:

İşlem Uç nokta
Al GET /webhooks/{webhook_id}/{webhook_token}/messages/{message_id}
Düzenle PATCH /webhooks/{webhook_id}/{webhook_token}/messages/{message_id}
Sil DELETE /webhooks/{webhook_id}/{webhook_token}/messages/{message_id}

Webhook'un kendisini yönet

İşlem Uç nokta
Kimlik doğrulamadan oku GET /webhooks/{webhook_id}/{webhook_token}
Yeniden adlandır, avatarı değiştir PATCH /webhooks/{webhook_id}/{webhook_token}
Sil DELETE /webhooks/{webhook_id}/{webhook_token}
Bir kanalın webhook'larını listele GET /channels/{channel_id}/webhooks (Manage Webhooks gerekir)

TEBHOS'ta olup bitene tepki vermeniz gerekiyorsa bot, yalnızca gönderim yapmanız gerekiyorsa webhook seçin.