درویش
7 سال پیش توسط درویش مطرح شد
2 پاسخ

گرفتن مقدار در تلگرام از کاربر

با سلام
دوستان من یه ربات با تلگرام ساختم و به کاربر میگم نام و نام خانوادگی رو وارد کن و بعدش اونو بگیرم

برای گرفتن باید چیکار کنم؟؟؟
البته من دیتا از کاربر میگیرم ولی منظور من اینه که وقتی به کاربر میگم نام را وارد کن ، چطور به تلگرام بفهمونم که منتظر بمونه تا نام وارد بشه و در دیتا بیس ذخیرش کنم.طبق آموزش های جناب موسوی از سوئیچ استفاده میکنیم تا ورودی های کاربر رو کنترل کنیم ولی برای نام فرد چون متغیر هست و یه چیز ثابتی نیست فکر نکنم از سوییچ بشه استفاده کرد.

بنظر شما باید چیکار کنم؟


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 7 سال پیش مطرح شد
1

با سلام برای اینکار برای مثال شما مرحله به مرحله وردی میگیرید مثلا روی کامند start که زد شما پیامی رو بهش نشون میدین و میگین نام رو وارد کن
نام رو میگیرید و ذخیره میکنید و بعد نام خوانوادگی و به همین ترتیب میرین جلو در نهایت همه اطلاعات رو که مرحله نهایی رسید ذخیره میکنید در دیتابیس


نوید
تخصص : برنامه نویس Go / Django
@navids 7 سال پیش آپدیت شد
2

روشی که شما باید استفاده کنید رو توضیح میدم ، شاید اولش کمی گنگ باشه ولی بعدش ساده میشه
یه جدول Member درست کنیدبا مشخصات دلخواه ولی این 2 تا فیلد رو داشته باشید UserId که مربوط به Userid تلگرام است و همچنین Level

وقتی درخواستی برای شما ارسال شد بررسی کنید که کاربر در دیتابیس شما وجود دارد یا خیر (براساس Telegram UserId ) اگر بود که Level کاربر رو بگیرید در غیر اینصورت اطلاعات اون رو وارد دیتابیس کنید و همچنین Level ایشون رو برابر با 0 قرار بدید
خب
تمام

مثلا اگر برای رباتتون 2 تا دکمه گذاشتید به این شکل عمل کنید
->کاربر روی ثبت نام کلیک میکند
شما Level اون رو 1 میگنید و بهش پیغام میدید لطفا نام خود را وارد کنید
کاربر هر چیزی که وارد کند ، درخواست که برای شما میاد ابتدا لول اون رو بررسی میکنید ، در صورتی که Level اون 1 بود ، میدنید کاربر اسمشو وارد کرده و در قسمت اسم در دیتابیس ثبت میکند و Level اون رو 2 میکنید و پیغام میدید که لطفا نام خانوادگی خود را وارد نمایید.

میتوانید Level رو در قسمت switch فرار بدید به شکل زیر:

$level = لولی که از کاربر در تلگرامتون ذخیره کردید;
$Text = متن ارسالی کاربر;

<?php  
$level = لولی که از کاربر در تلگرامتون ذخیره کردید;  
$Text = متن ارسالی کاربر;

if($Text = "ثبت نام")  
{  
$user->UpdateLevel($userId,1);  
}

swicth($level)  
case '1':  
$Response = "لطفا نام خود را وارد نمایید";  
$user->UpdateLevel($userId,2);  
break;

case '2':  
$user->UpdateName($text);  
$Response = "لطفا نام خانوادگی خود را وارد نمایید";  
$user->UpdateLevel($userId,3);  
break;

?>

}


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

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