راهنمای کامل BotFather
BotFather ربات رسمی تلگرام است که هر ربات دیگر تلگرام را میسازد و مدیریت میکند. این راهنما هر دستوری را که واقعاً استفاده خواهید کرد، مراحل دقیق از /newbot تا توکنی کارآمد، و کاری که باید هنگام لو رفتن آن توکن انجام دهید پوشش میدهد.
پاسخ سریع
BotFather ربات خود تلگرام برای ثبت و پیکربندی رباتهاست و رایگان و بدون هیچ هزینهای برای هر پیام است. برای ساخت ربات، تلگرام را باز کنید، "@BotFather" را جستجو کنید، /newbot بفرستید، به آن یک نام نمایشی و نام کاربریای که به "bot" ختم میشود بدهید، و او با توکن APIای شبیه به 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw پاسخ میدهد. کار BotFather همینجا تمام میشود: ربات را ثبت میکند اما هیچ رفتاری به آن نمیدهد، پس آن توکن را در کد میزبانیشده خودتان یا در سازنده بدون کدی مانند TeleMinute (هفتهای 3.99 دلار، ماهانه 9.99 دلار یا یکبار 49.99 دلار برای دسترسی مادامالعمر) وارد میکنید و پاسخها را آنجا طراحی میکنید.
BotFather در تلگرام چیست؟
BotFather یک ربات رسمی است که توسط تلگرام اداره میشود، با نام کاربری @BotFather، و تنها راه ثبت یک ربات جدید است. مانند هر گفتگوی دیگری با آن صحبت میکنید: دستور میفرستید، سؤال میپرسد، پاسخ میدهید و نتیجه را ذخیره میکند.
BotFather رایگان است. ساخت ربات هیچ هزینهای ندارد، هیچ حق اشتراک ماهانهای از تلگرام وجود ندارد، و هیچ هزینهای برای هر پیام ارسالی نیست، که تفاوت اصلی هزینه در مقایسه با WhatsApp Business API است. میتوانید چند ربات را از یک حساب تلگرام ثبت کنید.
قبل از زدن Start، بررسی کنید حسابی که باز کردهاید تیک آبی تأیید و دقیقاً نام کاربری @BotFather را داشته باشد. حسابهای جعلی با نامهای کاربری مشابه وجود دارند که تنها هدفشان جمعآوری توکنهایی است که مردم در آنها وارد میکنند.
چگونه با BotFather یک ربات بسازیم؟
شما /newbot میفرستید، به دو سؤال پاسخ میدهید و توکن را کپی میکنید. کل فرایند حدود دو دقیقه طول میکشد و به این شکل است:
- @BotFather را باز کنید. در تلگرام "BotFather" را جستجو کنید، حساب تأییدشده را باز کنید و Start را بزنید.
/newbotبفرستید. BotFather با پرسیدن نام ربات جدید شما پاسخ میدهد.- نام نمایشی را بفرستید. مثلاً "Sunrise Cafe". این چیزی است که کاربران بالای گفتگو میبینند. فاصله، حروف بزرگ و ایموجی مجاز هستند و بعداً میتوانید آن را با
/setnameتغییر دهید. - نام کاربری را بفرستید. باید بین 5 تا 32 کاراکتر باشد، فقط از حروف لاتین، رقم و زیرخط استفاده کند و باید به کلمه "bot" ختم شود: SunriseCafeBot و sunrise_cafe_bot هر دو معتبرند، SunriseCafe معتبر نیست. نامهای کاربری در کل تلگرام یکتا هستند، پس اگر مال شما گرفته شده باشد BotFather بهسادگی یکی دیگر میخواهد.
- توکن را کپی کنید. BotFather به شما تبریک میگوید و توکن APIای مانند 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw چاپ میکند. آن را در جایی امن کپی کنید و مانند رمز عبور با آن رفتار کنید.
- ربات خود را باز کنید و Start را بزنید. روی لینک t.me در پاسخ BotFather بزنید. ربات وجود دارد، اما هنوز به چیزی پاسخ نمیدهد. این طبیعی است.
- توکن را در هرچیزی که ربات را اجرا خواهد کرد وارد کنید. کد سرور خودتان، یا یک سازنده بدون کد که در آن دستورها و پاسخها را تعریف میکنید. به محض اینکه چیزی بهروزرسانیها را برای آن توکن دریافت کند، ربات فعال میشود.
نام کاربری را با دقت انتخاب کنید. BotFather دستورهایی برای تغییر نام، تصویر و توضیحات یک ربات دارد، اما هیچکدام برای تغییر نام کاربریاش نیست، پس تغییر نام در عمل به معنای ساخت ربات جدید و هدایت لینکهایتان به آن است.
اگر مسیر کامل مبتدی با اسکرینشاتهایی از آنچه پس از توکن اتفاق میافتد میخواهید، به چگونگی ساخت ربات تلگرام بدون کدنویسی مراجعه کنید.
همه دستورهای BotFather چیست؟
اینها دستورهایی هستند که برای ساخت و اجرای یک ربات اهمیت دارند. فرستادن /help به BotFather در هر لحظه فهرست فعلی را چاپ میکند، و /mybots تقریباً همه آنها را بهصورت دکمه نشان میدهد.
| دستور | چه کاری انجام میدهد | چه زمانی نیاز دارید |
|---|---|---|
/newbot | یک ربات جدید ثبت میکند: نام نمایشی میخواهد، سپس نام کاربریای که به "bot" ختم میشود، سپس توکن API را برمیگرداند. | یکبار برای هر ربات، در همان ابتدا. |
/mybots | منویی از همه رباتهایتان با دکمههای API Token و Edit Bot و Bot Settings و Delete Bot باز میکند. | سریعترین مسیر به همه موارد زیر، بدون حفظ کردن دستورها. |
/token | توکن API فعلی ربات انتخابی را نشان میدهد. توکن را تغییر نمیدهد. | توکن را گم کردهاید اما دلیلی برای فکر کردن به لو رفتنش ندارید. |
/revoke | توکن فعلی را فوراً باطل میکند و یکی جدید بهجای آن صادر میکند. | توکن لو رفته، در یک مخزن کامیت شده، یا یک پیمانکار رفته است. |
/setname | نام نمایشی بالای گفتگو را تغییر میدهد. نام کاربری دستنخورده میماند. | تغییر برند، نامهای فصلی، تصحیح یک غلط تایپی. |
/setdescription | متنی که در صفحه خالی گفتگو زیر "این ربات چه کاری میتواند انجام دهد؟" نشان داده میشود را تنظیم میکند، تا 512 کاراکتر. | گفتن به مردم که ربات چه کاری میکند پیش از زدن Start. |
/setabouttext | بیوگرافی کوتاه در پروفایل ربات و پیشنمایش لینکها را تنظیم میکند، تا 120 کاراکتر. | یک معرفی یکخطی که هنگام اشتراکگذاری ربات نشان داده میشود. |
/setuserpic | عکس پروفایل ربات را بارگذاری میکند. تصویری مربعی برای برش تمیز بفرستید. | هر رباتی که کاربران در فهرست گفتگوهایشان میبینند. |
/setcommands | فهرست دستورهایی که کاربران در منوی "/" میبینند را تنظیم میکند. یک خط برای هر دستور به شکل command - description میفرستید. | پس از اینکه تصمیم گرفتید ربات شما به کدام دستورها پاسخ دهد. |
/setjoingroups | امکان افزودن ربات شما به گروهها را روشن یا خاموش میکند. | برای ربات پشتیبانی کاملاً یکبهیک آن را خاموش کنید. |
/setprivacy | حالت حریم خصوصی گروه. فعال (پیشفرض) یعنی ربات فقط دستورها، پاسخ به پیامهای خودش، پیامهایی که نام کاربریاش را ذکر میکنند و پیامهای سرویس را دریافت میکند. غیرفعال یعنی هر پیامی در گروه را دریافت میکند. | رباتهای گروهی که باید به کلمات کلیدی ساده واکنش نشان دهند. برای اعمال تغییر، ربات را دوباره به گروههای موجود اضافه کنید. |
/setinline | حالت اینلاین را روشن میکند، تا کاربران بتوانند @yourbot و سپس یک عبارت جستجو را در هر گفتگویی تایپ کنند. | رباتهای سبک جستجو. اگر از پرسوجوهای اینلاین پشتیبانی نمیکنید آن را خاموش بگذارید. |
/deletebot | پس از تأیید با جمله دقیقی که BotFather میخواهد، یک ربات را برای همیشه حذف میکند. | بازنشسته کردن دائمی یک ربات. هیچ راه بازگشتی وجود ندارد. |
BotFather چند دستور دیگر هم دارد که در ابتدا با خیال راحت میتوانید نادیده بگیرید، از جمله دستورهای بازی (/newgame، /mygames، /listgames، /editgame، /deletegame)، دستورهای تنظیم اینلاین (/setinlinegeo، /setinlinefeedback) و /setdomain که یک دامنه وبسایت را به Telegram Login Widget متصل میکند.
توکن ربات تلگرام چیست و چگونه دوباره آن را بگیریم؟
توکن ربات تنها اعتبارنامهای است که به نرمافزار اجازه میدهد بهجای ربات شما عمل کند، و میتوانید هر زمان دوباره با /token یا از طریق /mybots و سپس API Token آن را ببینید. به این شکل است:
110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
ارقام پیش از دونقطه شناسه عددی عمومی ربات هستند. رشته پس از دونقطه بخش محرمانه است. هر فراخوانی Bot API تلگرام فقط یک درخواست به https://api.telegram.org/bot<token>/methodName است، پس هرکس رشته کامل را داشته باشد میتواند هر متدی را بهجای ربات شما فراخوانی کند.
یک توکن در هر لحظه فقط توسط یک سیستم در حال اجرا قابل استفاده است. تلگرام فقط یک آدرس وبهوک برای هر ربات مجاز میداند، و نظرسنجی برای بهروزرسانیها درحالیکه وبهوک تنظیم شده خطای 409 Conflict برمیگرداند. اگر رباتی را از یک پلتفرم به پلتفرم دیگر منتقل میکنید، بهجای اجرای هر دو، پلتفرم قدیمی را قطع کنید.
اگر توکن ربات شما لو برود چه اتفاقی میافتد و چگونه آن را لغو میکنید؟
با توکن مانند رمز عبور رفتار کنید: هرکس آن را داشته باشد کنترل کامل ربات را دارد، و راهحل /revoke است. هیچ دسترسی جزئی یا حالت فقطخواندنی وجود ندارد.
با توکنی دزدیدهشده، یک مهاجم میتواند:
- از آن لحظه به بعد هر پیامی که کاربران به ربات شما میفرستند را بخواند، از جمله هرچیزی که در فرمهای شما تایپ میشود
- بهجای ربات شما به هرکس که آن را شروع کرده پیام بفرستد، ویرایش کند و حذف کند
- وبهوک را به سرور خودش هدایت کند، طوری که ترافیک شما بیسروصدا بهجای شما به او برود
- منوی دستورها، توضیحات و رفتار اینلاین را از طریق Bot API تغییر دهد
دانستن اینکه چه کاری نمیتواند انجام دهد هم ارزشمند است. توکن هیچ دسترسیای به حساب شخصی تلگرام شما نمیدهد، نمیتواند ربات را حذف کند (این کار به حساب شما داخل BotFather نیاز دارد)، نمیتواند به افرادی که هرگز ربات شما را شروع نکردهاند پیام بفرستد، و Bot API هیچ متدی برای دانلود فهرست کاربران شما ندارد، پس فهرست مشترکان شما بهسادگی قابل خروجی گرفتن نیست.
برای چرخاندن یک توکن:
/revokeرا به BotFather بفرستید- ربات موردنظر را از صفحهکلید نشاندادهشده انتخاب کنید
- BotFather فوراً توکن قدیمی را باطل میکند و با توکن جدید پاسخ میدهد
- توکن جدید را در هر جایی که توکن قدیمی ذخیره بود جایگزین کنید، چون ربات تا وقتی این کار را نکنید آفلاین میماند
پیشگیری بیشتر یک عادت است: هرگز توکن را در جای عمومی قرار ندهید. آن را در GitHub کامیت نکنید، در یک گفتگوی گروهی یا تیکت پشتیبانی جایگذاری نکنید، و آن را از اسکرینشاتها حذف کنید. مخازن عمومی بهطور مداوم برای الگوی رقم، دونقطه و حروف اسکن میشوند، و توکنهای لورفته اغلب در عرض چند دقیقه سوءاستفاده میشوند. قوانین بهداشتی بیشتری مانند این در پست بهترین شیوههای ربات تلگرام ما جمعآوری شدهاند.
چگونه نام، توضیحات، متن درباره یا تصویر یک ربات را تغییر دهیم؟
از /setname و /setdescription و /setabouttext و /setuserpic استفاده کنید، یا /mybots را باز کنید، ربات را انتخاب کنید و Edit Bot را برگزینید تا هر چهار مورد را از یک منو انجام دهید. هر دستور ابتدا میپرسد کدام ربات را ویرایش کنید، سپس مقدار جدید را میخواهد.
این دو فیلد متنی بهراحتی با هم اشتباه گرفته میشوند. توضیحات تا 512 کاراکتر است و در صفحه خالی گفتگو، بالای دکمه Start ظاهر میشود، پس آخرین چیزی است که کاربر پیش از تصمیم به استفاده از ربات شما میخواند. متن درباره تا 120 کاراکتر است و در صفحه پروفایل ربات و در پیشنمایش لینکها هنگام اشتراکگذاری ظاهر میشود.
تغییرات فوراً اعمال میشوند و هیچکدام توکن یا نام کاربری را دست نمیزنند. اگر از قبل کاربرانی دارید، تغییر نام امن است: گفتگوی آنها به کار خود ادامه میدهد.
چگونه منوی دستورهایی که کاربران میبینند را تنظیم کنیم؟
/setcommands را بفرستید، ربات خود را انتخاب کنید، سپس کل فهرست را در یک پیام با یک دستور در هر خط به شکل command - description، بدون اسلش ابتدایی بفرستید. برای مثال:
start - راهاندازی ربات و باز کردن منوی اصلی
menu - دیدن منوی فعلی و قیمتها
book - رزرو یک میز
hours - ساعات کاری و آدرس
help - چگونگی استفاده از این رباتقوانین تلگرام برای این فهرست: نام دستورها از حروف کوچک لاتین، رقم و زیرخط استفاده میکنند، بین 1 تا 32 کاراکتر طول دارند، و هر توضیح بین 1 تا 256 کاراکتر است. یک ربات میتواند تا 100 دستور در منو داشته باشد. پس از ذخیره، فهرست هنگامی که کاربر "/" تایپ میکند و پشت دکمه منو کنار فیلد پیام ظاهر میشود.
یک نکته تقریباً همه را غافلگیر میکند: ثبت یک دستور در BotFather فقط آن را قابلمشاهده میکند. باعث نمیشود کار کند. اگر /hours را به منو اضافه کنید اما چیزی در سمت دریافتکننده /hours را مدیریت نکند، کاربران روی آن میزنند و سکوت میگیرند، که بدتر از اصلاً فهرست نکردن آن به نظر میرسد.
BotFather چه کاری انجام نمیدهد؟
BotFather ربات را ثبت میکند، پروفایلش را تنظیم میکند و توکنی به شما میدهد، و این تمام کار اوست. رفتاری صفر به ربات شما میدهد، به همین دلیل یک ربات کاملاً جدید هرگز به چیزی پاسخ نمیدهد، مهم نیست چقدر منتظر بمانید.
هر پیامی که کاربر به ربات شما میفرستد در سمت تلگرام به یک بهروزرسانی تبدیل میشود. چیزی باید آن بهروزرسانیها را دریافت کند، چه از طریق وبهوک و چه از طریق نظرسنجی، تصمیم بگیرد پاسخ چه باید باشد و Bot API را برای ارسال آن فراخوانی کند. برای آن چیز دو گزینه واقعی دارید:
- خودتان آن را بنویسید و میزبانی کنید. یک اسکریپت پایتون یا Node، یک سرور یا تابع سرورلس برای اجرای آن، یک نقطه پایانی HTTPS برای وبهوک، بهعلاوه نظارت و استقرار مجدد برای همیشه پس از آن.
- از یک سازنده بدون کد استفاده کنید. توکن را در پلتفرم وارد میکنید، دستورها و پاسخها را در یک ویرایشگر بصری میسازید، و آن دریافت بهروزرسانیها و ارسال پاسخها را انجام میدهد.
TeleMinute از نوع دوم است. توکن BotFather را در app.teleminute.com وارد میکنید و رباتهای تلگرام نامحدود، دستورها و پاسخهای کلیدواژهای نامحدود، دکمهها و منوهای اینلاین، فرمهای سرنخ با پیگیری پاسخ درونبرنامهای، اعلانهای فوری هنگام رسیدن پاسخ جدید فرم، پخش همگانی به همه کاربران ربات با زمانبندی و بخشبندی، آمار دقیق و گزارشهای تحویل، و تا 4 تصویر برای هر دستور به دست میآورید. رباتها روی وبهوکهای تلگرام اجرا میشوند، پس بدون سروری که اجاره یا بیدار نگه دارید، 24 ساعته آنلاین هستند. یک ربات آزمایشی رایگان 15 دقیقهای بدون نیاز به کارت وجود دارد، و اگر میخواهید ابتدا این حوزه را مقایسه کنید، مروری بر بهترین سازندههای ربات تلگرام ما را ببینید.
| هزینه چه چیزی است | قیمت | شامل چه میشود |
|---|---|---|
| BotFather و Telegram Bot API | رایگان | ثبت ربات، توکن، تنظیمات پروفایل. بدون هزینه هر پیام. |
| ربات آزمایشی TeleMinute | رایگان، بدون کارت | یک ربات آزمایشی 15 دقیقهای برای آزمودن سازنده از ابتدا تا انتها. |
| TeleMinute Premium، هفتگی | هفتهای 3.99 دلار | همه امکانات. هیچ سطحی وجود ندارد. |
| TeleMinute Premium، ماهانه | ماهانه 9.99 دلار | همه امکانات. محبوبترین گزینه. |
| TeleMinute Premium، مادامالعمر | یکبار 49.99 دلار | همه امکانات، یکبار پرداخت، دسترسی مادامالعمر. |
هر مسیری که انتخاب کنید، دو قانون تلگرام برای هر ربات صدق میکند و هیچ پلتفرمی نمیتواند آنها را بردارد. یک ربات فقط میتواند به افرادی پیام دهد که ابتدا آن را شروع کردهاند، پس هیچ تماس سردی وجود ندارد، و ارسال انبوه به حدود 30 پیام در ثانیه محدود است، پس پخش همگانی برای مخاطبان زیاد در صف قرار میگیرد و زمان میبرد تا تمام شود.
چگونه یک ربات تلگرام را حذف کنیم؟
/deletebot را به BotFather بفرستید، ربات را انتخاب کنید، و با فرستادن دوباره جمله دقیقی که BotFather نشان میدهد (فعلاً "Yes, I am totally sure.") تأیید کنید. میتوانید همین کار را از /mybots و سپس Delete Bot انجام دهید.
حذف دائمی است. توکن از کار میافتد، ربات از حساب شما ناپدید میشود، و BotFather هشدار میدهد که قابل بازگشت نیست. با آن مانند دکمه توقف موقت رفتار نکنید.
اگر فقط میخواهید ربات برای مدتی پاسخ ندهد، توکن را با /revoke لغو کنید یا آن را در پلتفرمی که اجرایش میکند قطع کنید. هر دو چند ثانیه طول میکشند و قابل بازگشت هستند.
توکن را دارید. حالا چیزی برای گفتن به ربات بدهید.
توکن BotFather خود را در TeleMinute وارد کنید و دستورها، پاسخهای کلیدواژهای، منوهای اینلاین و فرمهای سرنخ را بهصورت بصری بسازید. با یک ربات آزمایشی رایگان 15 دقیقهای شروع کنید، بدون نیاز به کارت.
اتصال توکن ربات شمانکات کلیدی
- BotFather ربات رسمی تلگرام برای ساخت رباتهاست، در @BotFather، و رایگان و بدون هیچ هزینهای برای هر پیام است.
- ربات را با
/newbotبسازید: یک نام نمایشی، سپس نام کاربریای بین 5 تا 32 کاراکتر که باید به "bot" ختم شود، سپس توکن. - توکن یک رمز عبور است.
/tokenدوباره آن را نشان میدهد،/revokeدر صورت لو رفتن فوراً آن را جایگزین میکند. - BotFather میتواند نام، توضیحات، متن درباره، تصویر، منوی دستورها و تنظیمات گروهی یک ربات را تغییر دهد، اما نه نام کاربریاش را.
- BotFather هرگز باعث پاسخدادن ربات نمیشود. کد میزبانیشده خودتان یا سازندهای مانند TeleMinute (هفتهای 3.99 دلار، ماهانه 9.99 دلار یا یکبار 49.99 دلار) این بخش را انجام میدهد.
جمعبندی
BotFather عمداً کوچک است. یک باجه ثبتنام است: هویت و توکنی صادر میکند، اجازه میدهد پروفایل را جلا دهید و از سر راه کنار میرود. دهها دستور بالا را یاد بگیرید و دیگر هرگز نیازی به جستجوی دوباره آنها نخواهید داشت.
کار جالب پس از توکن شروع میشود. تصمیم بگیرید ربات شما باید به چه چیزی پاسخ دهد، توکن را به چیزی که بتواند پاسخ دهد وصل کنید، و اولین پنج سؤالی که کاربران واقعی شما خواهند پرسید را آزمایش کنید. این تفاوت میان یک ربات ثبتشده و یک ربات مفید است.