Skip to main content
Twurple istemcisi aracılığıyla Twitch’in sohbet (IRC) arayüzü üzerinden Twitch sohbet desteği. OpenClaw, bir Twitch bot hesabıyla oturum açar, yapılandırılmış her hesap için bir kanala katılır ve o kanalda yanıt verir.

Kurulum

Twitch, resmî bir Plugin olarak sunulur; çekirdek kurulumun parçası değildir.
plugins install, Plugin’i kaydeder ve etkinleştirir. openclaw onboard veya openclaw channels add sırasında Twitch seçildiğinde gerektiğinde kurulur. Güncel sürümü takip etmek için yalnızca paket adını kullanın; tam sürümü yalnızca tekrarlanabilir kurulumlar için sabitleyin. OpenClaw 2026.4.10 veya daha yenisini gerektirir. Ayrıntılar: Plugin’ler

Hızlı kurulum

1

Plugin'i kurun

Yukarıdaki Kurulum bölümüne bakın.
2

Bir Twitch bot hesabı oluşturun

Bot için ayrı bir Twitch hesabı oluşturun (veya mevcut bir hesabı kullanın).
3

Kimlik bilgilerini oluşturun

Twitch Token Generator aracını kullanın:
  • Bot Token öğesini seçin
  • chat:read ve chat:write kapsamlarının seçili olduğunu doğrulayın
  • Client ID ve Access Token değerlerini kopyalayın
4

Twitch kullanıcı kimliğinizi bulun

Bir kullanıcı adını Twitch kullanıcı kimliğine dönüştürmek için https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ aracını kullanın.
5

Token'ı yapılandırın

  • Ortam değişkeni: OPENCLAW_TWITCH_ACCESS_TOKEN=... (yalnızca varsayılan hesap)
  • Veya yapılandırma: channels.twitch.accessToken
Her ikisi de ayarlanmışsa yapılandırma önceliklidir (ortam değişkeni yalnızca varsayılan hesap için yedek olarak kullanılır).
6

Gateway'i başlatın

Yetkisiz kullanıcıların botu tetiklemesini önlemek için erişim denetimi (allowFrom veya allowedRoles) ekleyin. requireMention varsayılan olarak true değerindedir.
Asgari yapılandırma:

Nedir?

  • Gateway’in sahip olduğu bir Twitch kanalıdır.
  • Belirlenimci yönlendirme: yanıtlar her zaman mesajın geldiği Twitch kanalına geri gönderilir.
  • Katılınan her kanal, yalıtılmış bir grup oturumu anahtarıyla agent:<agentId>:twitch:group:<channel> eşlenir.
  • username botun hesabıdır (kimlik doğrulaması yapan), channel ise katılınacak sohbet odasıdır. Her hesap girdisi tam olarak bir kanala katılır.
  • Token’lar oauth: önekiyle veya öneksiz çalışır; OpenClaw her iki biçimi de normalleştirir (kurulum sihirbazı oauth: biçimini bekler).

Gelen iletilerin dayanıklılığı

OpenClaw, kabul edilen her Twitch sohbet iletisini normal dağıtımdan önce kalıcı olarak kuyruğa alır. Bekleyen veya yeniden denenebilir iletiler Gateway yeniden başlatıldığında korunur, yapılandırılmış kanal için sıralı kalır ve etkin ya da saklanan tamamlanma kaydı mevcut olduğu sürece yinelenen kuyruk girdilerini engellemek için Twitch’in ileti kimliğini kullanır. Twitch sohbeti, istemci kabul ettikten sonra bir PRIVMSG öğesini yeniden oynatmaz. Bu, yerel kabul ile dağıtım arasındaki çökme aralığını korur ancak kalıcı kabulden önce kaçırılan iletileri kurtaramaz. Kuyruğa ekleme işleminin kendisi başarısız olursa OpenClaw hatayı günlüğe kaydeder; yeniden bağlanmak Twitch’ten bu iletiyi yeniden göndermesini istemez.

Token yenileme (isteğe bağlı)

Twitch Token Generator tarafından oluşturulan token’lar OpenClaw tarafından yenilenemez; süreleri dolduğunda yeniden oluşturun (birkaç saat geçerlidirler; uygulama kaydı gerekmez). Otomatik yenileme için Twitch Developer Console üzerinden kendi uygulamanızı oluşturun ve şunları ekleyin:
Her ikisi de ayarlandığında Plugin, token’ları süreleri dolmadan yenileyen ve her yenilemeyi günlüğe kaydeden bir yenilemeli kimlik doğrulama sağlayıcısı kullanır. refreshToken olmadan token refresh disabled (no refresh token) günlüğe kaydedilir; clientSecret olmadan statik (yenilenmeyen) bir token’a geri dönülür.

Çoklu hesap desteği

Hesap başına kimlik bilgileriyle channels.twitch.accounts kullanın. Ortak kalıp için Yapılandırma bölümüne bakın. Örnek (iki kanalda tek bot hesabı):
Her hesap girdisi kendi accessToken değerine ihtiyaç duyar (ortam değişkeni yalnızca varsayılan hesabı kapsar). Bir hesap tam olarak bir kanala katılır; dolayısıyla iki kanala katılmak iki hesap gerektirir. channels.twitch.defaultAccount, hangi hesabın varsayılan olduğunu seçer.

