AriaieBOY
4 سال پیش توسط AriaieBOY مطرح شد
1 پاسخ

چگونگی ذخیره state در بات تلگرام

سلام خسته نباشید
من دارم یک بات تلگرام میسازم.
کل کاری که میخوام باتم انجام بده به این صورت هست.
1- کاربر یک پست یا متن فوروارد میکنه به بات. و بات از داخل اون متن یا پست یک آی دی استخراج میکنه.
2- بات یک کیبورد نمایش میده به کاربر و چند تا گزینه بهش نشون میده.
3- پس از انتخاب یک گزینه از سمت کاربر یک ورودی از کاربر دریافت میشه.
4- بات بر اساس ای دی که در مرحله اول گرفتیم و گزینه ای که در مرحله 2 دریافت کردیم و مقدار ورودی دریافتی از مرحله 3 میاد و یک کاری را انجام میده.

بحث گرفتن پیام نمایش پیام نمایش کیبورد و... همش بدون مشکل میتونم انجام بدم. و مشکلی ندارم.
تنها مشکلی که الان دارم اینه که چجوری state که کاربر داخلش هست را ذخیره کنم.
یعنی بدونم کاربر توی مرحله یک هست دو هست یا ...
و اینکه توی هر مرحله چه داده ای به ما داده بوده.


ثبت پرسش جدید
فرزین
تخصص : طراح و توسعه‌دهنده‌ی وب
@farzin 4 سال پیش آپدیت شد
3

سلام.
چون تو شرایط عادی امکان استفاده از سشن‌ها برای بات تلگرام وجود نداره، راه حلی که شخصا استفاده می‌کنم اینه که توی دیتابیس (مشابه چیزی که در سشن‌ها داریم)، یه جدول ایجاد میکنم به این شکل مثلا (البته اگه نمیخواید از دیتابیس استفاده کنید میتونید توی یک فایل هم این اطلاعات رو ذخیره کنید ولی خب دیتابیس راحت تره):

user_id, key, value, exp_at

حالا شما خودتون میتونید مشابه سشن‌ها بیاید و با مشخص کردن کلید و مقدار دیتا هارو ذخیره کنید و هر مدل که دوست دارید ازش استفاده کنید. ستون expat هم مشخص میکنه که این سشن تا کی اعتبار داره. میتونید از chatid هم استفاده کنید اینش دیگه بستگی داره به باتی که نوشتید.
برای راحتی بیشتر هم میتونید توی مدل متود‌هایی مثل addsession و destroysession و getsession و ... اضافه کنید.
و بعد توی کد هاتون بر اساس این سشن ها میتونید بلاک بلاک استپ هارو جدا کنید.
موفق باشید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام