Ana içeriğe atla

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

Twitch sohbet desteği, IRC bağlantısı üzerinden sağlanır. OpenClaw, kanallarda mesaj almak ve göndermek için bir Twitch kullanıcısı (bot hesabı) olarak bağlanır.

Paketle birlikte gelen Plugin

Twitch, mevcut OpenClaw sürümlerinde paketle birlikte gelen bir Plugin olarak sunulur; bu nedenle normal paketlenmiş derlemeler ayrı bir kurulum gerektirmez.
Daha eski bir derlemedeyseniz veya Twitch’i hariç tutan özel bir kurulum kullanıyorsanız npm paketini doğrudan kurun:
openclaw plugins install @openclaw/twitch
Geçerli resmi yayın etiketini izlemek için yalın paketi kullanın. Tam sürümü yalnızca yeniden üretilebilir bir kurulum gerektiğinde sabitleyin. Ayrıntılar: Plugin’ler

Hızlı kurulum (başlangıç)

1

Ensure plugin is available

Mevcut paketlenmiş OpenClaw sürümleri zaten bunu içerir. Daha eski/özel kurulumlar yukarıdaki komutlarla bunu elle ekleyebilir.
2

Create a Twitch bot account

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

Generate credentials

Twitch Token Generator kullanın:
  • Bot Token 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

Find your Twitch user ID

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/ adresini kullanın.
5

Configure the token

  • Ortam: OPENCLAW_TWITCH_ACCESS_TOKEN=... (yalnızca varsayılan hesap)
  • Veya yapılandırma: channels.twitch.accessToken
İkisi de ayarlanmışsa yapılandırma önceliklidir (ortam geri dönüşü yalnızca varsayılan hesap içindir).
6

Start the gateway

Gateway’i yapılandırılmış kanalla 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.
En küçük yapılandırma:
{
  channels: {
    twitch: {
      enabled: true,
      username: "openclaw", // Bot's Twitch account
      accessToken: "oauth:abc123...", // OAuth Access Token (or use OPENCLAW_TWITCH_ACCESS_TOKEN env var)
      clientId: "xyz789...", // Client ID from Token Generator
      channel: "vevisk", // Which Twitch channel's chat to join (required)
      allowFrom: ["123456789"], // (recommended) Your Twitch user ID only - get it from https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/
    },
  },
}

Nedir

  • Gateway tarafından sahiplenilen bir Twitch kanalıdır.
  • Belirleyici 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 kişi); channel, katılınacak sohbet odasıdır.

Kurulum (ayrıntılı)

Kimlik bilgileri oluşturma

Twitch Token Generator kullanın:
  • Bot Token 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
Elle uygulama kaydı gerekmez. Token’lar birkaç saat sonra sona erer.

Botu yapılandırma

OPENCLAW_TWITCH_ACCESS_TOKEN=oauth:abc123...
Hem ortam hem de yapılandırma ayarlanmışsa yapılandırma önceliklidir.

Erişim denetimi (önerilir)

{
  channels: {
    twitch: {
      allowFrom: ["123456789"], // (recommended) Your Twitch user ID only
    },
  },
}
Kesin bir izin listesi için 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, kimliğe bürünmeye izin verebilir. Kullanıcı kimlikleri kalıcıdır.Twitch kullanıcı kimliğinizi 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 tarafından oluşturulan token’lar otomatik olarak yenilenemez; süresi 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:
{
  channels: {
    twitch: {
      clientSecret: "your_client_secret",
      refreshToken: "your_refresh_token",
    },
  },
}
Bot, token’ları süresi dolmadan önce otomatik olarak yeniler ve yenileme olaylarını günlüğe kaydeder.

Çoklu hesap desteği

Hesap başına token’larla channels.twitch.accounts kullanın. Paylaşılan desen için Yapılandırma bölümüne bakın. Örnek (iki kanalda bir bot hesabı):
{
  channels: {
    twitch: {
      accounts: {
        channel1: {
          username: "openclaw",
          accessToken: "oauth:abc123...",
          clientId: "xyz789...",
          channel: "vevisk",
        },
        channel2: {
          username: "openclaw",
          accessToken: "oauth:def456...",
          clientId: "uvw012...",
          channel: "secondchannel",
        },
      },
    },
  },
}
Her hesabın kendi token’ına ihtiyacı vardır (kanal başına bir token).