Erişim denetimi

allowFrom, Twitch kullanıcı kimliklerinden oluşan katı bir izin listesidir. Ayarlandığında allowedRoles yok sayılır; bunun yerine rol tabanlı erişim kullanmak için allowFrom ayarını kaldırılmış bırakın. Kullanılabilir roller: "moderator", "owner", "vip", "subscriber", "all".
Neden kullanıcı kimlikleri? Kullanıcı adları değişebilir ve kimliğe bürünmeye olanak tanıyabilir. Kullanıcı kimlikleri kalıcıdır.Kendi kimliğinizi kullanıcı adından kimliğe dönüştürücü ile bulun.

Sorun giderme

Önce tanılama komutlarını çalıştırın:
  • Erişim denetimini kontrol edin: Kullanıcı kimliğinizin allowFrom içinde olduğundan emin olun veya test etmek için geçici olarak allowFrom öğesini kaldırıp allowedRoles: ["all"] değerini ayarlayın.
  • Bahsetme geçidini kontrol edin: requireMention: true (varsayılan) kullanıldığında iletiler botun kullanıcı adından @bahsetmelidir.
  • Botun kanalda olduğunu kontrol edin: Bot yalnızca channel içinde belirtilen kanala katılır.
“Bağlanılamadı” veya kimlik doğrulama hataları:
  • accessToken değerinin OAuth erişim token’ı değeri olduğunu doğrulayın (oauth: öneki isteğe bağlıdır)
  • Token’ın chat:read ve chat:write kapsamlarına sahip olduğunu kontrol edin
  • Token yenileme kullanılıyorsa clientSecret ve refreshToken değerlerinin ayarlandığını doğrulayın
Yenileme olayları için günlükleri kontrol edin:
token refresh disabled (no refresh token) görürseniz:
  • clientSecret sağlandığından emin olun
  • refreshToken sağlandığından emin olun

Yapılandırma

Hesap yapılandırması

string
gerekli
Bot kullanıcı adı (kimlik doğrulaması yapan hesap).
string
gerekli
chat:read ve chat:write kapsamlarına sahip OAuth erişim token’ı (varsayılan hesap için yapılandırma veya ortam değişkeni).
string
gerekli
Twitch İstemci Kimliği (Token Generator’dan veya uygulamanızdan). Şemada isteğe bağlıdır ancak bağlanmak için zorunludur.
string
gerekli
Katılınacak kanal.
boolean
varsayılan:"true"
Bu hesabı etkinleştirin.
string
İsteğe bağlı: otomatik token yenileme için.
string
İsteğe bağlı: otomatik token yenileme için.
number
Token’ın saniye cinsinden sona erme süresi (yenileme takibi).
number
Token’ın alındığı zaman damgası (yenileme takibi).
string[]
Kullanıcı kimliği izin listesi. Ayarlandığında roller yok sayılır.
Array<"moderator" | "owner" | "vip" | "subscriber" | "all">
Rol tabanlı erişim denetimi.
boolean
varsayılan:"true"
Botu tetiklemek için @bahsetme gerektirir.
string
Bu hesap için giden yanıt öneki geçersiz kılma değeri.

Sağlayıcı seçenekleri

  • channels.twitch.enabled - Kanal başlangıcını etkinleştirir/devre dışı bırakır
  • channels.twitch.username / accessToken / clientId / channel - Basitleştirilmiş tek hesap yapılandırması (örtük default hesabı; accounts.default üzerinde önceliklidir)
  • channels.twitch.accounts.<accountName> - Çoklu hesap yapılandırması (yukarıdaki tüm hesap alanları)
  • channels.twitch.defaultAccount - Hangi hesap adının varsayılan olduğu
  • channels.twitch.markdown.tables - Markdown tablosu oluşturma modu (off | bullets | code | block)
Tam örnek:

Araç eylemleri

Aracı, ileti aracının send eylemi üzerinden Twitch iletileri gönderebilir:
to isteğe bağlıdır ve varsayılan olarak hesabın yapılandırılmış channel değerini kullanır.

Güvenlik ve operasyonlar

  • Token’ları parolalar gibi ele alın - token’ları asla git’e işlemeyin.
  • Uzun süre çalışan botlar için otomatik token yenilemeyi kullanın.
  • Erişim denetimi için kullanıcı adları yerine kullanıcı kimliği izin listelerini kullanın.
  • Token yenileme olayları ve bağlantı durumu için günlükleri izleyin.
  • Token kapsamlarını en düşük düzeyde tutun - yalnızca chat:read ve chat:write kapsamlarını isteyin.
  • Takılırsanız: başka hiçbir işlemin oturumun sahibi olmadığını doğruladıktan sonra Gateway’i yeniden başlatın.

Sınırlar

  • Mesaj başına 500 karakter; daha uzun yanıtlar sözcük sınırlarından parçalara ayrılır.
  • Markdown gönderilmeden önce kaldırılır (Twitch sohbeti düz metindir; yeni satırlar boşluklara dönüşür).
  • OpenClaw kendi başına herhangi bir hız sınırlaması eklemez; Twitch hız sınırlarını Twurple sohbet istemcisi yönetir.

İlgili