فناوری ربات های تلگرام این روزها اهمیت و کاربرد فراوانی پیدا کرده است، این فناوری باعث شده تا تلگرام بتواند به عنوان یک پلت فرم و بستر برای اجرای نرم افزار عمل کند. در این قسمت به معرفی ربات های تلگرام پرداخته و در جلسات بعد روش برنامه نویسی ربات های تلگرام به زبان PHP را آموزش می دهیم.
اساساً ربات های تلگرام، حساب های تلگرامی هستند که برای ثبت آنها نیاز به شماره تلفن جداگانه ای ندارید و در نتیجه حساب های ربات در تلگرام همان نقشی را در تلگرام دارند که حساب های اشخاص دارند .
ربات تلگرام چه تفاوتی با کاربران انسانی تلگرام دارد؟
- ربات ها دارای وضعیت آنلاین یا زمان آخرین بازدید نیستند و بجای آن برچسب bot را نشان می دهد.
- ربات های دارای فضای ذخیره سازی محدودی هستند و پیام های قبلی آنها توسط سرور تلگرام حذف خواهد شد.
- ربات ها نمی توانند شروع کننده گفتگو با دیگران باشند. بلکه باید یک کاربر آنها را به گروه اضافه کند یا برای آنها پیام بفرستد (افراد می توانند با جستجوی نام کاربری ربات آنها را پیدا کنند)
- نام کاربری ربات همیشه با کلمه bot خاتمه پیدا می کند. مثل(@reza_bot یا @rezabot)
- وقتی به گروهی اضافه شوند بطور پیشفرض نمی توانند همه پیام ها را دریافت کنند.
- ربات ها چیزی نمی خورند، نمی خوابند یا شکایت نمی کنند! (البته با برنامه نویسی می توان به آنها قدرت شکایت هم داد)
کاربران به شکل های زیر می توانند با ربات ها گفتگو کنند؟
کاربران انسانی تلگرام به همان شکلی که با کاربران دیگر گفتگو می کنند می توانند با ربات ها هم وارد گفتگو شوند، هم می توانند از روش های مخصوص ربات استفاده کنند. بطور کلی روش های ارتباط با ربات بصورت زیر است:
- با ارسال پیام متنی، تصویری یا …
- با کلیک یا لمس روی کلیدهای کیبورد ربات (صفحه کلیدی که در پایین پنجره باز شده و جایگزین صفحه کلید گوشی میشود)
- با کلیک یا لمس روی کلیدهای کیبورد شیشه ای ربات (کیبورد اینلاین یا همان دکمه هایی که در وسط صفحه چت نمای داده شده و قابل لمس هستند)
- با تایپ و ارسال دستورات ربات
/command [optional] [arguments]
/start
/start@rezabot
در مورد دستورات توجه داشته باشید که :
- آرگومانها اختیاری هستند.
- فرمان های ارسال شده در یگ گروه همیشه توسط ربات های عضو گروه دریافت می شوند.
- اگر در یک گروه چند ربات حضور داشته باشند برای دادن فرمان به یک ربات باید بعد از دستور ، کاربری ربات مورد نظر را بنویسیم.
- تلگرام به توسعه دهندگان ربات ها پیشنهاد می کند که ربات ها حداقل سه دستور start ، help و settings را داشته باشند.
از نظر فنی و شبکه ای کاربران چگونه با ریات در ارتباط هستند؟
هر ربات دارای یک برنامه API است که روی یک سرور میزبانی وب قرار گرفته و مدیریت ربات را برعهده دارد. از طرفی کاربران روی سیستم خودشان یک اپلیکیشن تلگرام نصب دارند و با کمک آن برای ربات پیام می فرستند، این پیام ها ابتدا به سرور تلگرام فرستاده شده و در آنجا ذخیره می شود. برنامه API ربات می تواند درخواست هایی به سرور تلگرام فرستاده تا همه پیام ها یا جدیدترین پیام های ارسال شده به ربات را بخواند. این برنامه می تواند پیام هایی به سرور تلگرام بفرستد تا برای ربات ذخیره شده و از طرف ربات در صفحه چت یا گروه ها نمایش داده شود.
سرور تلگرام دارای یک API برای ارائه این خدمات بصورت فراخوانی روال از راه دور (با فناوری سرویس های وب) است و برنامه های API ربات می توانند برای هر درخواستی، روالی از سرور تلگرام را فراخوانی کنند، اطلاعات را برای آن بفرستند یا اطلاعاتی دریافت کنند. همه اطلاعات رد و بدل شده بین برنامه API ربات و سرور تلگرام با فرمت جی سان (JSON ) انجام می شود.
برنامه API چگونه پیام های ربات را بدست می آورد؟
برنامه API ربات برای بدست آوردن پیام های ربات می تواند یکی از روش های زیر را استفاده کند:
1- برای دریافت پیام ها در بازه های زمانی کوتاه، از سرور تلگرام درخواست کند تا پیام ها برای او فرستاده شود یعنی یک روال را صدا بزند و در پاسخ لیست پیام ها را بدست آورد که این روش راLong Polling می گویند.
2- مالک ربات تلگرام، آدرس برنامه API ربات را روی سرور تلگرام تنظیم کند تا سرور تلگرام به محض دریافت پیام آن را به این آدرس بفرستد. این روش را Web Hook می گویند و روش اصلی برای خواندن آپدیت های ربات است.