ساخت ربات تلگرام

به دوره ی آموزش ساخت ربات تلگرام خوش آمدید.

در این دوره قصد داریم از صفر تا صد طراحی ربات تلگرام رو آموزش بدیم.

پس از آموزش هایی که در این دوره می بینید، به راحتی می توانید:

– ربات مورد علاقه تان را طراحی کنید.

– ربات رو انتشار بدید و کسب درآمد کنید.

– طراحی ربات را به حرفه ی خود تبدیل کنید.

در این سری آموزش ها از زبان برنامه نویسی پایتون برای طراحی ربات تلگرام استفاده شده است.

BotFather :

بات فادر چیست؟

بات فادر صرفا یک ربات تلگرام است که توسط  تلگرام ایجاد شده است. در زیر با دستورات این ربات آشنا می شویم:

برای وارد شدن به این ربات روی لینک BotFather کلیک کنید و یا دستور Botfather@  را در تلگرام وارد کنید. حالا به پیوی بات فادر برید و دستورات زیر را وارد کنید.

برای ایجاد یک ربات دستور newbot/ را وارد کنید.

در پاسخ بات فادر از شما می خواهد که یک نام برای ربات انتخاب کنید. ( این نام میتواند فارسی یا انگلیسی باشه و میتونه همراه با اموجی باشه). در اینجا ما نام تست بات رو انتخاب کردیم.

بعد از اینکه نام ربات را وارد کردید، بات فادر از شما می خواهد که لینک ربات را وارد کنید. لینک ربات فقط میتونه انگلیسی باشه  و باید از کلمه ی bot در آخر لینک استفاده بشه. مثل : samplemybot

بعد از ارسال بات فادر به شما یک کلید میده به نام API_KEY  یا توکن ربات.

توکن به توسعه دهندگان و طراحان ربات داده میشه ، اونها این توکن را در برنامه ها و اسکریپت خودشون وارد می کنند و به این صورت به ربات برنامه می دهند.

ساخت ربات تلگرام

تغییر عکس پروفایل ربات:

برای تغییر عکس ربات به شکل زیر عمل کنید

در ربات بات فادر دستور setuserpic/  را وارد کنید

ربات خود را انتخاب کنید

عکس مورد نظرتان را ارسال کنید.

برای دیدن ربات بر روی لینک ربات کلیک کنید: samplemybot@

تغییر توضیحات:

توضیحات یا description  متنی است که در صفحه ی اول ربات (قبل از اینکه کاربر دستور start/ را وارد کند) ظاهر می شود.

دستور setdescription/  را وارد کنید

ربات خود را انتخاب کنید.

متن مورد نظرتان را ارسال کنید

پس از تایید میتوانید به ربات وارد شده و متن توضیحات را ببینید.

درباره ی ربات:

دستور abouttext/ را وارد کنید

ربات خود را انتخاب کنید

متن خود را وارد کنید

پس از تایید به ربات وارد شده و در قسمت پروفایل ربات متن مورد نظرتان را مشاهده کنید.

خب حالا ربات آماده است.

در قسمت بعدی ساخت ربات تلگرام می بینید که چطور به ربات دستور بدید و برنامه نویسی انجام بدید.

ارتباط با ربات از طریق مرورگر

حالا می رسیم به قسمت ارتباط با ربات. برای اینکه بتونیم از ربات استفاده کنیم نیاز داریم که از API تلگرام استفاده کنیم.

در واقع تلگرام یک برنامه ی Open Source است و از سرویس API برای توسعه ی ربات ها استفاده کرده است.

می خواهیم اولین پیام را به ربات ارسال کنیم. می خواهیم با ربات اولین تماس رو برقرار کنیم.

در مرور گر خودتون دستور زیر را وارد کنید:

https://api.telegram.org/bot<your-bot-token>/getme

به جای <your-bot-token> توکن خودتون رو وارد کنید .

مانند:

