কেন Twitch-বট মডারেটরদের বার্তা এড়িয়ে যায়
প্রথমে নির্ধারণ করুন কোন ধাপে বার্তাটি হারিয়ে যাচ্ছে
পরীক্ষা করুন বট একই চ্যানেলে সাধারণ বার্তা পাচ্ছে কিনা। যদি লগে কোনো দর্শক বা মডারেটর না থাকে, সমস্যা সাধারণত অনুমোদন, চ্যাট সংযোগ বা চ্যানেলের নামে থাকে। যদি দর্শকরা দেখা যায় কিন্তু মডারেটরের বার্তা অনুপস্থিত থাকে, তাহলে কারণ খুঁজুন রোল ফিল্টার, IRC-ট্যাগ বা EventSub সাবস্ক্রিপশনে।
শুধু চ্যাটে বটের উত্তর নয়, ইনকামিং ইভেন্টের জার্নালও দেখুন। বার্তাটি অ্যাপ্লিকেশনে পৌঁছাতে পারে, কিন্তু প্রিফিক্স, কুলডাউন, স্টপ-ওয়ার্ড, ইগনোর-লিস্ট বা অনুমতি যাচাইয়ের কারণে কমান্ড চালু না হতে পারে। পরীক্ষার জন্য একজন দর্শক এবং একজন মডারেটরের কাছ থেকে একই ছোট বাক্যাংশ পাঠান, তারপর একই কমান্ড পাঠান।
চ্যানেল, বট অ্যাকাউন্ট এবং IRC সংযোগ পরীক্ষা করুন
নিশ্চিত করুন যে বট সঠিক চ্যানেলে এবং সেই অ্যাকাউন্ট দিয়ে প্রবেশ করেছে যা চ্যাট পড়া উচিত। চ্যানেলের নাম পরিবর্তন, লগইন পরিবর্তন বা টেস্ট ও প্রোডাকশন পরিবেশের মধ্যে সুইচ করার পরে অ্যাপ্লিকেশন অনলাইনে থাকতে পারে, কিন্তু অন্য চ্যাট শুনতে পারে।
সংযোগ লগে সফল অনুমোদন, বটের নিক এবং চ্যানেলে প্রবেশের কমান্ড দেখা যাওয়া উচিত। সংযোগ বিচ্ছিন্ন হওয়ার পরে শুধু পুনঃসংযোগের চেষ্টা নয়, নতুন সফল প্রবেশের বিষয়টিও পরীক্ষা করুন। ত্রুটি না লিখে অটো-রিকানেক্ট মেয়াদোত্তীর্ণ টোকেন, ভুল OAuth পাসওয়ার্ড বা চ্যানেলের নামের ত্রুটি লুকিয়ে রাখে।
OAuth টোকেন এবং পড়ার অনুমতি পরীক্ষা করুন
টোকেনটি সেই অ্যাকাউন্টের হওয়া উচিত যার মাধ্যমে বট চ্যাট পড়ে। এটিকে স্ট্রিমারের টোকেনের সাথে গুলিয়ে ফেলবেন না: চ্যানেল মালিকের অনুমতি আলাদা বট অ্যাকাউন্টে স্থানান্তরিত হয় না। IRC-এর মাধ্যমে বার্তা পড়ার জন্য scope chat:read প্রয়োজন।
যদি বার্তা EventSub-এর মাধ্যমে গ্রহণ করা হয়, চ্যাট ইভেন্টের জন্য user:read:chat অনুমতিসহ একটি ব্যবহারকারী টোকেন প্রয়োজন। অনুমোদন স্কিম এবং কে সাবস্ক্রিপশন তৈরি করে তার উপর নির্ভর করে, চ্যানেলে বটের অ্যাক্সেসের জন্য অনুমতিও প্রয়োজন হতে পারে, যার মধ্যে channel:bot অন্তর্ভুক্ত। অনুমান করে scope যোগ করবেন না: সেগুলো বর্তমান সাবস্ক্রিপশন স্কিম এবং যে অ্যাকাউন্টের নামে এটি তৈরি হচ্ছে তার সাথে মিলিয়ে দেখুন।
ব্যবহারকারী টোকেনের বৈধতা এবং প্রদত্ত অনুমতির তালিকা অনুরোধের মাধ্যমে পরীক্ষা করা যায়:
curl -H "Authorization: OAuth $BOT_OAUTH_TOKEN" https://id.twitch.tv/oauth2/validate
উত্তরে লগইন, ব্যবহারকারী আইডি, মেয়াদ এবং scopes অ্যারে পরীক্ষা করুন। যদি chat:read বা user:read:chat অনুপস্থিত থাকে, প্রয়োজনীয় অনুমতির সেট দিয়ে পুনরায় অনুমোদন প্রয়োজন হবে। এই সমাধানের অসুবিধা হলো পুরনো টোকেন এবং সংরক্ষিত সেশন বটের কনফিগারেশনে প্রতিস্থাপন করতে হবে, নাহলে এটি পূর্বের অনুমতি দিয়ে কাজ চালিয়ে যাবে।
IRC এবং EventSub ডায়াগনস্টিক আলাদা করুন
IRC এবং EventSub বিভিন্ন পথে বার্তা পৌঁছে দেয়। IRC স্থায়ী সংযোগের মাধ্যমে চ্যাট স্ট্রিম প্রেরণ করে: কাঁচা লগে মডারেটরের কাছ থেকে PRIVMSG লাইন খুঁজে বের করতে হবে। EventSub তৈরি করা API-সাবস্ক্রিপশনের মাধ্যমে channel.chat.message ইভেন্ট প্রেরণ করে: এখানে এর স্ট্যাটাস, condition এবং ডেলিভারি ট্রান্সপোর্ট পরীক্ষা করা হয়।
যদি বট উভয় উৎস ব্যবহার করে, প্রতিটি ইভেন্টের উৎস লগে লিখুন। নাহলে একটি বার্তা দুবার প্রক্রিয়া হতে পারে, এবং একটি ট্রান্সপোর্টের ব্যর্থতা অলক্ষিত থাকবে। যদি শুধু EventSub ব্যবহার করা হয়, IRC সংযোগের অনুপস্থিতি ত্রুটি হিসেবে গণ্য হয় না। EventSub স্কিমের অসুবিধা হলো ভুল বা নিষ্ক্রিয় সাবস্ক্রিপশনে বট বার্তা একেবারেই দেখবে না, এমনকি কার্যকর টোকেন থাকলেও।
চ্যাট বার্তার জন্য EventSub সাবস্ক্রিপশন পরীক্ষা করুন
সাবস্ক্রিপশনের তালিকায় channel.chat.message ইভেন্ট খুঁজুন। রেকর্ডটির সক্রিয় স্ট্যাটাস থাকা উচিত। condition-এ broadcaster_user_id — এটি স্ট্রিমারের চ্যানেলের আইডি — এবং user_id যিনি ইভেন্ট গ্রহণ করেন তা পরীক্ষা করুন। এই যেকোনো ID-তে ত্রুটি প্রায়ই বাছাইকৃত বার্তা অনুপস্থিতির মতো দেখায়।
GET /helix/eventsub/subscriptions-এর মাধ্যমে সাবস্ক্রিপশনের তালিকা অনুরোধ করুন। উত্তরে type, status, condition এবং transport পরীক্ষা করুন। enabled স্ট্যাটাস মানে সাবস্ক্রিপশন সক্রিয়; ডেলিভারি ব্যর্থতার বিজ্ঞপ্তি, মুছে ফেলা রেকর্ড বা অন্য চ্যানেল কারণ নির্দেশ করবে। এই অনুরোধের জন্য যে অ্যাপ্লিকেশন সাবস্ক্রিপশন তৈরি করেছিল তার টোকেন এবং Client ID ব্যবহার করুন।
শুধু প্যানেল বা বটের ডেটাবেসে রেকর্ডের উপস্থিতির উপর নির্ভর করবেন না। সাবস্ক্রিপশন টেস্ট চ্যানেলের জন্য তৈরি হতে পারে, ডেলিভারি ত্রুটির পরে মুছে ফেলা হতে পারে বা অন্য অ্যাপ্লিকেশনের সাথে সম্পর্কিত হতে পারে। API-এর মাধ্যমে পরীক্ষার অসুবিধা হলো এটি সাবস্ক্রিপশন কনফিগারেশন দেখায়, কিন্তু হ্যান্ডলারের ভিতরে ফিল্টারিং লজিক ব্যাখ্যা করে না।
IRC-ট্যাগ চালু করুন এবং লেখকের রোল পরীক্ষা করুন
যদি অনুমতি যাচাই IRC-এর উপর ভিত্তি করে হয়, ক্লায়েন্টকে twitch.tv/tags capability অনুরোধ করতে হবে। ট্যাগ ছাড়া বট টেক্সট এবং লেখকের নিক পেতে পারে, কিন্তু mod এবং badges ফিল্ড দেখতে পাবে না। সেক্ষেত্রে সাধারণ কমান্ড আসে, কিন্তু মডারেটর নিয়ম ভুলভাবে প্রত্যাখ্যান দেয়।
মডারেটরের কাঁচা বার্তায় mod=1 এবং badges=moderator/1 খুঁজুন। user-type ফিল্ড অনুপস্থিত থাকতে পারে, খালি থাকতে পারে বা বর্তমান রোলের সাথে নাও মিলতে পারে, তাই এটি একমাত্র চিহ্ন হিসেবে ব্যবহার করবেন না। পার্সারকে খালি ট্যাগ মান এবং এস্কেপ করা অক্ষর সঠিকভাবে প্রক্রিয়া করতে হবে; IRC পদ্ধতির অসুবিধা ঠিক এই ফরম্যাট নিজে বিশ্লেষণ করার প্রয়োজনীয়তায়।
যদি mod=1 না থাকে, প্রথমে নিশ্চিত করুন যে ট্যাগের capability সত্যিই সার্ভার দ্বারা নিশ্চিত হয়েছে, শুধু ক্লায়েন্ট দ্বারা পাঠানো নয়। তারপর badges পরীক্ষা করুন। moderator/1 মানে মডারেটর, broadcaster/1 — চ্যানেল মালিক। VIP সাধারণত vip/1 badge থাকে, কিন্তু VIP স্বয়ংক্রিয়ভাবে মডারেটর হয় না। স্ট্রিমার এবং VIP-কে নিক, রঙ বা display-name দিয়ে মডারেটর হিসেবে গণ্য করবেন না: রোল badges এবং আলাদা অ্যাক্সেস নিয়ম দিয়ে নির্ধারণ করুন।