Erişim denetimi

{
  channels: {
    twitch: {
      accounts: {
        default: {
          allowFrom: ["123456789", "987654321"],
        },
      },
    },
  },
}

Sorun giderme

Önce tanılama komutlarını çalıştırın:
openclaw doctor
openclaw channels status --probe
  • 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 değerini kaldırıp allowedRoles: ["all"] ayarlayın.
  • Botun kanalda olduğunu kontrol edin: Bot, channel içinde belirtilen kanala katılmalıdır.
“Bağlanılamadı” veya kimlik doğrulama hataları:
  • accessToken değerinin OAuth erişim token’ı değeri olduğunu doğrulayın (genellikle oauth: ön ekiyle başlar)
  • Token’ın chat:read ve chat:write kapsamlarına sahip olduğunu kontrol edin
  • Token yenileme kullanıyorsanız clientSecret ve refreshToken değerlerinin ayarlandığını doğrulayın
Yenileme olayları için günlükleri kontrol edin:
Using env token source for mybot
Access token refreshed for user 123456 (expires in 14400s)
“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ı

username
string
Bot kullanıcı adı.
accessToken
string
chat:read ve chat:write içeren OAuth erişim token’ı.
clientId
string
Twitch Client ID (Token Generator veya uygulamanızdan).
channel
string
gerekli
Katılınacak kanal.
enabled
boolean
varsayılan:"true"
Bu hesabı etkinleştir.
clientSecret
string
İsteğe bağlı: otomatik token yenileme için.
refreshToken
string
İsteğe bağlı: otomatik token yenileme için.
expiresIn
number
Token sona erme süresi, saniye cinsinden.
obtainmentTimestamp
number
Token’ın alındığı zaman damgası.
allowFrom
string[]
Kullanıcı kimliği izin listesi.
allowedRoles
Array<"moderator" | "owner" | "vip" | "subscriber" | "all">
Rol tabanlı erişim denetimi.
requireMention
boolean
varsayılan:"true"
@mention gerektir.

Sağlayıcı seçenekleri

  • channels.twitch.enabled - Kanal başlangıcını etkinleştir/devre dışı bırak
  • channels.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ı)
Tam örnek:
{
  channels: {
    twitch: {
      enabled: true,
      username: "openclaw",
      accessToken: "oauth:abc123...",
      clientId: "xyz789...",
      channel: "vevisk",
      clientSecret: "secret123...",
      refreshToken: "refresh456...",
      allowFrom: ["123456789"],
      allowedRoles: ["moderator", "vip"],
      accounts: {
        default: {
          username: "mybot",
          accessToken: "oauth:abc123...",
          clientId: "xyz789...",
          channel: "your_channel",
          enabled: true,
          clientSecret: "secret123...",
          refreshToken: "refresh456...",
          expiresIn: 14400,
          obtainmentTimestamp: 1706092800000,
          allowFrom: ["123456789", "987654321"],
          allowedRoles: ["moderator"],
        },
      },
    },
  },
}

Araç eylemleri

Aracı twitch çağrısını şu eylemle yapabilir:
  • send - Bir kanala mesaj gönder
Örnek:
{
  action: "twitch",
  params: {
    message: "Hello Twitch!",
    to: "#mychannel",
  },
}

Güvenlik ve operasyon

  • Token’ları parola gibi ele alı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 izin listeleri kullanın.
  • Token yenileme olayları ve bağlantı durumu için günlükleri izleyin.
  • Token kapsamlarını en aza indirin — Yalnızca chat:read ve chat:write isteyin.
  • Takılırsanız: Oturuma başka hiçbir sürecin sahip olmadığını doğruladıktan sonra Gateway’i yeniden başlatın.

Sınırlar

  • Mesaj başına 500 karakter (sözcük sınırlarında otomatik olarak parçalara bölünür).
  • Markdown, parçalara bölmeden önce kaldırılır.
  • Hız sınırlaması yoktur (Twitch’in yerleşik hız sınırlarını kullanır).

İlgili