BotFather است. BotFather ابزار رسمی Telegram برای ایجاد و مدیریت حسابهای Bot است
و از طریق آن میتوانید ربات جدید بسازید، Token دریافت کنید، نام و توضیحات ربات را تغییر دهید،
لیست دستورات را تنظیم کنید و بعضی قابلیتهای مهم ربات را فعال یا غیرفعال کنید.
نکته مهم این است که BotFather خودش ربات شما را برنامهنویسی نمیکند.
BotFather حساب Bot و تنظیمات آن را مدیریت میکند؛ منطق اصلی ربات باید توسط برنامهای که به
Telegram Bot API متصل است اجرا شود.
اگر هنوز با فرایند کامل برنامهنویسی ربات آشنا نیستید، ابتدا مقاله
آموزش ساخت ربات تلگرام از صفر
را مطالعه کنید.
BotFather چیست؟
BotFather ربات رسمی Telegram برای ساخت و مدیریت رباتهای تلگرام است.
تقریباً هر ربات معمولی Telegram ابتدا از طریق BotFather ایجاد میشود و سپس
Token آن در اختیار Backend یا برنامه ربات قرار میگیرد.
Username رسمی آن:
@BotFather
هنگام پیدا کردن BotFather بهتر است به Username دقیق و نشان رسمی حساب توجه کنید
تا Token یا اطلاعات ربات خود را در اختیار حسابهای جعلی قرار ندهید.
BotFather چه کاری انجام میدهد؟
مهمترین وظایف BotFather شامل موارد زیر هستند:
- ساخت Bot جدید
- ایجاد و تعویض Bot Token
- تغییر نام ربات
- تنظیم Description و About
- تغییر تصویر پروفایل
- تعریف Commands
- مدیریت امکان اضافه شدن ربات به گروه
- تنظیم Privacy Mode گروهها
- فعال کردن Inline Mode
- اتصال بعضی قابلیتهای وب و Mini App
- انتقال مالکیت Bot
- حذف Bot
آموزش ساخت ربات با BotFather
برای ساخت یک Bot جدید، وارد Telegram شوید و BotFather را باز کنید.
سپس دستور زیر را ارسال کنید:
/newbot
BotFather از شما دو اطلاعات اصلی میخواهد:
- نام نمایشی ربات
- Username ربات
انتخاب نام ربات در BotFather
نام ربات همان عنوانی است که کاربران در پروفایل، صفحه گفتگو و قسمتهای مختلف Telegram مشاهده میکنند.
برای مثال:
BotCore Support
بهتر است نام ربات کوتاه، واضح و مرتبط با کاربرد واقعی آن باشد.
نامی مثل «Support» یا «Shop» بهتنهایی ممکن است هویت مشخصی ایجاد نکند؛
ترکیب نام برند با عملکرد ربات معمولاً انتخاب واضحتری است.
انتخاب Username ربات
Username شناسه عمومی ربات است و برای جستجو، Mention و ساخت لینک مستقیم استفاده میشود.
برای مثال:
@BotCoreSupportBot
طبق قوانین فعلی Telegram، Username ربات باید بین ۵ تا ۳۲ کاراکتر باشد،
فقط از حروف لاتین، اعداد و underscore استفاده کند و به
bot
ختم شود.
نمونههای صحیح:
BotCoreBot
botcore_support_bot
BotCoreShopBot
Username باید یکتا باشد. همچنین بر خلاف نام نمایشی Bot، طبق مستندات فعلی Telegram
Username را نمیتوان بعداً از طریق تنظیمات معمول BotFather تغییر داد؛ بنابراین
هنگام انتخاب آن دقت کنید.
Bot Token چیست؟
بعد از ساخت ربات، BotFather یک Authentication Token ایجاد میکند.
این Token در واقع Credential ربات شما برای ارتباط با Telegram Bot API است.
یک Token ساختگی ممکن است ظاهری شبیه این داشته باشد:
1234567890:AAExampleTokenNeverUseThis123456789
برنامه Backend با استفاده از همین Token میتواند درخواستهایی مانند ارسال پیام،
دریافت اطلاعات Bot و اجرای سایر متدهای Bot API را انجام دهد.
چرا Token ربات بسیار مهم است؟
Token را باید مانند رمز عبور در نظر بگیرید. هر کسی که Token معتبر ربات را در اختیار داشته باشد
میتواند از طریق Bot API با هویت آن Bot درخواست ارسال کند.
بنابراین Token واقعی را در موارد زیر قرار ندهید:
- GitHub عمومی
- مقاله آموزشی
- اسکرینشات
- گروه یا کانال عمومی
- کد JavaScript سمت مرورگر
- فایل قابل دانلود عمومی
در پروژههای واقعی بهتر است Token در Environment Variable،
Secret Manager یا مکان امن مشابه ذخیره شود.
اگر Token ربات لو رفت چه کنیم؟
اگر Token را اشتباهاً منتشر کردهاید، فقط پاک کردن پیام یا Commit کافی نیست؛
چون ممکن است مقدار قبلی قبلاً توسط فرد یا سیستم دیگری ذخیره شده باشد.
وارد BotFather شوید و از دستور:
/token
استفاده کنید، Bot موردنظر را انتخاب کنید و Token جدید ایجاد کنید.
سپس Credential جدید را در Backend قرار دهید و Token قبلی را دیگر استفاده نکنید.
مشاهده همه رباتها با /mybots
یکی از کاربردیترین فرمانهای BotFather دستور زیر است:
/mybots
با اجرای این دستور لیست Botهایی که مدیریت میکنید نمایش داده میشود.
سپس میتوانید Bot موردنظر را انتخاب کنید و بسیاری از تنظیمات آن را از رابط جدید BotFather تغییر دهید.
در عمل برای بسیاری از کارها لازم نیست Command مربوطه را حفظ کنید؛
مسیر
/mybots → انتخاب Bot → Bot Settings
نیز دسترسی مناسبی به تنظیمات فراهم میکند.
تغییر نام ربات با BotFather
برای تغییر نام نمایشی Bot میتوان از دستور:
/setname
استفاده کرد.
این نام با Username متفاوت است. برای مثال ممکن است Username شما:
@BotCoreShopBot
باشد، اما نام نمایشی را روی:
فروشگاه BotCore
تنظیم کنید.
تنظیم Description ربات
Description توضیحی است که کاربر هنگام شروع ارتباط با Bot و در بخش
«What can this bot do?» مشاهده میکند.
برای تنظیم آن میتوانید از:
/setdescription
استفاده کنید.
طبق مستندات Telegram، Description میتواند تا ۵۱۲ کاراکتر باشد.
بهتر است بهجای متن تبلیغاتی طولانی، خیلی سریع توضیح دهید ربات چه کاری برای کاربر انجام میدهد.
برای مثال:
از طریق این ربات میتوانید محصولات را مشاهده کنید،
سفارش ثبت کنید و وضعیت خرید خود را پیگیری کنید.
About Text ربات چیست؟
About متن کوتاهتری است که در صفحه پروفایل Bot نمایش داده میشود.
برای تغییر آن:
/setabouttext
را اجرا کنید.
طبق مستندات Telegram این بخش تا ۱۲۰ کاراکتر ظرفیت دارد.
برای مثال:
فروش و مدیریت سفارش محصولات BotCore
Description و About یک چیز نیستند؛ بهتر است هر دو بهصورت مستقل و متناسب با محل نمایش نوشته شوند.
تغییر عکس پروفایل ربات
تصویر پروفایل یکی از اولین چیزهایی است که کاربر هنگام جستجو یا مشاهده گفتگو میبیند.
برای تغییر آن میتوان از:
/setuserpic
استفاده کرد.
بهتر است تصویر ربات:
- ساده باشد
- در اندازه کوچک قابل تشخیص باشد
- با برند اصلی هماهنگ باشد
- متن ریز و ناخوانا نداشته باشد
تنظیم دستورات ربات با /setcommands
یکی از مهمترین تنظیمات BotFather، تعریف فهرست Commandهای Bot است.
دستور:
/setcommands
را ارسال کنید و Bot موردنظر را انتخاب کنید.
سپس دستورات را بهصورت Command و توضیح وارد کنید.
مثلاً:
start - شروع ربات
products - مشاهده محصولات
orders - سفارشهای من
support - پشتیبانی
help - راهنما
بعد از تنظیم Commands، وقتی کاربر داخل گفتگو علامت
/
را وارد کند، Telegram میتواند لیست دستورات تعریفشده را به او نمایش دهد.
برای Commands چه نامهایی انتخاب کنیم؟
Commandها باید کوتاه، مشخص و مرتبط با کار واقعی باشند.
مثلاً:
/start
/help
/profile
/orders
/settings
طبق قوانین فعلی Bot API، Command میتواند تا ۳۲ کاراکتر داشته باشد و از
حروف لاتین، اعداد و underscore تشکیل شود.
با این حال ساده بودن نام Command معمولاً تجربه کاربری بهتری ایجاد میکند.
آیا تعریف Command در BotFather برای اجرای آن کافی است؟
خیر. این یکی از اشتباهات رایج تازهکارهاست.
وقتی در BotFather دستور:
/orders
را تعریف میکنید، فقط آن را به رابط Telegram معرفی میکنید.
Backend ربات همچنان باید تشخیص دهد وقتی کاربر
/orders
را ارسال کرد، چه عملی انجام شود.
Privacy Mode در BotFather چیست؟
Privacy Mode مشخص میکند Bot وقتی داخل گروه قرار دارد چه نوع پیامهایی را دریافت کند.
برای تنظیم آن:
/setprivacy
را اجرا کنید.
Privacy Mode بهصورت پیشفرض برای Botهای اضافهشده به گروه فعال است.
در این حالت ربات معمولاً فقط پیامهایی را میبیند که برای عملکرد خودش مرتبط هستند،
مانند Commandهای خطابشده به Bot و Replyهای مرتبط.
چه زمانی Privacy Mode را غیرفعال کنیم؟
فقط وقتی ربات واقعاً نیاز دارد پیامهای عمومی گروه را پردازش کند.
برای مثال:
- ربات مدیریت و Moderation گروه
- فیلتر پیام
- تحلیل پیامهای عمومی
- اتوماسیون مبتنی بر متن گفتگو
اگر ربات فقط با Command و دکمه کار میکند، معمولاً ضرورتی برای غیرفعال کردن Privacy Mode وجود ندارد.
Telegram نیز توصیه میکند Privacy Mode فقط در زمانی غیرفعال شود که برای عملکرد Bot واقعاً لازم باشد.
نکته مهم بعد از تغییر Privacy Mode
طبق مستندات فعلی Telegram، اگر Privacy Mode را غیرفعال کنید،
برای اعمال کامل تغییر در گروه ممکن است لازم باشد Bot را از گروه حذف و دوباره اضافه کنید.
همچنین Botهایی که Administrator گروه هستند، رفتار متفاوتی دارند و
پیامهای بیشتری را دریافت میکنند.
جلوگیری از اضافه شدن ربات به گروهها
اگر ربات فقط برای Private Chat ساخته شده و هیچ کاربردی داخل گروه ندارد،
میتوانید اضافه شدن آن به Group را غیرفعال کنید.
دستور مربوطه:
/setjoingroups
است.
این کار برای Botهای فروشگاهی، حساب کاربری یا سرویسهای کاملاً شخصی
ممکن است منطقی باشد.
Inline Mode چیست؟
Inline Mode به کاربران اجازه میدهد بدون باز کردن مستقیم گفتگوی Bot،
داخل یک Chat دیگر Username ربات را بنویسند و از نتایج آن استفاده کنند.
برای مثال:
@YourBot search text
سپس Bot میتواند مجموعهای از نتایج Inline را در همان گفتگو نمایش دهد.
برای فعال یا غیرفعال کردن Inline Mode از:
/setinline
استفاده میشود.
Inline Mode برای چه رباتهایی مناسب است؟
مثلاً Botهای:
- جستجو
- GIF و رسانه
- جستجوی محصول
- تبدیل اطلاعات
- ارسال محتوای آماده
- ابزارهای کاربردی
اگر ربات شما فقط در Private Chat کار میکند، لازم نیست Inline Mode را بیدلیل فعال کنید.
Inline Location چیست؟
بعضی Botهای Inline برای تولید نتیجه به موقعیت مکانی کاربر نیاز دارند.
BotFather برای این حالت تنظیم:
/setinlinegeo
را ارائه میدهد.
این قابلیت فقط برای پروژههایی مناسب است که Location واقعاً بخشی از عملکرد Bot باشد.
Inline Feedback چیست؟
تنظیم:
/setinlinefeedback
مشخص میکند آیا Backend اطلاعات مربوط به انتخاب نتایج Inline توسط کاربران را دریافت کند یا خیر.
این قابلیت بیشتر برای توسعهدهندگانی مفید است که Inline Mode را بهطور جدی در پروژه استفاده میکنند.
اتصال دامنه سایت به BotFather
در بعضی قابلیتهای مرتبط با وب، میتوان یک Domain را به Bot متصل کرد.
دستور:
/setdomain
برای تنظیم Domain در برخی سناریوهای Web Login استفاده میشود.
این گزینه را با Webhook اشتباه نگیرید؛ Webhook مربوط به دریافت Updateهای Bot در Backend است
و از طریق Bot API مدیریت میشود.
آیا Webhook را از BotFather تنظیم میکنیم؟
در توسعه معمول Bot API، Webhook با متد
setWebhook
در Bot API تنظیم میشود، نه با دستور ساده BotFather.
BotFather بیشتر برای هویت Bot و تنظیمات سطح حساب استفاده میشود،
در حالی که ارتباط Backend و دریافت Updateها بخشی از توسعه نرمافزار است.
ساخت Mini App از طریق BotFather
Telegram امکان اتصال Mini App به Bot را نیز فراهم میکند.
Mini App یک رابط وب تعاملی است که مستقیماً داخل Telegram باز میشود.
در BotFather میتوان Main Mini App را برای Bot تنظیم کرد و در پروژههای مناسب
دکمه Launch App و محتوای نمایشی مرتبط به پروفایل اضافه کرد.
این قابلیت برای رابطهایی مثل فروشگاه، داشبورد، فرمهای پیچیده و سرویسهای تعاملی
مناسبتر از منوهای ساده Chat است.
انتقال مالکیت ربات
BotFather امکان انتقال مالکیت Bot به کاربر دیگر را نیز دارد.
مسیر معمول:
/mybots
→ انتخاب Bot
→ Transfer Ownership
طبق مستندات فعلی Telegram، کاربری که Bot به او منتقل میشود باید حداقل یک بار
با Bot تعامل کرده باشد.
انتقال مالکیت اقدام حساسی است؛ مالک جدید کنترل کامل Bot را دریافت میکند
و انتقال طبق مستندات Telegram دائمی است.
حذف ربات تلگرام با BotFather
برای حذف Bot میتوان از:
/deletebot
استفاده کرد.
حذف Bot قابل بازگشت نیست؛ بنابراین این دستور را فقط زمانی اجرا کنید که مطمئن هستید
به Bot، اطلاعات و Username آن نیاز ندارید.
آیا BotFather جای برنامهنویسی را میگیرد؟
خیر.
با BotFather میتوانید Bot را ایجاد و تنظیم کنید، اما قابلیتهایی مثل:
- ثبت سفارش
- دیتابیس
- پرداخت
- حساب کاربری
- سیستم اشتراک
- پشتیبانی
- اتصال به API
- پنل مدیریت
باید در Backend یا سایر اجزای نرمافزاری پروژه پیادهسازی شوند.
برای دیدن کل فرایند توسعه، مقاله
آموزش ساخت ربات تلگرام از صفر
را مطالعه کنید.
تنظیمات پیشنهادی BotFather برای ربات حرفهای
تنظیم مناسب کاملاً به کاربرد ربات بستگی دارد، اما برای بیشتر Botهای عمومی این چکلیست مفید است:
- نام واضح و مرتبط با برند
- Username کوتاه و قابل یادآوری
- تصویر پروفایل مشخص
- Description مختصر و کاربردی
- About Text واضح
- Commands مرتب و محدود به قابلیتهای واقعی
- Privacy Mode روشن مگر اینکه واقعاً نیاز به پیامهای عمومی گروه باشد
- غیرفعال کردن Join Groups اگر Bot هیچ کاربرد گروهی ندارد
- Inline Mode فقط در صورت نیاز واقعی
- نگهداری امن Token
اشتباهات رایج هنگام کار با BotFather
انتشار Token
Token را در اسکرینشات، Repository عمومی یا پیام عمومی منتشر نکنید.
انتخاب Username نامناسب
از آنجا که Username بخش مهمی از هویت عمومی ربات است، نام طولانی یا غیرمرتبط
میتواند در آینده دردسر ایجاد کند.
پر کردن Commands بدون پیادهسازی Backend
فقط Commandهایی را معرفی کنید که برنامه واقعاً میتواند پردازش کند.
خاموش کردن Privacy Mode بدون دلیل
دریافت تمام پیامهای گروه همیشه مزیت نیست و پردازش غیرضروری و دسترسی بیشتر به پیامها ایجاد میکند.
Description تبلیغاتی و نامفهوم
کاربر باید سریع بفهمد Bot چه کاری انجام میدهد.
استفاده از Bot اصلی برای آزمایشهای خطرناک
برای توسعه تغییرات بزرگ بهتر است Bot آزمایشی جداگانه داشته باشید
تا کاربران نسخه اصلی تحت تأثیر تستهای شما قرار نگیرند.
تفاوت BotFather و Telegram Bot API
| BotFather | Telegram Bot API |
|---|---|
| ایجاد Bot | اجرای منطق برنامه |
| مدیریت Token | ارسال و دریافت داده |
| تنظیم نام و پروفایل | ارسال پیام و فایل |
| تعریف Commands | پردازش Updateها |
| Privacy و Inline Settings | Webhook و Long Polling |
سوالات متداول درباره BotFather
BotFather چیست؟
BotFather ابزار رسمی Telegram برای ایجاد و مدیریت حسابهای Bot و بسیاری از تنظیمات آنهاست.
آدرس BotFather چیست؟
Username رسمی آن
@BotFather
است.
برای ساخت ربات چه دستوری بزنیم؟
دستور
/newbot
فرایند ساخت Bot جدید را آغاز میکند.
Bot Token چیست؟
Token کلید احراز هویت Bot برای ارتباط با Telegram Bot API است و باید محرمانه نگهداری شود.
اگر Token لو رفت چه کنیم؟
از BotFather برای ایجاد Token جدید استفاده کنید و Credential قبلی را دیگر در Backend استفاده نکنید.
Privacy Mode چیست؟
تنظیمی است که مشخص میکند Bot هنگام حضور در Group چه پیامهایی را دریافت کند.
این حالت بهصورت پیشفرض فعال است.
چطور دستورات Bot را تنظیم کنیم؟
از دستور
/setcommands
یا تنظیمات Bot در رابط
/mybots
استفاده کنید.
آیا BotFather ربات را برنامهنویسی میکند؟
خیر. برای عملکرد واقعی Bot باید Backend یا نرمافزار متصل به Telegram Bot API داشته باشید.
منابع رسمی BotFather
Telegram قابلیتهای Bot را مرتب توسعه میدهد؛ بنابراین برای تنظیمات حساس و قابلیتهای جدید،
مستندات رسمی را مرجع نهایی قرار دهید.
ساخت Bot با BotFather انجام شد؛ مرحله بعد چیست؟
اگر میخواهید خودتان ادامه دهید، وارد مرحله برنامهنویسی و اتصال Bot به Backend شوید.
اگر برای کسبوکارتان ربات اختصاصی نیاز دارید، امکانات پروژه را برای بررسی ارسال کنید.

