اولین اقدام برای استفاده از سیستم همکاری در فروش فراگما (فروشگاه ساز اختصاصی زاگما) و ساخت یک ربات در تلگرام، ساخت یک اکانت (Account) ربات میباشد. بدین منظور، باید از رباتی که خود سازندهی تلگرام برای ایجاد اکانت ربات قرار داده است، استفاده کنیم!
نوشتههای مرتبط
این ربات، ربات پدر ( BotFather = بات فادر ) نام دارد که نام کاربری و پسورد ربات را در قالب یک عبارت کوتاهی به نام Token ، به ما تحویل میدهد.
در ادامه، به معرفی کامل BotFather پرداختهایم.
BotFather ( بات فادر)
بات فادر ( BotFather ) تنها به دو منظور مورد استفاده قرار میگیرد:
- ساخت یک اکانت ربات
- تنظیم شناسنامه یا اطلاعات اولیهی ربات
مثل عکس پروفایل، نام کاربری، نام نمایشی و یک سری دسترسی هایی مانند: اضافه شدن به گروه، دسترسی خواندن همه پیام های گروه و …
پس با توجه به این موضوع، شما با استفاده از بات فادر نمیتوانید برای ربات، عملکرد منطقی ای مثل این مورد که اگر شخصی وارد پی وی ربات شد، به او چه پیامی ارسال شود را تعریف کنید.
برای پیاده کردن چنین چیزهایی، شما باید بعد از ساخت اکانت ربات توسط بات فادر و گرفتن رمز ربات (توکن)، شروع به برنامه نویسی کنید و یا این که از ربات سازهای آماده استفاده کنید. (که البته امکانات پویاتری به شما نخواهند داد)
ورود به بات فادر
- عبارت BotFather را به همراه یک @ در ابتدای آن، در قسمت سرچ تلگرام تایپ کنید تا نام ربات در نتایج جستجو نمایش داده شود.
- روی آن کلیک کنید تا وارد PV ربات شوید.
- روی START کلیک کنید تا ربات شروع شود.
با پیام زیر رو به رو می شوید که لیست دستورات برایتان ارسال شده است.
نکته: تمامی دستورات با / شروع میشوند؛ پس اگر ما در جایی گفتیم دستور فلان را ارسال کنید، منظورمان این است که ابتدای دستور حرف / را هم بنویسید.
نکته: البته ممکن است در آینده، متن پیام فوق تغییر یابد؛ ولی ما سعی میکنیم تا همیشه این پست را به روز نگه داریم.
دستور newbot
همانطور که از نام دستور پیداست، این دستور، برای ساخت (یا به دنیا آوردن یک ربات جدید) استفاده میشود.
بعد از ارسال دستور به ربات، با پیام زیر رو به رو می شوید.
در اینجا، بات فادر از ما میخواهد تا نامی برای ربات انتخاب کنیم. منظور از نام، نام کاربری ربات نیست؛ بلکه نام نمایشی ربات میباشد.
نام نمایشی، دقیقا همان چیزیست که شما در Firstname (نام کوچک) و Lastname (نام خانوادگی) اکانتِ اصلی خودتان وارد میکنید.
حالا فرض کنیم ما نام زیر را برای ربات خود انتخاب میکنیم:
بعد از انتخاب نام نمایشی ربات، بات فادر از ما نام کاربری (Username) ربات را میخواهد تا ارسال کنیم.
که این نام کاربری باید مثل TetrisBot یا tetris_bot باشد! یعنی چه؟!
یعنی:
- نام کاربری ربات باید حتما به کلمهی Bot ختم شود
- اگر از _ برای جدا کردن کلمات از هم استفاده میکنید، تمام حروف را کوچک بنویسید. (اجباری نیست)
- اگر نمیخواهید از _ برای جدا کردن کلمات از هم استفاده کنید، اولین حرف هر کلمه را با حرف بزرگ بنویسید. (اجباری نیست)
فرض کنید، ما نام کاربری ربات را FullKadeBot انتخاب میکنیم:
اگر شما هم بعد از اینکه یک نام کاربری به ربات ارسال کردید، با مورد بالا مواجه شدید، یعنی این نام کاربری از قبل توسط شخص دیگری انتخاب شده است.
پس باید نام کاربری دیگری را برای ربات خود انتخاب کنیم؛ مثلا TeleBotHastam
چون آخر نام کاربری به Bot ختم نشده است، بات فادر از نام کابری ایراد گرفته و به ما میگوید که نام کاربری خود را اصلاح کنیم.
و برای بار سوم LoveTeleBot را تست میکنیم:
تبریک!
ربات ساخته شد و توکن آن، همانند تصویر بالا که مشخص کرده ایم، برایمان ارسال شد.
توکن بعد از عبارت HTTP API قرار دارد.
- از این کلید در برنامه نویسی، استفاده خواهیم کرد تا بتوانیم به ربات خود دسترسی داشته باشیم و مواردی مثل ارسال پیام، دریافت پیام و … را انجام دهیم.
- برای ساخت ربات جدید، می توانید دوباره همین مراحل راتکرار کنید. (البته با نام کاربری جدید)
- در حال حاظر، امکان تغییر نام کاربری برای ربات ها مثل اکانت های رسمی، وجود ندارد!
- در حال حاظر، هر کاربر، فقط میتواند 20 ربات بسازد.
دستور token
برای گرفتن مجدد توکن رباتی که ساخته اید استفاده میشود:
- دستور را ارسال کنید.
- ربات هایی که ساخته اید، به صورت دکمه به شما نمایش داده میشوند.
- یکی از آن ها را انتخاب کنید تا توکن آن، مجدد برایتان ارسال شود.
نکته: این کار، باعث تغییر توکن نمیشود، بلکه همان توکن را دوباره به شما ارسال میکند.
دستور setname (تغییر نام نمایشی ربات *برای زیبایی چهره ربات بسیار لازم )
برای تغییر نام نمایشی ربات استفاده میشود:
- دستور setname را ارسال کنید.
- ربات را انتخاب کنید.
- نام جدید را ارسال کنید.
دستور setdescription (تغییر توضیات ربات *برای زیبایی چهره ربات بسیار لازم )
هر رباتی در تلگرام، شامل توضیحی درباره خودش میباشد.
- دستور setdescription را ارسال کنید.
- ربات را انتخاب کنید.
- توضیخ خود را نوشته و ارسال کنید.
این توضیح، به هنگام ورود به PV ربات، به کاربر نمایش داده میشود؛ به صورت زیر:
نکته: با حذف پیام ها، این توضیخ حذف نخواهد شد و همیشه در ابتدای چت کاربر با ربات، وجود خواهد داشت.
پس اگر کاربری، تاریخچهی چت خود را پاک کرد، این توضیح دوباره به او نمایش داده میشود. (حتی با حذف کلی چت ربات و ورود دوباره به پی وی ربات)
دستور setabouttext (تغییر توضیحات پروفایل ربات *برای زیبایی چهره ربات بسیار لازم )
دستور قبل، توضیحی را در داخل پی وی ربات نمایش میداد.
اما این دستور، توضیحی را در پروفایل ربات (مثل قسمت توضیحات کانال و یا Bio) نمایش میدهد.
- دستور setabouttext را ارسال کنید.
- ربات را انتخاب کنید.
- توضیخ خود را نوشته و ارسال کنید.
دستور setuserpic (تغییر تصویر ربات *برای زیبایی چهره ربات بسیار لازم )
برای تنظیم و تغییر عکس پروفایل ربات استفاده میشود.
- دستور setuserpic را ارسال کنید.
- ربات را انتخاب کنید.
- تصویر خود را ارسال کنید.
دستور setjoingroups (تغییر دسترسی جوین شدن به گروه)
این دستور مشخص میکند که آیا کسی میتواند ربات شما را به گروهی اضافه کند یا حیر!
- دستور setjoingroups را ارسال کنید.
- ربات را انتخاب کنید.
- برای دسترسی دیگران به اضافه کردن ربات به گروه، گزینه Enable و برای حذف دسترسی، گزینه Disable را انتخاب کنید.
نکته: ربات ها خودشان نمیتوانند، توسط لینک یا نام کاربری، وارد گروه، کانال و پی وی شوند.
- در گروه ها: باید ادمین یا اعضا (درصورت داشتن دسترسی) ربات را اضافه کنند.
- در کانال ها: باید ادمین ربات را اضافه کند.
- در پی وی ها: باید کاربر ربات را start کند تا ربات بتواند با او ارتباط برقرار کند.
روش اول اد کردن ربات به گروه:
- از تنظیات گروه، Add Member را انتخاب کنید.
- در کادر جستجو، حرف @ و بعداز آن نام کاربری ربات را بنویسید و صبر کنید تا ربات در لیست ظاهر شود.
روش دوم اد کردن ربات به گروه:
- وارد پروفایل ربات شوید.
- گزینه یا آیکون مربوط به اضافه کردن به گروه را که در کنار عکس پروفایل آن است انتخاب کنید.
- گروه مورد نظر را انتخاب کنید.
خب حالا چرا این قابلیت به چه دردی میخورد؟
میتوانید ربات خود را به گروهی که دوست دارید اضافه کنید و بعد از آن، دسترسی اضافه شدن را غیرفعال کنید تا ربات به گروه دیگری اضافه نشود.
دستور setprivacy (تغییر دسترسی به همه پیام های گروه)
برای تنظیم حریم خصوصی استفاده میشود.
در صورتی که بخواهید ربات به همهی پیام های داخل گروه دسترسی داشته باشد یا تنها به پیام هایی که به او Reply میشوند یا با / شروع میشوند، دسترسی داشته باشد.
- دستور setprivacy را ارسال کنید.
- ربات خود را انتخاب کنید.
- برای دسترسی به همه پیام ها، گزینه Disable را انتخاب کنید و برای دسترسی نداشتن، گزینه Enable را انتخاب کنید.
دستور deletebot (کشتن ربات یا حذف ربات)
از این دستور برای کُشتَنِ ربات استفاده میشود. ( کشتن استعاره از حذف کردنه bigsmile )
- دستور deletebot را ارسال کنین.
- ربات خود را انتخاب کنید.
- عبارت زیر را ارسال کنید؛ با ارسال این دستور، میگویید که از انجام دادن کارتان کاملا مطمئن هستید.
(ظاهرن بات فادر نمیخواد به هیچ وجه قتل ربات رو به عهده بگیره)
- شاید دوباره از شما همین عبارت خواسته شود که باید دوباره ارسال کید.
حتی نقطه یا فاصله یا ویرگول را هم نباید اشتباه وارد کنید.
( آقا ثقلهههه … قتل….!!! بایدتا میتونه ازتون اعتراف بکشه و مدرک بگیره bigsmile )
دستور cancel (لغو عملیات فعلی)
فرض کنید دستور تغییر عکس پروفایل را به ربات ارسال کرده اید.
ولی وقتی از شما تصویر را میخواهد، منصرف میشوید؛ پس میتوانید دستور cancel را ارسال کنید.
دستور mybotes (قابلیت جدید به جای استفاده از دستورات بالا)
با ارسال این دستور، لیست ربات ها در زیر پیامی که از طرف بات فادر دریافت میشود، به صورت دکمه های شیشه ای ظاهر میشوند.
البته به این دکمه ها، دکمه های Inline میگویند.
در این حالت، شما میتوانید یکی از ربات ها را انتخاب کرده و به جای استفاده از دستورات بالا، تمام آن مراحل را به شکل دیگری انجام دهید.
نکات تکمیلی در مورد BotFather ( بات فادر )
- تمامی موارد مورد نیاز بات فادر، در این پست توضیح داده شده اند به جز دستوراتی که در انتهای پست نوشته ام.
- هر اکانتی که ربات را با آن میسازید دیگر برای آن اکانت ثبت میشود و در حال حاظر قابل تغییر نیست.
- در حال حاظر امکان تغییر نام کاربری ربات وجود ندارد.
- در مورد روش های ساخت منطق ربات، در این پست سوالی نپرسید. در غیر اینصورت پاسخ داده نمی شود.
و بالاخره، هرچیزی که در این پست گفته نشده است، به روش های پیاده سازی منطق ربات مربوط میشود و بحث آن خارج از بجث بات فادر میباشد.