Kurulum
Twitch, resmî bir Plugin olarak sunulur; çekirdek kurulumun parçası değildir.- npm kayıt defteri
- Yerel çalışma kopyası
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:readvechat:writekapsamları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
6
Gateway'i başlatın
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. usernamebotun hesabıdır (kimlik doğrulaması yapan),channelise 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 birPRIVMSG öğ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: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 bilgileriylechannels.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".
- Kullanıcı kimliği izin listesi (en güvenli)
- Rol tabanlı
- @bahsetme gereksinimini devre dışı bırak
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:Bot iletilere yanıt vermiyor
Bot iletilere yanıt vermiyor
- Erişim denetimini kontrol edin: Kullanıcı kimliğinizin
allowFromiçinde olduğundan emin olun veya test etmek için geçici olarakallowFromöğesini kaldırıpallowedRoles: ["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
channeliçinde belirtilen kanala katılır.
Token sorunları
Token sorunları
“Bağlanılamadı” veya kimlik doğrulama hataları:
accessTokendeğerinin OAuth erişim token’ı değeri olduğunu doğrulayın (oauth:öneki isteğe bağlıdır)- Token’ın
chat:readvechat:writekapsamlarına sahip olduğunu kontrol edin - Token yenileme kullanılıyorsa
clientSecretverefreshTokendeğerlerinin ayarlandığını doğrulayın
Token yenileme çalışmıyor
Token yenileme çalışmıyor
Yenileme olayları için günlükleri kontrol edin:
token refresh disabled (no refresh token) görürseniz:clientSecretsağlandığından emin olunrefreshTokensağ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ırchannels.twitch.username/accessToken/clientId/channel- Basitleştirilmiş tek hesap yapılandırması (örtükdefaulthesabı;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ğuchannels.twitch.markdown.tables- Markdown tablosu oluşturma modu (off|bullets|code|block)
Araç eylemleri
Aracı, ileti aracınınsend 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:readvechat:writekapsamları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
- Kanal Yönlendirme — iletiler için oturum yönlendirmesi
- Kanallara Genel Bakış — desteklenen tüm kanallar
- Gruplar — grup sohbeti davranışı ve bahsetme denetimi
- Eşleştirme — DM kimlik doğrulaması ve eşleştirme akışı
- Güvenlik — erişim modeli ve sağlamlaştırma