https://api.telegram.org/bot697981273:AAEHGMzxp5MyxWfwxeJBUsDgsYB7jeO5XeI/getme

قسمت اول این URL نشون میده که ما میخواهیم با API تلگرام(api.telegram.org)  ارتباط برقرار کنیم.ما اونو با bot/ ادامه دادیم تا بگیم که ما میخواهیم یک دستور به رباتمون بفرستیم، و فورا بعدش توکن رو اضافه میکنیم تا مشخص کنیم که به کدوم رباتمون میخواهیم ارتباط برقرار کنیم و ثابت کنیم که ما صاحب اون ربات هستیم.

در انتهای کار ما دستور getme  رو میزنیم، خروجی که دریافت میکنیم یک سری اطلاعات اساسی در مورد رباتمون هست.این اطلاعات مشابه زیر هست:

{“ok”:true,”result”:{“id”:697981273,”is_bot”:true,”first_name”:”myname”,”username”:”samplemybot”}}

دریافت پیام هایی که به ربات ما ارسال می شود

دستور getUpdates برای دریافت پیامهای ارسال شده به رباتمون هست. قبل از اینکه این دستور رو وارد کنید ابتدا به رباتتون یک پیام ارسال کنید.

روی لینک ربات کلیک کنید و دستور start/  را در ربات وارد کنید.

سپس دستور زیر را در مرورگر وارد کنید:

https://api.telegram.org/bot<your-bot-token>/getUpdates

در مرورگر مقدار زیر برگشت داده می شود:

{"update_id":102331253,
"message":{"message_id":3,"from":{"id":223356203,"is_bot":false,"first_name":"Bot Developer"
,"username":"HyperDesign","language_code":"en-US"},
"chat":{"id":223356203,"first_name":"Bot Developer","username":"HyperDesign","type":"private"},
"date":1533298591,"text":"/start","entities":[{"offset":0,"length":6,"type":"bot_command"}]}}]}

مقداری که برگشت داده میشود یک جی سون است.(در مورد جی سون بیشتر بدانید).درباره ی تمام پارامترهای این متغیر کامل توضیح داده خواهد شد.
در اینجا فقط چند تا از پارامترها را بررسی میکنیم:
first_name: نام صاحب ربات
username: یوزرنیم صاحب ربات
text: متنی که به ربات فرستاده شده است. در اینجا /start
chat:id: چت آیدی کسی که به ربات پیام فرستاده است. چت آیدی همان آیدی عددی است که برای هر شخص منحصر به فرد است. با استفاده از ربات @userinfobot
می توانید آیدی عددی خودتون رو بدست بیارید.
در واقع این پارامترها به ما میگند چه کسی و چه متنی و در چه تاریخی به ربات پیام ارسال کرده است.

 ارسال پیام از ربات به کاربران

برای اینکه ربات بتونه به کاربری پیام ارسال کنه ابتدا باید کاربر به ربات یک پیام ارسال کنه. در واقع ربات ها برای اینکه برای کاربران مزاحمت ایجاد نکنند آغاز کننده ی گفتگو نیستند.

در بخش قبل شما ربات رو استارت کردید پس ربات میتونه با شما گفتگو کنه. حالا چطوری از طریق ربات گفتگو کنیم؟

برای این کار هم متدی وجود داره به نام sendMessage ، روش استفاده از این متد به شکل زیر هست که با جزییات شرح داده میشه:

https://api.telegram.org/bot<your-bot-token>/sendMessage?chat_id=<chat-id>&text=Hello

کافیه دستور بالا رو در مرورگر وارد کنید و به جای <your-bot-token > توکن خودتون رو وارد کنید و به جای <chat-id> آیدی عددی خودتون رو وارد کنید(پارامتر223356203 در مثال بالا، البته این عدد برای شما متفاوت است) . به محض اینکه این دستور رو در مرورگر وارد کردید، یک پیام از ربات دریافت میکنید که میگه:  “Hello”

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