آموزش دریافت شماره تماس و لوکیشن افراد از طریق روبات تلگرام

در ادامه آموزشهای تکمیل روبات نویسی تلگرام طبق نظرسنجی که در کانال تلگرامی اختصاصی این آموزشها انجام شد، دوستان مایل به آموزش نحوه دریافت لوکیشن بودن و من برای تکمیل بحث، دریافت شماره تماس کاربر هم از اونجایی که نحوه دریافتش مشابه هست، اینجا اضافه میکنم.

شروع آموزش

برای دریافت لوکیشن از طریق روبات باید از دستورات ساخت کیبورد استفاده کنید. کدها رو ببینید و بعد توضیحات:

	if($text=='location'){
		$option = array(array($telegram->buildKeyboardButton("ارسال لوکیشن",false,true)));
		$keyb = $telegram->buildKeyBoard($option, $onetime=false);
		$content = array('chat_id' => $chat_id, 'reply_markup' => $keyb, 'text' => "ارسال لوکیشن!");
		$telegram->sendMessage($content);
	}

خط اول شرطی هست که میگیم اگه کاربر کلیدواژه contact رو ارسال کرد بقیه کدها اجرا بشه.

خط دوم و سوم از طریق تابع buildKeyboardButton یک دکمه ساخته میشه و بعد از طریق buildKeyBoard دکمه ها تبدیل به کیبورد میشن و آخر سر با تابع sendMessage همراه با یک پیام توضیحی این کیبورد رو به کاربر نشون میدیم.

نکته مهم برای اینکه دکمه ساخته شده قابلیت ارسال لوکیشن رو داشته باشه پارامترهایی هستش که تابع buildKeyboardButton دریافت میکنه. این تابع سه تا پارامتر میگیره، اولین پارامتر که عنوان دکمه هست اجباری و دوتای بعد که شامل موارد زیر میشن اختیاری هستش.

buildKeyboardButton(title, request_contact, request_location);

اگه پارامتر request_contact رو برابر با true بذاریم دکمه بعد از ساخته شدن با کلیک بر روش شماره تماس مخاطب ارسال خواهد شد و اگه request_location رو true قرار بدیم لوکیشن فرد ارسال میشه.

نکته مهم: برای دریافت لوکیشن باید تابع اینجوری صدا زده بشه چون پارامتر وسط اختیاری هستش باید اون رو فالس قرار بدیم تا یه جورایی اسکیپ بشه پارامتر دوم.

buildKeyboardButton('title', false, true);

دریافت شماره تماس

کدهای دریافت شماره تماس هم به شکل زیر هستش. کپی کدهای قبل و فقط پارامتر request_contact برابر با true قرار داده شده:

	if($text=='contact'){
		$option = array(array($telegram->buildKeyboardButton("ارسال شماره تماس",true)));
		$keyb = $telegram->buildKeyBoard($option, $onetime=false);
		$content = array('chat_id' => $chat_id, 'reply_markup' => $keyb, 'text' => "ارسال شماره تماس!");
		$telegram->sendMessage($content);
	}

پایان.

سوالی بود همینجا بپرسید و برای پیگیری بقیه آموزشها حتما در کانال مربوطه عضو بشید. مرسی
https://t.me/HowCreateBot