چرا بات 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 رویداد channel.chat.message را از طریق اشتراک API ایجادشده منتقل میکند: اینجا وضعیت، condition و روش تحویل آن را بررسی کنید.
اگر بات از هر دو منبع استفاده میکند، منبع هر رویداد را در لاگ ثبت کنید. در غیر این صورت ممکن است یک پیام دو بار پردازش شود و خرابی یک روش انتقال نامرئی بماند. اگر فقط از EventSub استفاده میشود، نبود اتصال IRC خطا محسوب نمیشود. عیب طرح EventSub این است که با اشتراک نادرست یا غیرفعال، بات اصلاً پیامها را نمیبیند، حتی با توکن معتبر.
اشتراک EventSub برای پیامهای چت را بررسی کنید
در فهرست اشتراکها رویداد channel.chat.message را پیدا کنید. رکورد باید وضعیت فعال داشته باشد. در condition، broadcaster_user_id — یعنی شناسه کانال استریمر — و user_id کاربری که رویدادها را دریافت میکند را بررسی کنید. خطا در هر یک از این شناسهها اغلب به شکل نبود انتخابی پیامها ظاهر میشود.
فهرست اشتراکها را از طریق GET /helix/eventsub/subscriptions درخواست کنید. در پاسخ، type، status، condition و transport را بررسی کنید. وضعیت enabled یعنی اشتراک فعال است؛ اعلانهای خرابی تحویل، رکورد حذفشده یا کانال متفاوت علت را نشان میدهند. برای این درخواست از توکن و Client ID همان برنامهای استفاده کنید که اشتراک را ایجاد کرده است.
فقط به وجود رکورد در پنل یا پایگاه داده بات تکیه نکنید. ممکن است اشتراک برای کانال تست ایجاد شده باشد، پس از خطای تحویل حذف شده باشد یا به برنامه دیگری تعلق داشته باشد. عیب بررسی از طریق API این است که پیکربندی اشتراک را نشان میدهد اما منطق فیلتر داخل خود پردازشگر را توضیح نمیدهد.
تگهای IRC را فعال کنید و نقش نویسنده را بررسی کنید
اگر بررسی دسترسی بر پایه IRC است، کلاینت باید capability مربوط به twitch.tv/tags را درخواست کند. بدون تگها، بات ممکن است متن و نام نویسنده را دریافت کند اما فیلدهای mod و badges را نبیند. در این حالت دستورهای عادی میرسند اما قوانین مدیرانه رد اشتباه میدهند.
در پیام خام مدیر به دنبال mod=1 و badges=moderator/1 بگردید. فیلد user-type ممکن است وجود نداشته باشد، خالی باشد یا با نقش فعلی مطابقت نداشته باشد، بنابراین آن را تنها نشانه در نظر نگیرید. پارسر باید مقادیر خالی تگها و کاراکترهای escapeشده را بهدرستی پردازش کند؛ عیب رویکرد IRC دقیقاً در نیاز به تجزیه دستی این قالب است.
اگر mod=1 وجود ندارد، ابتدا مطمئن شوید که capability تگها واقعاً توسط سرور تأیید شده است، نه فقط توسط کلاینت ارسال شده باشد. سپس badges را بررسی کنید. مقدار moderator/1 یعنی مدیر، broadcaster/1 یعنی مالک کانال. VIP معمولاً badge با مقدار vip/1 دارد، اما VIP بهطور خودکار مدیر نمیشود. استریمر و VIP را نباید بر اساس نام، رنگ یا display-name مدیر حساب کرد: نقش را بر اساس badges و قوانین دسترسی جداگانه تعیین کنید.

قوانین نقشها را در کد و تنظیمات بررسی کنید
رویدادهای خام از بیننده، VIP، مدیر و مالک کانال را با متن یکسان مقایسه کنید. اگر رویداد مدیر به برنامه رسیده اما پردازشگر آن را نادیده گرفته است، خطا پس از دریافت است: در بررسی نقش، لیست سیاه، ضداسپم یا مسیریابی دستورها.
- لاگینها را قبل از مقایسه به یک حروف بزرگ/کوچک یکسان تبدیل کنید.
- mod=1 و badge مدیر را بررسی کنید، نه یک مجموعه ثابت از تگها.
- دسترسیها را برای broadcaster، moderator، vip و حساب خود بات جداگانه تعریف کنید.
- بررسی کنید آیا مدیر در لیست نادیدهگرفتن، لیست مسدود یا فهرست کاربران ممنوعه قرار گرفته است.
- ترتیب شرطها را ببینید: ضداسپم یا کلمات ممنوعه ممکن است پیش از بررسی نقش فعال شوند.
- مطمئن شوید دستور توسط قانون مربوط به پیامهای دارای منشن، لینک یا تکرار متن مسدود نمیشود.
فهرست دستی نامها فقط برای عیبیابی کوتاهمدت مناسب است. عیب آن این است که پس از تغییر مدیران، تغییر نام حساب یا تغییر نقشها در کانال قدیمی میشود.
قالب دستور، محدودیتها و نادیدهگرفتن پنهان را کنار بگذارید
ممکن است بات پیام را ببیند و عمداً پاسخ ندهد. کولداون دستور، محدودیت پیام از یک کاربر، محافظت در برابر تکرار، فیلتر ایموجی و کلمات ممنوعه را بررسی کنید. مدیران اغلب دستورها را سریع ارسال میکنند و ممکن است مانند بینندهها گرفتار ضداسپم شوند.
بهطور جداگانه یک عبارت عادی و یک دستور با پیشوند را تست کنید. اگر عبارت در لاگ هست اما دستور به نتیجه پردازش نرسیده است، پیشوند، چیدمان صفحهکلید، فاصلهها، کاراکترهای نامرئی و آرگومانها را بررسی کنید. دستورهای با اسلش و اقدامات مدیریتی همیشه به شکل متن عادی مورد انتظار پردازشگر نمیرسند.
دلیل تصمیم برای هر پیام را ثبت کنید
برای عیبیابی، زمان، منبع رویداد، کانال، شناسه نویسنده، نوع پیام، تگها و نتیجه پردازش را ذخیره کنید. اگر متن برای یافتن خطا لازم نیست، میتوان آن را ماسک کرد. در لاگ باید دلیل مشخص باشد: پیام دریافت نشد، نقش شناسایی نشد، پیشوند عبور نکرد، کولداون فعال شد، کاربر در لیست نادیدهگرفتن است یا اشتراک 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" برای 15% تخفیف برای همه بینندگان ما استفاده کنید2. ما تا 1 ژانویه قیمتهای پایه برای ابزار پیکربندی و مقرونبهصرفهت..
خدمات Twitch با ثبات کار ميکنيم ، پس آماده ايم با گروه ها و فروشنده ها همکاري کنيم, صاحبان خدمات ، صاحبان ربات ها و بسیاری دیگر.اصطلاحات فردی را م..
ما خدمات twitch viewer ما را به طور کامل به روز کرده اند و اکنون کار پایدار. ما فقط از آدرس های ip با کیفیت بالا برای بینندگان استفاده می کنیم.این..
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..
با توجه به محبوبیت بسیار زیاد خدمات مشارکتی و برنامه ارجاع، جدول همکاری تهیه کرده ایم. ماهیت بسیار ساده است: مخاطبان زنده بیشتر - تبلیغات بیشتر از طرف..
خدمات ما برای استریمرها

Shopee
خدمات ما برای تولیدکنندگان محتوا