কোড এবং সেটিংসে রোল নিয়ম পরীক্ষা করুন
একই টেক্সটসহ দর্শক, VIP, মডারেটর এবং চ্যানেল মালিকের কাঁচা ইভেন্ট তুলনা করুন। যদি মডারেটরের ইভেন্ট অ্যাপ্লিকেশনে পৌঁছায় কিন্তু হ্যান্ডলার এটি এড়িয়ে যায়, ত্রুটি গ্রহণের পরে থাকে: রোল যাচাই, ব্ল্যাকলিস্ট, অ্যান্টিস্প্যাম বা কমান্ড রাউটিংয়ে।
- তুলনার আগে লগইনগুলোকে একই কেসে আনুন।
- একটি নির্দিষ্ট ট্যাগ সেট নয়, mod=1 এবং moderator badge পরীক্ষা করুন।
- broadcaster, moderator, vip এবং বটের নিজের অ্যাকাউন্টের জন্য আলাদাভাবে অনুমতি নির্ধারণ করুন।
- পরীক্ষা করুন মডারেটর ইগনোর-লিস্ট, ব্যান-লিস্ট বা নিষিদ্ধ ব্যবহারকারীর তালিকায় পড়েছে কিনা।
- শর্তের ক্রম দেখুন: অ্যান্টিস্প্যাম বা স্টপ-ওয়ার্ড রোল যাচাইয়ের আগে কার্যকর হতে পারে।
- নিশ্চিত করুন যে কমান্ডটি উল্লেখ, লিঙ্ক বা টেক্সট পুনরাবৃত্তিসহ বার্তার নিয়ম দ্বারা ব্লক হচ্ছে না।
নিকের ম্যানুয়াল তালিকা শুধু সংক্ষিপ্ত ডায়াগনস্টিকের জন্য উপযুক্ত। এর অসুবিধা — মডারেটর পরিবর্তন, অ্যাকাউন্টের নাম পরিবর্তন বা চ্যানেলে রোল পরিবর্তনের পরে এটি পুরনো হয়ে যায়।
কমান্ড ফরম্যাট, লিমিট এবং লুকানো ইগনোর বাদ দিন
বট বার্তা দেখতে পারে এবং ইচ্ছাকৃতভাবে উত্তর না দিতে পারে। কমান্ডের কুলডাউন, একজন ব্যবহারকারীর কাছ থেকে বার্তার সীমা, পুনরাবৃত্তি সুরক্ষা, ইমোজি ফিল্টার এবং স্টপ-ওয়ার্ড পরীক্ষা করুন। মডারেটররা প্রায়ই দ্রুত কমান্ড পাঠান এবং দর্শকদের মতোই অ্যান্টিস্প্যামের আওতায় পড়তে পারেন।
আলাদাভাবে একটি সাধারণ বাক্যাংশ এবং প্রিফিক্সসহ একটি কমান্ড পরীক্ষা করুন। যদি বাক্যাংশ লগে থাকে কিন্তু কমান্ড প্রক্রিয়াকরণের ফলাফলে না পৌঁছায়, প্রিফিক্স, কীবোর্ড লেআউট, স্পেস, অদৃশ্য অক্ষর এবং আর্গুমেন্ট পরীক্ষা করুন। স্ল্যাশসহ কমান্ড এবং মডারেশন অ্যাকশন সবসময় সাধারণ টেক্সট হিসেবে আসে না যা হ্যান্ডলার প্রত্যাশা করে।
প্রতিটি বার্তার সিদ্ধান্তের কারণ লিখুন
ডায়াগনস্টিকের জন্য সময়, ইভেন্টের উৎস, চ্যানেল, লেখকের ID, বার্তার ধরন, ট্যাগ এবং প্রক্রিয়াকরণের ফলাফল সংরক্ষণ করুন। ত্রুটি খুঁজতে প্রয়োজন না হলে টেক্সট মাস্ক করা যায়। লগে নির্দিষ্ট কারণ থাকা উচিত: বার্তা পাওয়া যায়নি, রোল শনাক্ত হয়নি, প্রিফিক্স পাস করেনি, কুলডাউন কার্যকর হয়েছে, ব্যবহারকারী ইগনোরে আছে বা EventSub সাবস্ক্রিপশন নিষ্ক্রিয়।
সাধারণ লগে OAuth টোকেন, অ্যাপ্লিকেশনের সিক্রেট, ওয়েবহুক ঠিকানা এবং সম্পূর্ণ অনুমোদন হেডার লিখবেন না। এই ডেটা ডিবাগিংয়ে সুবিধাজনক, কিন্তু ফাঁস হলে বট এবং অ্যাপ্লিকেশন সেটিংসে অ্যাক্সেস খুলে যেতে পারে।
ক্রমানুসারে ডায়াগনস্টিক চেকলিস্ট
- দর্শক এবং মডারেটরের কাছ থেকে একই বাক্যাংশ এবং একই কমান্ড পাঠান।
- কাঁচা লগ পরীক্ষা করুন এবং নির্ধারণ করুন বার্তাটি IRC, EventSub বা উভয় উৎসের মাধ্যমে এসেছে কিনা।
- যদি IRC বার্তা না পায়, বটের অ্যাকাউন্ট, চ্যানেলের নাম, টোকেন এবং চ্যাটে সফল প্রবেশ মিলিয়ে দেখুন।
- যদি IRC বার্তা আসে, নিশ্চিত করুন ট্যাগ চালু আছে, তারপর mod=1 এবং badges=moderator/1 পরীক্ষা করুন।
- যদি mod=1 অনুপস্থিত থাকে, twitch.tv/tags নিশ্চিতকরণ পরীক্ষা করুন এবং moderator/1, vip/1 এবং broadcaster/1 আলাদা করুন।
- validate-এর মাধ্যমে টোকেন পরীক্ষা করুন: IRC-এর জন্য chat:read প্রয়োজন, EventSub বার্তার জন্য — user:read:chat।
- EventSub-এর মাধ্যমে কাজ করার সময় সাবস্ক্রিপশন তালিকায় channel.chat.message, enabled স্ট্যাটাস, condition এবং transport পরীক্ষা করুন।
- রোল প্রক্রিয়াকরণ, ইগনোর-লিস্ট, অ্যান্টিস্প্যাম, প্রিফিক্স, কুলডাউন এবং স্টপ-ওয়ার্ড তুলনা করুন।
- লগে স্পষ্ট কারণ যোগ করুন কেন প্রতিটি বার্তা গৃহীত, উপেক্ষিত বা প্রত্যাখ্যাত হয়েছে।
Last Articles
ডিজাইন এবং ফাংশনে কী পরিবর্তন হয়েছে আমরা সাইটটি আপডেট করেছি যাতে এটির সাথে কাজ করা দ্রুত এবং আরও সুবিধাজনক হয়। প্রধান পরিবর্তনগুলি ইন্টারফেস, ব্যক্..
Good afternoon, I've collected all the news during this time.: 1. The main news is that prices for twitch viewers have been greatly reduced, while Tw..
1. আমাদের সকল দর্শকের জন্য ১৫% ছাড় পেতে "December2025" প্রোমো কোড ব্যবহার করুন2. আমরা ১ জানুয়ারি পর্যন্ত আমাদের কনফিগারেটর এবং সবচেয়ে সাশ্রয়ী মূল্..
টুইচ পরিষেবাগুলি হল স্থিরভাবে কাজ করা, তাই আমরা স্কোয়াড, রিসেলারদের সাথে সহযোগিতা করতে প্রস্তুত, সেবা মালিকদের, বট মালিকদের, এবং অনেক অন্যদের.টেল..
আমরা আমাদের টুইচ ভিউয়ার পরিষেবাগুলি সম্পূর্ণরূপে আপডেট করেছে এবং তারা এখন স্থিরভাবে কাজ. আমরা শুধুমাত্র দর্শকদের জন্য উচ্চ মানের আইপি ঠিকানা ব্যব..
Hello everyone! Today, we are announcing a new feature—"Twitch Viewer Configurator". Now, you can customize any plan for your Twitch channel. Choo..
Greetings, I have compiled a guide for streamers, which will be very relevant at the moment. Now YouTube and twitch have disabled monetization from vi..
We have finally developed the APINow it will be more convenient for our partner sites to work with us.To update the maximum tariffs for YouTube, an up..
অংশীদারিত্ব পরিষেবা এবং রেফারেল প্রোগ্রামের ব্যাপক জনপ্রিয়তার কারণে, আমরা একটি সহযোগিতা টেবিল তৈরি করেছি। সারমর্মটি খুব সহজ: আরও লাইভ দর্শক - আমাদের ..
স্ট্রিমারদের জন্য আমাদের পরিষেবা

Dlive

Bigo
কন্টেন্ট ক্রিয়েটরদের জন্য আমাদের পরিষেবা








