چت بات برای React و Next.js
یک پکیج npm، یک کامپوننت، بدون وابستگی اضافه.
چطور روی ریاکت و نکست نصبش کنم؟
سه قدم. کلید عمومی ربات در پنل، بخش ۸ تنظیمات است.
قدم ۱
npm i @bababot/react
قدم ۲
<BabaBot botKey="کلید عمومی" /> را در ریشهی اپ بگذار.
قدم ۳
یا بدون پکیج: همان تگ script را با next/script و strategy="lazyOnload".
پکیج فقط لودر رسمی را تزریق میکند و موقع unmount پاکش میکند، پس در ناوبری سمت کلاینت چند نسخه از ویجت ساخته نمیشود.
کد امبد دقیقاً چیست؟
یک خط، درست قبل از بستن تگ body. چیزی به DOM سایتت اضافه نمیکند جز یک حباب و یک آیفریم.
<script src="https://bababot.ir/widget.js" data-bababot="کلید عمومی" async></script>
قفل دامنه اجباری است: کد امبد عمومی است و هر کسی میتواند کپیاش کند، پس اعتبارسنجی روی هدر
Origin و سمت سرور انجام میشود — نه در جاوااسکریپت ویجت.سؤالهای متداول ریاکت و نکست
با App Router کار میکند؟
بله. کامپوننت useEffect دارد، پس فایلی که واردش میکند باید «use client» باشد.
SSR را خراب نمیکند؟
کامپوننت روی سرور چیزی رندر نمیکند و null برمیگرداند. تزریق اسکریپت فقط در مرورگر اتفاق میافتد.
میتوانم از دکمهی خودم بازش کنم؟
بله، تابع openBabaBot() را صدا بزن.
چرا رابط گفتگو خودش کامپوننت نیست؟
چون آنوقت هر تغییر کوچک در ویجت یک انتشار npm لازم داشت و نصف نصبها همیشه یک نسخه عقب میماندند.