آموزش ربات تلگرام

0 Comments

ربات تلگرام

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

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

چیجوری ربات تلگرام بسازیم؟

ساخت ربات تلگرام یا Telegram Bot بسیار آسونه ولی واسه به کار گیری امکانات اون حتما باید علم کمی از برنامه نویسی داشته باشین. همونجوریکه در آموزش ساخت ربات تلگرام اشاره کردیم شما خیلی راحت با طی چند قدم ساده و به کار گیری رباتی به نام @BotFather می تونین ربات خود رو بسازین. پس از اتصال به این ربات یه کد هویت یا Authorization Token واسه شما فرستاده میشه که درگاه ارتباطی شما با API هستش. از این پس شما خیلی راحت می تونین با ربات خود رابطه برقرار کنین و اون رو مدیریت کنین.

چند نمونه ربات تلگرام معرفی کنین

در مثالای زیر دو نمونه از رباتایی که به زبون php ساخته شده قابل مشاهده هستن.

  • ربات Hello Bot تلگرام که رباتی بسیار ساده س!.
  • ربات پیشرفته @gheymatkhodro_bot که واسه باخبر شدن از قیمت خودروا بوسیله تیم وب سیما ساخته شده.

هم اینکه شما با مراجعه به مرکز آموزش سایت تلگرام می تونین رباتای متنوعی که با زبانای برنامه نویسی جور واجور نوشته شده رو ببینین. تازگیا سایتایی جورواجور واسه معرفی رباتای تلگرام راه اندازی شده که محبوب ترین اونا Storebot.meه. البته این سایت هیچ وابستگی به شرکت تلگرام نداشته و به شکل جداگونه راه اندازی شده.

فروشگاه ربات تلگرام

می تونیم امکانات بیشتری به ربات تلگرام اضافه کرد؟

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

رباتای تلگرام قادر به دریافت چه پیامایی هستن؟

رباتا تلگرام اگه در حالت تنظیمات پیش فرض قرار داشته باشن می تونن پیامای زیر رو در یافت کنن:

  • پیامایی با وارد کردن اطلاعات از طریق صفحه کلید به ربات ارسال می شن.
  • پیامایی که کاربران با قرار دادن @robatname نام ربات همراه با @ ربات رو مورد خطاب قرار میدن.
  • پیامایی که با نوشتن دستورات عمومی مانند /[email protected] به طور اختصاصی به ربات پیامی رو می فرسته .
  • پیامایی که رباتا وقتی کسی به گروه می رسه و یا گروه رو ترک می کنه و یا شخصی تصویر و نام گروه رو تغییر میده بوسیله ربات مشاهده می شه.
  • با اضافه کردن ربات به گروه همه پیامای گروه تحلیل و در یافت نمی شن مگه اینکه شما تنظیمات پیشفرض رو تغییر داده باشین.
  • رباتای تلگرام نمی تونن شروع کننده صحبت با کاربران باشن ولی توانایی در یافت پیام از طرف کاربران و جواب به کاربران رو دارن.

اگه شما تنظیمات پیش فرض در قسمت privacy mode رو غیر فعال کرده باشین قادر به دریافت همه پیاما در گروه ها هستین بجز پیامای زیر:

  • پیامایی که از طرف دیگه رباتا دریافت می شن.
  • دستوراتی مربوط به رباتای دیگه مانند /[email protected]
  • دریافت پیامایی که به رباتای دیگه فرستاده می شن.

به چه دلیل رباتای تلگرام قادر به دریافت پیامای دیگه رباتا نیستن؟

اگه رباتا قادر به دیدن پیامای همدیگه باشن شاید داخل یه حلقه ناخواسته شن و در کارکرد رباتا مشکل بوجود بیاد.

چیجوری پیام کاربران به ربات تلگرام خود رو مشاهده کنیم؟

الان دو راه واسهآپدیت رباتای تلگرام هست به کار گیری long polling یا Webhooks. ولی باید به این نکته دقت کنین که هیچوقت امکان این وجود نداره که از هر دو وسیله همزمان استفاده کنین.

روش long polling یا همون getUpdates به این صورته که شما با به کار گیری Token هربار به تلگرام درخواستی ارسال میکنین و آخرین پیامای کاربران به ربات رو دریافت میکنین ولی در روش webhooks هر زمان کاربر پیامی به ربات تلگرام شما بفرسته بدون این دست اون دست کردن این پیام به نشانی webhook شما برگشت داده میشه که در اون نشانی باید پیام دریافتی رو تحلیل کرده و جواب متناسب رو بفرستین.

چیجوری در Long polling تعداد دریافت رو محدود کنیم؟

