ساخت ربات تلگرام ، پاسخگویی هوشمند به پیام ها
سلام
دوستان عزیز همنطوری که در مطلب قبل قول داده بودم ،در این مطلب میخوایم یه ربات هوشمند تلگرام طراحی کنیم .
سناریو : یه ربات تلگرام میخوام که به بعضی از سوالات مشترهای جواب بده ،به صورت هوشمندانه کله ای رو که ارسال میشه رو دریافت کنه و بررسی کنه که کدوم جواب رو باید برای کاربر ارسال کنه .
پیش نیاز ها :
۱- ساخت ربات -> آموزش قبل مراجعه کنید و ربات رو بسازید .
۲- دامنه به همراه 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? !!