Twitch
IRC bağlantısı üzerinden Twitch sohbet desteği. OpenClaw, kanallarda iletileri almak ve göndermek için bir Twitch kullanıcısı (bot hesabı) olarak bağlanır.Paketlenmiş eklenti
Twitch, mevcut OpenClaw sürümlerinde paketlenmiş bir eklenti olarak gelir, bu nedenle normal paketlenmiş derlemelerde ayrı bir kurulum gerekmez. Daha eski bir derlemeyi veya Twitch’i içermeyen özel bir kurulumu kullanıyorsanız, bunu manuel olarak yükleyin: CLI ile yükleyin (npm kayıt defteri):
Hızlı kurulum (başlangıç)
- Twitch eklentisinin kullanılabilir olduğundan emin olun.
- Mevcut paketlenmiş OpenClaw sürümleri bunu zaten içerir.
- Eski/özel kurulumlar bunu yukarıdaki komutlarla manuel olarak ekleyebilir.
- Bot için özel bir Twitch hesabı oluşturun (veya mevcut bir hesabı kullanın).
- Kimlik bilgilerini oluşturun: Twitch Token Generator
- Bot Token seçeneğini seçin
chat:readvechat:writekapsamlarının seçili olduğunu doğrulayın- Client ID ve Access Token değerlerini kopyalayın
- Twitch kullanıcı kimliğinizi bulun: https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/
- 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 ayarlıysa yapılandırma önceliklidir (ortam değişkeni yedeği yalnızca varsayılan hesap içindir).
- Ortam değişkeni:
- Gateway’i başlatın.
allowFrom veya allowedRoles) ekleyin. requireMention varsayılan olarak true değerindedir.
Minimum yapılandırma:
Nedir
- Gateway’e ait bir Twitch kanalı.
- Deterministik yönlendirme: yanıtlar her zaman Twitch’e geri gider.
- Her hesap, yalıtılmış bir oturum anahtarına eşlenir:
agent:<agentId>:twitch:<accountName>. username, botun hesabıdır (kimlik doğrulayan);channelise katılınacak sohbet odasıdır.
Kurulum (ayrıntılı)
Kimlik bilgileri oluşturma
Twitch Token Generator kullanın:- Bot Token seçeneğini seçin
chat:readvechat:writekapsamlarının seçili olduğunu doğrulayın- Client ID ve Access Token değerlerini kopyalayın
Botu yapılandırma
Ortam değişkeni (yalnızca varsayılan hesap):Erişim denetimi (önerilir)
allowFrom tercih edin. Rol tabanlı erişim istiyorsanız bunun yerine allowedRoles kullanın.
Kullanılabilir roller: "moderator", "owner", "vip", "subscriber", "all".
Neden kullanıcı kimlikleri? Kullanıcı adları değişebilir ve bu da kimliğe bürünmeye izin verir. Kullanıcı kimlikleri kalıcıdır.
Twitch kullanıcı kimliğinizi burada bulun: https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ (Twitch kullanıcı adınızı kimliğe dönüştürün)
Token yenileme (isteğe bağlı)
Twitch Token Generator üzerinden alınan token’lar otomatik olarak yenilenemez; süreleri dolduğunda yeniden oluşturun. Otomatik token yenileme için Twitch Developer Console üzerinde kendi Twitch uygulamanızı oluşturun ve yapılandırmaya ekleyin:Çoklu hesap desteği
Hesap başına token’larlachannels.twitch.accounts kullanın. Paylaşılan desen için gateway/configuration sayfasına bakın.
Örnek (iki kanalda bir bot hesabı):
Erişim denetimi
Rol tabanlı kısıtlamalar
Kullanıcı kimliğine göre allowlist (en güvenli)
Rol tabanlı erişim (alternatif)
allowFrom, kesin bir allowlist’tir. Ayarlandığında yalnızca bu kullanıcı kimliklerine izin verilir.
Rol tabanlı erişim istiyorsanız allowFrom ayarını boş bırakın ve bunun yerine allowedRoles yapılandırın:
@mention gereksinimini devre dışı bırakma
Varsayılan olarakrequireMention, true değerindedir. Bunu devre dışı bırakmak ve tüm iletilere yanıt vermek için:
Sorun giderme
Önce tanılama komutlarını çalıştırın:Bot iletilere yanıt vermiyor
Erişim denetimini kontrol edin: Kullanıcı kimliğinizinallowFrom içinde olduğundan emin olun veya test için
allowFrom ayarını geçici olarak kaldırıp allowedRoles: ["all"] ayarlayın.
Botun kanalda olduğunu kontrol edin: Bot, channel içinde belirtilen kanala katılmalıdır.
Token sorunları
“Failed to connect” veya kimlik doğrulama hataları:accessTokendeğerinin OAuth erişim token değeri olduğunu doğrulayın (genellikleoauth:önekiyle başlar)- Token’ın
chat:readvechat:writekapsamlarına sahip olduğunu kontrol edin - Token yenileme kullanıyorsanız
clientSecretverefreshTokendeğerlerinin ayarlı olduğunu doğrulayın
Token yenileme çalışmıyor
Yenileme olayları için günlükleri kontrol edin:clientSecretsağlandığından emin olunrefreshTokensağlandığından emin olun
Yapılandırma
Hesap yapılandırması:username- Bot kullanıcı adıaccessToken-chat:readvechat:writekapsamlarına sahip OAuth erişim token’ıclientId- Twitch Client ID (Token Generator’dan veya kendi uygulamanızdan)channel- Katılınacak kanal (gerekli)enabled- Bu hesabı etkinleştir (varsayılan:true)clientSecret- İsteğe bağlı: otomatik token yenileme içinrefreshToken- İsteğe bağlı: otomatik token yenileme içinexpiresIn- Saniye cinsinden token süresiobtainmentTimestamp- Token alma zaman damgasıallowFrom- Kullanıcı kimliği allowlist’iallowedRoles- Rol tabanlı erişim denetimi ("moderator" | "owner" | "vip" | "subscriber" | "all")requireMention- @mention gerektir (varsayılan:true)
channels.twitch.enabled- Kanal başlatmayı etkinleştir/devre dışı bırakchannels.twitch.username- Bot kullanıcı adı (basitleştirilmiş tek hesap yapılandırması)channels.twitch.accessToken- OAuth erişim token’ı (basitleştirilmiş tek hesap yapılandırması)channels.twitch.clientId- Twitch Client ID (basitleştirilmiş tek hesap yapılandırması)channels.twitch.channel- Katılınacak kanal (basitleştirilmiş tek hesap yapılandırması)channels.twitch.accounts.<accountName>- Çoklu hesap yapılandırması (yukarıdaki tüm hesap alanları)
Araç eylemleri
Aracı, şu eylemletwitch çağırabilir:
send- Bir kanala ileti gönder
Güvenlik ve operasyonlar
- Token’lara parola gibi davranın - Token’ları asla git’e commit etmeyin
- Uzun süre çalışan botlar için otomatik token yenileme kullanın
- Erişim denetimi için kullanıcı adları yerine kullanıcı kimliği allowlist’leri kullanın
- Token yenileme olayları ve bağlantı durumu için günlükleri izleyin
- Token kapsamlarını minimumda tutun - Yalnızca
chat:readvechat:writeisteyin - Takılırsanız: Başka hiçbir sürecin oturuma sahip olmadığını doğruladıktan sonra gateway’i yeniden başlatın
Sınırlar
- İleti başına 500 karakter (sözcük sınırlarında otomatik bölünür)
- Bölme işleminden önce Markdown kaldırılır
- Hız sınırlaması yoktur (Twitch’in yerleşik hız sınırlarını kullanır)
İlgili
- Channels Overview — desteklenen tüm kanallar
- Pairing — DM kimlik doğrulaması ve eşleştirme akışı
- Groups — grup sohbeti davranışı ve bahsetme geçidi
- Channel Routing — iletiler için oturum yönlendirmesi
- Security — erişim modeli ve sağlamlaştırma