به کار گیری پیرو getUpdates واسه دریافت بروز رسانیای جدید دلیل می شه که ۱۰۰ پیام آخر کاربران براتون ارسال شه با به کار گیری عامل offset این مشکل بر طرف می شه. یعنی شما می تونین بخواین که از پیام شماره X به بعد فقط واسه شما ارسال شه. واسه این کار شما باید شماره آخرین آپدیتی که از تلگرام گرفتین رو در جایی ذخیره کرده و همیشه یه عدد بالاتر از اون رو بخواین.

offset = update_id of last processed update + 1

به کار گیری عامل offset دلیل می شه update_idایی که کمتر یا مساوی offset هستن به عنوان تایید شده در نظر گرفته شن و دوباره ارسال نشن.

به کار گیری Webhooks چه محدودیتایی داره؟

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

  • شما واسه کار با Webhooks باید روی سرور خود یه گواهی نامه معتبر ssl نصب کنین.
  • اگه می خواین از گواهی self-signed استفاده کنین شما باید public key certificate با فرمت inputfile رو آپلود کنین.
  • الان Webhooks از پورتای ۴۴۳, ۸۰, ۸۸, ۸۴۴۳٫ پشتیبانی می کنه.

بررسی صحت تنظیم Webhooks

واسه اطمینان از اینکه دستوراتی که از Webhooks دریافت می شن از طرف تلگرام هستن, شما می تونین یه نشانی اختصاصی مانند ww.example.com/your_token مشخص کنین و از اون جا که هیچ فردی کد هویت شما رو نمی دونه شما مطمئنین که پیامای دریافتی از طرف تلگرام هستن. در تصویر زیر یه نمون از جواب دهی لحظه ای ربات به پیام کاربر رو می بینین.

webhook در ربات تلگرام

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

چیجوری بوسیله ربات تلگرام فایل دانلود کنیم؟

شما خیلی راحت با به کار گیری راه getFile می تونین تا ۲۰۰MB فایل از راه  ربات خود دانلود کنین. با این روش شما id فایل رو به تلگرام ارسال کرده و لینک دانلود اون از سرور تلگرام واسه شما در جواب ارسال میشوذ. تا یه ساعت امکان به کار گیری این لینک رو دارید و پس از اون باید دوباره درخواست لینک کنین.

چیجوری فایل با حجم زیاد بوسیله ربات تلگرام آپلود کنیم؟

الان این امکان در رباتای تلگرام هست که تا ۵۰ MB فایل آپلود و بفرستین و با امید به اینکه این مقدار در آینده زیاد شه. واسه این روش شما می تونین یکی از متدهای sendPhoto یا sendDocument رو استفاده کنین که اولی واسه فرستادن عکس و دومی واسه ارسال فایله.

file_idsا پس از فرستان و دریافت فایل از بین می رن؟

الان پس از فرستان چندین هزار فایل file_idsا فایلای خروجی ربات مجدا تنظیم می شن ولی در آینده این ویژگی می تونه عوض شه.

ربات تلگرام چه محدودیتایی در ارسال داره؟

هنگام فرستادن پیام تو یه صفحه تلاش کنین از فرستان بیشتر از یه پیام در ثانیه جلوگیری کنین. هر چند شاید در هر ثانیه پیامای زیادی بفرستین ولی دلیل می شه که خطای ۴۴۹ دریافت کنین.

اگه شما در حال ارسال تعداد زیادی پیام به کاربران جور واجور هستین. API این اجازه رو به شما نمی ده که در هر ثانیه بیشتر از ۳۰ پیام رو بفرستین.

چیجوری یه پیام رو به تموم کاربران ربات خود ارسال کنیم؟

بدیش اینه الان امکان فرستادن پیام به تعداد زیادی کاربر وجود نداره ولی این امکان ممکنه در آینده بوجود آید. به خاطر نبود برخورد با محدودیتای تلگرام و نبود برخور با خطا بهتره هنگام فرستادن پیام به تعداد خیلی از کاربران، تلاش کنین پیاما رو با فاصله وقتی ۸-۱۲ ساعت بفرستید. API اجازه این رو نمی ده که بیشتر از ۳۰ پیام به کاربران جور واجور رو در هر ثانیه بفرستین و اگه این کار رو انجام بدین شما در آستانه دریافت خطای ۴۲۹ هستین.

با امید به اینکه این مقاله در برگیرنده جواب سوالات شما در مورد ربات تلگرام باشه. اگه هنوزم با سوالاتی در این مورد مواجه هستین در بخش نظرات جواب گوی سوالات شما هستیم.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *