اگر چتبات در پخش زنده دو بار پاسخ میدهد چه کنیم
ابتدا نوع تکرار را مشخص کنید
دو پاسخ یکسان پشت سر هم یک خرابی واحد نیست، بلکه حداقل دو مشکل متفاوت است. حالت اول: بات یک رویداد دریافت کرده، اما دو بار. حالت دوم: رویداد یک بار رسیده، اما او دو بار ارسال کرده است. درمان این دو متفاوت است، پس با ویرایش کد شروع نکنید — با لاگها شروع کنید.
ژورنال بات را باز کنید و لحظه تکرار را پیدا کنید. سپس به دو فیلد نگاه کنید: شناسه رویداد و زمان دریافت.
- دو درخواست با یک event_id (یا message_id، notification_id — نام بستگی به پلتفرم دارد) و اختلاف چند میلیثانیه — این تحویل مجدد یک رویداد است. به دنبال حذف تکراری بگردید.
- دو درخواست با شناسههای متفاوت — واقعاً دو هندلر روی کانال مشترک شدهاند. به دنبال اشتراک دوم بگردید.
اگر اصلاً لاگی وجود ندارد، از پنلهای پلتفرم شروع کنید: آنجا مشخص است چه کسی روی رویدادهای کانال مشترک شده است.
اشتراک دوتایی در پنلها چگونه به نظر میرسد
پلتفرمها «بات دو بار متصل شده» را در یک خط نشان نمیدهند. نشانهها در بخشهای مختلف پراکندهاند.
Twitch
بخش Connections در تنظیمات حساب را بررسی کنید — آنجا فهرست برنامههای متصل است. همان بات میتواند هم بهعنوان برنامه کانال و هم بهعنوان برنامه حساب شخصی شما مجاز شده باشد. بهعلاوه اشتراکهای EventSub جداگانه باقی میمانند: برنامه میتواند اشتراک فعال روی channel.chat.message را حتی پس از قطع کردن یکپارچهسازی در پنل نگه دارد. نمونه دوم بات که بهصورت محلی اجرا شده هم بهاندازه نمونه اصلی رویدادها را دریافت میکند.
YouTube
اینجا بیشتر اوقات مقصر خود بات نیست، بلکه دسترسی به چت است: بات هم بهعنوان مدیر و هم بهعنوان یک حساب شرکتکننده جداگانه به پخش متصل است. فهرست مدیران و فهرست برنامههای مجاز کانال را بررسی کنید. جدا از این — اگر بات از طریق چند پروژه Google Cloud کار میکند، کلیدها ممکن است از دو مسیر مختلف عبور کنند.
Discord
واضحترین حالت: دو برنامه با توکن یکسان روی یک سرور. هر دو پیام کانال را میبینند و هر دو به آن پاسخ میدهند. فهرست باتهای سرور را بررسی کنید و مطمئن شوید وبهوک دومی با همان نام به کانال متصل نیست.
عیب این مسیر این است که نه فقط به بات، بلکه به پنلهای کانال هم نیاز دارید. اگر چند نفر کانال را اداره میکنند، ممکن است شخص دیگری نمونه دوم را بالا آورده باشد و شما از آن بیخبر باشید.
تکرار وبهوک: چرا رویداد دو بار میرسد
سرویس خارجی وبهوک را تحویل میدهد و منتظر تأیید میماند. اگر در زمان تعیینشده تأیید نگیرد — دوباره ارسال میکند. درخواست دوم همان رویداد را حمل میکند، اما بات آن را جدید میپندارد و دوباره پاسخ میدهد. این اتفاق با هر کندی سرور رخ میدهد: هرچه بار بیشتر، بیشتر تکرار میشود.
درمان آن حذف تکراری در سمت بات است. به کلیدی نیاز دارید که برای همه نسخههای یک رویداد یکسان و برای رویدادهای مختلف یکتا باشد. کلید از بدنه درخواست یا هدرها گرفته میشود — این به API بستگی دارد، اما الگو یکسان است.
نمونه کلید حذف تکراری
وبهوک مربوط به یک دونیت جدید را تصور کنید. در بدنه شیئی با فیلد id میآید — شماره یکتای تراکنش که در تحویل مجدد تغییر نمیکند. منطق این است:
- هنگام دریافت درخواست، id را از بدنه بیرون بکشید.
- در انبار (Redis، جدول در پایگاه داده) بررسی کنید آیا در مثلاً ۲۴ ساعت گذشته دیده شده است یا نه.
- اگر دیده شده — به سرویس «دریافت شد» پاسخ دهید و چیزی به چت نفرستید.
- اگر نه — ثبت کنید و طبق معمول پردازش کنید.
کلید باید دقیقاً از خود رویداد باشد، نه ساختهشده توسط شما: اگر کلید خودتان را بسازید، دو تحویل یک رویداد کلیدهای متفاوت خواهند داشت و حذف تکراری کار نخواهد کرد. برخی پلتفرمها هدر آمادهای با شناسه تحویل میدهند — در آن صورت از آن استفاده کنید، این مطمئنتر است. عیب این رویکرد نیاز به انبار و سیاست پاکسازی است، وگرنه پایگاه کلیدها بیحد رشد میکند.
اگر تکرار از دو منبع مختلف آمده باشد
داستان جداگانهای است وقتی رویداد تکرار نمیشود، بلکه واقعاً از دو جا میآید. کلاسیک آن: بات به دستور هم در چت و هم در ارسال متقابل بین پلتفرمها از طریق پل پاسخ میدهد. یا پاسخ خودکار روی دو تریگری تنظیم شده که روی یک عبارت یکسان فعال میشوند.
این تکرارها در لاگها با تکرار وبهوک تفاوت دارند: درخواستها منابع متفاوت دارند (پلتفرمهای مختلف، هندلرهای مختلف)، اما یک رویداد معنایی واحد است. به دنبال همپوشانی تریگرها بگردید و یکی را غیرفعال کنید. برای پل — پیامهای خود بات را به عقب ارسال نکنید.
بررسی پیش از پخش زنده
- یک دستور آزمایشی بفرستید و ببینید چند پاسخ آمده است.
- همه یکپارچهسازیها را جز یکی غیرفعال کنید و تکرار کنید.
- یکییکی فعال کنید تا تکرار برگردد — اینطور مقصر را پیدا میکنید.
- در لاگها شناسه رویداد هر دو پاسخ را مقایسه کنید: یکسان — تحویل مجدد، متفاوت — اشتراک دوم.
اگر علت پیدا نشد، پاسخ خودکار به رویداد مشکلدار را غیرفعال کنید و با لاگها و زمان تکرار به پشتیبانی سرویس بنویسید. تا زمانی که منتظرید — چت را دستی اداره کنید: بهتر است یک شب اتوماسیون را از دست بدهید تا اینکه پخش را با عبارتهای یکسان پر کنید.
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
خدمات ما برای تولیدکنندگان محتوا









