ساخت ربات تلگرام ، پاسخگویی هوشمند به پیام ها
سلام
دوستان عزیز همنطوری که در مطلب قبل قول داده بودم ،در این مطلب میخوایم یه ربات هوشمند تلگرام طراحی کنیم .
سناریو : یه ربات تلگرام میخوام که به بعضی از سوالات مشترهای جواب بده ،به صورت هوشمندانه کله ای رو که ارسال میشه رو دریافت کنه و بررسی کنه که کدوم جواب رو باید برای کاربر ارسال کنه .
پیش نیاز ها :
۱- ساخت ربات -> آموزش قبل مراجعه کنید و ربات رو بسازید .
۲- دامنه به همراه ssl و هاست لینوکس ( ssl رایگان = cloudflare )
بعد از فعال شدن ssl بر روی دامنه ،یه فایل telegram.php ایجاد میکنیم :
<?php
$string = json_decode(file_get_contents('php://input'));
function objectToArray( $object )
{
if( !is_object( $object ) && !is_array( $object ) )
{
return $object;
}
if( is_object( $object ) )
{
$object = get_object_vars( $object );
}
return array_map( 'objectToArray', $object );
}
$result = objectToArray($string);
$user_id = $result['message']['from']['id'];
$text = $result['message']['text'];
$token = 'Token_Bot';
switch ($text) {
case 'سلام':
$text_reply = "سلام";
break;
case 'خوبی':
$text_reply = "ممنون";
break;
case 'هستی؟':
$text_reply = "خیر";
break;
default:
$text_reply = "متوجه نشدم";
break;
}
$url = 'https://api.telegram.org/bot'.$token .'/sendMessage?text='.$text_reply.'&chat_id='.$user_id.'&reply_markup='.$encodedMarkup;
$res = file_get_contents($url);
– فراموش نکنید که توکن رو هم جایگزین کنید .
– پیام هها به صورت json براتون ارسال میشه . با استفاده از کد خط ۳ پیام رو به صورت آبجکت دریافت میکنیم و در لاین ۴۳ پاسخ رو ارسال میکنیم .
فایل بالا رو در هاست خودتون آپلود کنید .
خوب حالا وقتشه که فایل بالا رو از طریق وب هوک به ربات تلگراممون متصل کنیم .
https://api.telegram.org/bot<token>/setWebhook?url=https://alimajidi.com/test.php
به جای <token> توکن ربات خودتون رو بزارید و به جای https://alimajidi.com/test.php آدرس دقیق فایل مورد نظر رو بدید . حالا این کد رو در مرورگر اجرا کنید .
بعد از اجرا کردن url بالا باید با پیام زیر مواجه شوید .
{"ok":true,"result":true,"description":"Webhook was set"}
ربات مورد نظر آماده میباشد : https://t.me/tooba_testBot
در آموزش های بعد ربات های حرفه ای تری خواهیم نوشت .
-
علی - 16 ژوئن 2018
سلام خوبید
-
Arsalan - 20 ژانویه 2020
Working? !!