इंस्टॉल करें
Twitch एक आधिकारिक Plugin के रूप में उपलब्ध है; यह मुख्य इंस्टॉलेशन का हिस्सा नहीं है।- npm रजिस्ट्री
- स्थानीय चेकआउट
plugins install Plugin को पंजीकृत और सक्षम करता है। openclaw onboard या openclaw channels add के दौरान Twitch चुनने पर इसे आवश्यकता के अनुसार इंस्टॉल किया जाता है। वर्तमान रिलीज़ का अनुसरण करने के लिए केवल पैकेज नाम का उपयोग करें; पुनरुत्पाद्य इंस्टॉलेशन के लिए ही कोई सटीक संस्करण पिन करें। OpenClaw 2026.4.10 या उसके बाद का संस्करण आवश्यक है।
विवरण: Plugins
त्वरित सेटअप
1
Plugin इंस्टॉल करें
ऊपर इंस्टॉल करें देखें।
2
Twitch बॉट खाता बनाएँ
बॉट के लिए एक समर्पित Twitch खाता बनाएँ (या किसी मौजूदा खाते का उपयोग करें)।
3
क्रेडेंशियल जनरेट करें
Twitch Token Generator का उपयोग करें:
- Bot Token चुनें
- सत्यापित करें कि स्कोप
chat:readऔरchat:writeचुने गए हैं - Client ID और Access Token कॉपी करें
4
अपनी Twitch उपयोगकर्ता ID खोजें
किसी उपयोगकर्ता नाम को Twitch उपयोगकर्ता ID में बदलने के लिए https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ का उपयोग करें।
5
टोकन कॉन्फ़िगर करें
- परिवेश:
OPENCLAW_TWITCH_ACCESS_TOKEN=...(केवल डिफ़ॉल्ट खाता) - या कॉन्फ़िगरेशन:
channels.twitch.accessToken
6
Gateway शुरू करें
यह क्या है
- Gateway के स्वामित्व वाला एक Twitch चैनल।
- नियतात्मक रूटिंग: उत्तर हमेशा उसी Twitch चैनल पर वापस जाते हैं जहाँ से संदेश आया था।
- जुड़ा हुआ प्रत्येक चैनल एक पृथक समूह सत्र कुंजी
agent:<agentId>:twitch:group:<channel>से मैप होता है। usernameबॉट का खाता है (जो प्रमाणीकरण करता है),channelवह चैट रूम है जिससे जुड़ना है। प्रत्येक खाता प्रविष्टि ठीक एक चैनल से जुड़ती है।- टोकन
oauth:उपसर्ग के साथ या उसके बिना काम करते हैं; OpenClaw दोनों रूपों को सामान्यीकृत करता है (सेटअप विज़ार्डoauth:रूप की अपेक्षा करता है)।
इनबाउंड टिकाऊपन
OpenClaw सामान्य प्रेषण से पहले स्वीकार किए गए प्रत्येक Twitch चैट संदेश को टिकाऊ रूप से कतारबद्ध करता है। लंबित या पुनः प्रयास योग्य संदेश Gateway के पुनः आरंभ होने के बाद भी बने रहते हैं, कॉन्फ़िगर किए गए चैनल के लिए क्रमबद्ध रहते हैं और सक्रिय या संरक्षित पूर्णता रिकॉर्ड मौजूद रहने तक डुप्लिकेट कतार प्रविष्टियों को रोकने के लिए Twitch की संदेश ID का उपयोग करते हैं। क्लाइंट द्वारा स्वीकार किए जाने के बाद Twitch चैट किसीPRIVMSG को दोबारा नहीं भेजती। यह स्थानीय स्वीकार-से-प्रेषण क्रैश अवधि से सुरक्षा देता है, लेकिन टिकाऊ स्वीकृति से पहले छूटे संदेशों को पुनर्प्राप्त नहीं कर सकता। यदि कतार में जोड़ना ही विफल हो जाए, तो OpenClaw विफलता को लॉग करता है; दोबारा कनेक्ट होने पर Twitch से उस संदेश को पुनः भेजने का अनुरोध नहीं किया जाता।
टोकन रीफ़्रेश (वैकल्पिक)
Twitch Token Generator से प्राप्त टोकन को OpenClaw रीफ़्रेश नहीं कर सकता—समाप्त होने पर उन्हें फिर से जनरेट करें (वे कुछ घंटों तक चलते हैं; ऐप पंजीकरण आवश्यक नहीं है)। स्वचालित रीफ़्रेश के लिए Twitch Developer Console पर अपना ऐप बनाएँ और यह जोड़ें:refreshToken के बिना यह token refresh disabled (no refresh token) लॉग करता है; clientSecret के बिना यह स्थिर (रीफ़्रेश न होने वाले) टोकन पर फ़ॉलबैक करता है।
बहु-खाता समर्थन
प्रत्येक खाते के अलग क्रेडेंशियल के साथchannels.twitch.accounts का उपयोग करें। साझा पैटर्न के लिए कॉन्फ़िगरेशन देखें।
उदाहरण (दो चैनलों में एक बॉट खाता):
प्रत्येक खाता प्रविष्टि को अपना
accessToken चाहिए (परिवेश चर केवल डिफ़ॉल्ट खाते को कवर करता है)। एक खाता ठीक एक चैनल से जुड़ता है, इसलिए दो चैनलों से जुड़ने का अर्थ है दो खाते। channels.twitch.defaultAccount यह चुनता है कि कौन-सा खाता डिफ़ॉल्ट है।अभिगम नियंत्रण
allowFrom Twitch उपयोगकर्ता ID की कठोर अनुमति-सूची है। इसे सेट करने पर allowedRoles को अनदेखा किया जाता है; इसके बजाय भूमिका-आधारित अभिगम का उपयोग करने के लिए allowFrom को सेट न करें।
उपलब्ध भूमिकाएँ: "moderator", "owner", "vip", "subscriber", "all"।
- उपयोगकर्ता ID अनुमति-सूची (सबसे सुरक्षित)
- भूमिका-आधारित
- @mention आवश्यकता अक्षम करें
उपयोगकर्ता ID क्यों? उपयोगकर्ता नाम बदल सकते हैं, जिससे प्रतिरूपण संभव होता है। उपयोगकर्ता ID स्थायी होती हैं।अपनी ID उपयोगकर्ता नाम से ID कन्वर्टर से खोजें।
समस्या निवारण
पहले नैदानिक कमांड चलाएँ:बॉट संदेशों का उत्तर नहीं देता
बॉट संदेशों का उत्तर नहीं देता
- अभिगम नियंत्रण जाँचें: सुनिश्चित करें कि आपकी उपयोगकर्ता ID
allowFromमें है, या परीक्षण के लिए अस्थायी रूप सेallowFromहटाकरallowedRoles: ["all"]सेट करें। - उल्लेख गेट जाँचें:
requireMention: true(डिफ़ॉल्ट) के साथ संदेशों में बॉट उपयोगकर्ता नाम को @mention करना आवश्यक है। - जाँचें कि बॉट चैनल में है: बॉट केवल
channelमें नामित चैनल से जुड़ता है।
टोकन संबंधी समस्याएँ
टोकन संबंधी समस्याएँ
“कनेक्ट करने में विफल” या प्रमाणीकरण त्रुटियाँ:
- सत्यापित करें कि
accessTokenOAuth अभिगम टोकन का मान है (oauth:उपसर्ग वैकल्पिक है) - जाँचें कि टोकन में
chat:readऔरchat:writeस्कोप हैं - यदि टोकन रीफ़्रेश का उपयोग कर रहे हैं, तो सत्यापित करें कि
clientSecretऔरrefreshTokenसेट हैं
टोकन रीफ़्रेश काम नहीं कर रहा
टोकन रीफ़्रेश काम नहीं कर रहा
रीफ़्रेश घटनाओं के लिए लॉग जाँचें:यदि आपको
token refresh disabled (no refresh token) दिखाई दे:- सुनिश्चित करें कि
clientSecretदिया गया है - सुनिश्चित करें कि
refreshTokenदिया गया है
कॉन्फ़िगरेशन
खाता कॉन्फ़िगरेशन
string
आवश्यक
बॉट उपयोगकर्ता नाम (प्रमाणीकरण करने वाला खाता)।
string
आवश्यक
chat:read और chat:write वाला OAuth अभिगम टोकन (डिफ़ॉल्ट खाते के लिए कॉन्फ़िगरेशन या परिवेश)।string
आवश्यक
Twitch Client ID (Token Generator या आपके ऐप से)। स्कीमा में वैकल्पिक, लेकिन कनेक्ट करने के लिए आवश्यक।
string
आवश्यक
जुड़ने वाला चैनल।
boolean
डिफ़ॉल्ट:"true"
यह खाता सक्षम करें।
string
वैकल्पिक: स्वचालित टोकन रीफ़्रेश के लिए।
string
वैकल्पिक: स्वचालित टोकन रीफ़्रेश के लिए।
number
टोकन समाप्ति अवधि सेकंड में (रीफ़्रेश ट्रैकिंग)।
number
टोकन प्राप्त होने का टाइमस्टैम्प (रीफ़्रेश ट्रैकिंग)।
string[]
उपयोगकर्ता ID अनुमति-सूची। सेट होने पर भूमिकाओं को अनदेखा किया जाता है।
Array<"moderator" | "owner" | "vip" | "subscriber" | "all">
भूमिका-आधारित अभिगम नियंत्रण।
boolean
डिफ़ॉल्ट:"true"
बॉट को ट्रिगर करने के लिए @mention आवश्यक करें।
string
इस खाते के लिए आउटबाउंड उत्तर उपसर्ग का ओवरराइड।
प्रदाता विकल्प
channels.twitch.enabled- चैनल स्टार्टअप सक्षम/अक्षम करेंchannels.twitch.username/accessToken/clientId/channel- सरलीकृत एकल-खाता कॉन्फ़िगरेशन (अंतर्निहितdefaultखाता;accounts.defaultपर प्राथमिकता लेता है)channels.twitch.accounts.<accountName>- बहु-खाता कॉन्फ़िगरेशन (ऊपर दिए सभी खाता फ़ील्ड)channels.twitch.defaultAccount- कौन-सा खाता नाम डिफ़ॉल्ट हैchannels.twitch.markdown.tables- Markdown तालिका रेंडरिंग मोड (off|bullets|code|block)
टूल क्रियाएँ
एजेंट संदेश टूल कीsend क्रिया के माध्यम से Twitch संदेश भेज सकता है:
to वैकल्पिक है और इसका डिफ़ॉल्ट मान खाते का कॉन्फ़िगर किया गया channel है।
सुरक्षा और संचालन
- टोकन को पासवर्ड की तरह मानें - टोकन को कभी भी git में कमिट न करें।
- लंबे समय तक चलने वाले बॉट के लिए स्वचालित टोकन रिफ़्रेश का उपयोग करें।
- एक्सेस नियंत्रण के लिए उपयोगकर्ता नामों के बजाय उपयोगकर्ता ID की अनुमतिसूचियों का उपयोग करें।
- टोकन रिफ़्रेश घटनाओं और कनेक्शन स्थिति के लिए लॉग की निगरानी करें।
- टोकन का दायरा न्यूनतम रखें - केवल
chat:readऔरchat:writeका अनुरोध करें। - यदि अटक जाएँ: यह पुष्टि करने के बाद Gateway को पुनः आरंभ करें कि सत्र का स्वामी कोई अन्य प्रोसेस नहीं है।
सीमाएँ
- प्रति संदेश 500 वर्ण; लंबे उत्तरों को शब्द सीमाओं पर खंडों में बाँटा जाता है।
- भेजने से पहले Markdown हटा दिया जाता है (Twitch चैट सादा टेक्स्ट है; नई पंक्तियाँ रिक्त स्थान में बदल जाती हैं)।
- OpenClaw स्वयं कोई दर सीमा लागू नहीं करता; Twurple चैट क्लाइंट Twitch की दर सीमाओं को संभालता है।
संबंधित
- चैनल रूटिंग — संदेशों के लिए सत्र रूटिंग
- चैनलों का अवलोकन — सभी समर्थित चैनल
- समूह — समूह चैट का व्यवहार और उल्लेख नियंत्रण
- पेयरिंग — DM प्रमाणीकरण और पेयरिंग प्रवाह
- सुरक्षा — एक्सेस मॉडल और सुरक्षा सुदृढ़ीकरण