چگونه برای Telegram یک ربات بسازیم
اگر جستوجو کردهاید که چگونه برای Telegram یک ربات بسازید، در واقع سر یک دوراهی ایستادهاید؛ چیزی که بیشتر افراد تا وقتی نصف مسیر اشتباه را نرفتهاند، متوجهش نمیشوند. «ساختن یک Telegram bot» میتواند دو معنای کاملاً متفاوت داشته باشد. یکی این است که ربات خودتان را از صفر و با کدنویسی بسازید. دیگری این است که یک ربات آماده داشته باشید که واقعاً در گروهتان کاری انجام دهد. هر دو معتبرند. اما یک پروژه نیستند، و قاطیکردنشان ساعتها وقتتان را هدر میدهد.
این صفحه این دو مسیر را صادقانه از هم جدا میکند. اول، فرایند واقعی و رسمی ساختن Telegram bot اختصاصی خودتان از طریق @BotFather، از جمله بخشی که معمولاً کسی از همان ابتدا به شما نمیگوید: یک ربات تازهساخته تا وقتی کد پشت آن را ننویسید و میزبانی نکنید، هیچ کاری نمیکند. بعد میرسیم به حالت رایجتر؛ جایی که کسی یک ربات برای مدیریت یا نظارت بر گروه میخواهد و در واقع لازم نیست چیزی بسازد. تا پایان این مطلب میدانید کدام مسیر برای شماست.
«ساختن یک Telegram bot» واقعاً یعنی چه
یک Telegram bot یک حساب خودکار است که بهجای انسان، نرمافزار آن را اجرا میکند. وقتی از نظر فنی یکی را «میسازید»، هنوز نرمافزارش را ننوشتهاید. فقط یک حساب را در Telegram ثبت میکنید و اطلاعات دسترسی آن را میگیرید. این حساب تا وقتی برنامهای به آن وصل نشود و جایی دائماً در حال اجرا نباشد، خالی است.
پس کلمه «ساختن» یک فاصله مهم را پنهان میکند. ثبت ربات دو دقیقه زمان میبرد و رایگان است. اما اینکه کاری مفید انجام دهد، یک کار جداگانه و بزرگتر است. دانستن این نکته شما را از رایجترین غافلگیری نجات میدهد: مراحل @BotFather را تمام میکنید، چت با ربات جدیدتان را باز میکنید، و میبینید ساکت نشسته است.
اگر با رباتها تازه آشنا شدهاید، رباتها در Telegram چه هستند؟ اصول اولیه را توضیح میدهد، و ربات برای Telegram: گروه شما به کدام نوع نیاز دارد انواع مختلف را مشخص میکند.
مسیر A: ربات خودتان را با @BotFather و کدنویسی بسازید
این مسیر رسمی است، و برای هر کسی که حاضر به برنامهنویسی باشد جواب میدهد. @BotFather ربات خود Telegram برای ثبت رباتهاست، و شما مثل یک چت معمولی با آن صحبت میکنید.
ربات را با @BotFather ثبت کنید
- Telegram را باز کنید، @BotFather را جستوجو کنید (نسخه تأییدشده با تیک آبی)، و یک چت را شروع کنید.
- دستور
/newbotرا بفرستید. - @BotFather از شما یک نام نمایشی میخواهد (چیزی که افراد میبینند، مثلاً "My Helper Bot"). آن را بفرستید.
- بعد از شما یک نام کاربری میخواهد که باید یکتا باشد و به
botختم شود (مثلاًmyhelper_bot). نامی را بفرستید که قبلاً گرفته نشده باشد. - @BotFather با یک API token پاسخ میدهد؛ یک رشته طولانی مثل
123456789:ABCdef.... این توکن رمز عبور ربات شماست. آن را خصوصی نگه دارید؛ هر کسی آن را داشته باشد میتواند رباتتان را کنترل کند.
کل فرایند ثبت همین است. حالا ربات شما وجود دارد. بعداً میتوانید با @BotFather تصویر پروفایل، توضیحات و راهنمای دستورها را از طریق دستورهایی مثل /setdescription و /setuserpic تنظیم کنید.
بخشی که واقعاً کار میبرد
این همان چیزی است که آموزشهای سریع از آن عبور میکنند. در این مرحله ربات شما هنوز هیچ کاری نمیکند. توکن فقط کلید یک حساب خالی است. برای اینکه ربات به پیامها پاسخ دهد، دستورها را اجرا کند، یا چیزی را مدیریت کند، باید:
- کد بنویسید که با استفاده از توکن شما با Telegram Bot API صحبت کند. بیشتر افراد از یک کتابخانه در زبان برنامهنویسی دلخواهشان استفاده میکنند (python-telegram-bot، telegraf برای Node.js، aiogram، و موارد دیگر). کد مشخص میکند وقتی پیامی میرسد چه اتفاقی بیفتد.
- آن کد را جایی میزبانی کنید که بهصورت پیوسته اجرا شود. یک ربات فقط وقتی کار میکند که برنامهاش در حال اجرا و قابل دسترس باشد. یعنی به یک سرور، VPS یا سرویس میزبانی نیاز دارید، بهعلاوه باید آن را روشن، پایدار و تحت نظارت نگه دارید. لپتاپتان را خاموش کنید، ربات هم آفلاین میشود.
هیچکدام از اینها برای یک توسعهدهنده عجیب نیست، اما واقعاً کار نرمافزاری است. ساختن یک ربات مدیریت خوب بسیار فراتر از یک نمونه ساده است: تشخیص اسپم، اسکن تصویر، محدودسازی نرخ، مدیریت سوءاستفاده، پایگاه داده، و یک رابط برای پیکربندی همه اینها.
پس مسیر A وقتی پاسخ درست است که میخواهید یاد بگیرید، ایدهای سفارشی دارید، یا توسعهدهندهای هستید که به رفتار اختصاصی نیاز دارد. اما اگر چیزی که واقعاً میخواستید رباتی بود که همین حالا گروهها را مدیریت کند، این مسیر پاسخ اشتباهی است.
مسیر B: شما نمیخواهید ربات بسازید، رباتی میخواهید که کاری انجام دهد
اگر جستوجوهای مربوط به «چگونه یک Telegram bot بسازیم» را دقیقتر نگاه کنید، یک الگو دیده میشود. بخش بزرگی از افرادی که این عبارت را تایپ میکنند نمیخواهند توسعهدهنده ربات شوند. آنها یک گروه Telegram دارند که پر از اسپم، لینکهای کلاهبرداری، حملههای گروهی یا تصاویر ناخواسته شده، و به این نتیجه رسیدهاند که راهحل، «ساختن یک ربات» برای پاکسازی آن است.
اگر شما هم همین وضعیت را دارید، میانبر صادقانه این است: شما آن ربات را نمیسازید. رباتی را اضافه میکنید که از قبل کار میکند.
مدیریت گروه مسئلهای حلشده است. یک ربات مدیریت توانمند به تشخیص اسپم با یادگیری ماشین، اسکن تصویر، امتیازدهی رفتاری، پوشش چندزبانه، سیستم مجازات، و داشبورد نیاز دارد. نوشتن و میزبانی همه اینها توسط خودتان ماهها کار و نگهداری مداوم میخواهد. یک ربات آماده همان نتیجه را در زمانی به شما میدهد که برای اضافهکردن یک عضو و روشنکردن چند گزینه لازم است.
اینجاست که Telegram Bot App معنا پیدا میکند. هدف اینجا این است که شما را درست راهنمایی کنیم، پس ارزش دارد دقیق بگوییم چیست و چه چیزی نیست.
Telegram Bot App چیست
Telegram Bot App یک ربات آماده برای مدیریت و نظارت است که شما آن را به یک گروه Telegram اضافه میکنید. شما آن را نمیسازید، برنامهنویسی نمیکنید و میزبانیاش را انجام نمیدهید. آن را از طریق دسترسیهای مدیریتی که رباتهای صادرشده توسط @BotFather در گروه دریافت میکنند اضافه میکنید، سپس از داشبورد وب در telegram-bot.app پیکربندیاش میکنید.
برای اینکه به همان اندازه شفاف باشیم که چه چیزی نیست: این یک پلتفرم رباتساز یا بدون کد نیست، AI مکالمهای نیست، و userbot هم نیست که مثل انسان وارد حساب شود یا افراد را بهصورت انبوه دعوت کند. @BotFather هم برای شما ربات مدیریت تولید نمیکند؛ فقط رباتهای خالی را ثبت میکند. Telegram Bot App خود ربات کامل و آمادهبهکار است.
دقیقاً چه کاری انجام میدهد
وقتی اضافه شود و به مدیر ارتقا پیدا کند، قوانین شما را بهصورت خودکار اجرا میکند:
- پیام خوشامدگویی و CAPTCHA هنگام ورود. به اعضای جدید خوشامد میگوید و از آنها میخواهد ثابت کنند انسان هستند، با مهلتی که از 1 تا 60 دقیقه تنظیم میکنید. CAPTCHA و تأیید اعضای جدید و پیامهای خوشامدگویی و قوانین را ببینید.
- دو لایه رایگان ضداسپم. AI Spam Intelligence رفتار حساب را بهصورت یک مقدار ریسک بیزی از 0.0 تا 1.0 امتیازدهی میکند و در 0.75 یا بالاتر بهصورت خودکار اخراج میکند. Spamfinder یک طبقهبند محتوایی مبتنی بر یادگیری ماشین است که آستانه آن را از 0 تا 100 درصد تنظیم میکنید. هر دو رایگان هستند. جزئیات بیشتر در چگونه رباتهای اسپم را متوقف کنیم.
- بررسی محتوا. اسکن تصاویر NSFW، تشخیص احساسات و سمیبودن محتوا، فیلتر سفارشی کلمات نامناسب که شکلهای دورزدن املایی را هم میگیرد، اعمال زبان در حدود 33 تا 43 زبان، اسکن آنتیویروس فایلها، و اسکن پروفایل اعضای جدید.
- مدیریت لینکها. لینکهای دعوت Telegram را مسدود میکند تا جلوی اسپم تبلیغ گروه گرفته شود و URLهای مخرب را از طریق Google Safe Browsing تشخیص میدهد. اما همه لینکها را بر اساس دامنه حذف نمیکند و فهرست سفارشی مجاز/غیرمجاز URL اجرا نمیکند.
- مجازاتهای مرحلهای و داشبورد. تخلفهای تکراری پیامدهای سنگینتری میگیرند، و داشبورد وب آمار تحلیلی بههمراه فید زنده مجازاتها را نشان میدهد.
مجموعه اصلی مدیریت را رایگان اجرا میکند، از جمله 500 اسکن تصویر و 1,000 تحلیل احساسات در ماه. پلنهای پولی سهمیهها را افزایش میدهند: Gold با $4.99/month، Platinum با $9.99/month، Ultimate با $49.99/month، و پرداخت سالانه حدود 20 درصد ارزانتر است. برای جزئیات، خرید پرمیوم را ببینید.
راهنمای کامل راهاندازی در چگونه یک ربات را به گروه خود اضافه کنید آمده است: ربات را اضافه کنید، مجوزهای مدیریتی بدهید، یک پیام بفرستید تا گروه ثبت شود، سپس آن را در داشبورد پیکربندی کنید.
کدام مسیر برای شماست؟
با یک سؤال تصمیم بگیرید. میخواهید نرمافزار بسازید، یا نتیجه میخواهید؟
| شما میخواهید... | انتخاب کنید | چرا |
|---|---|---|
| توسعه ربات را یاد بگیرید، یا قابلیتی سفارشی بسازید که هیچ ربات موجودی ندارد | مسیر A: @BotFather + کد | به کنترل کامل نیاز دارید، و آمادهاید منطق را بنویسید و میزبانی کنید |
| اسپم را متوقف کنید، اعضای جدید را تأیید کنید، محتوا را فیلتر کنید، گروه را مدیریت کنید | مسیر B: اضافهکردن یک ربات آماده | کار قبلاً انجام شده؛ شما پیکربندی میکنید، نه کدنویسی |
| یک فروشگاه، آزمون، موسیقی، یا ربات اعلان با طراحی اختصاصی خودتان | مسیر A: @BotFather + کد | اینها پروژههای منطق سفارشی هستند و راهحل آمادهای که دقیقاً به مورد شما بخورد ندارند |
| یک جامعه در حال رشد را بدون تبدیلشدن به توسعهدهنده مدیریت کنید | مسیر B: اضافهکردن یک ربات آماده | ساختن موتور مدیریت توسط خودتان ماهها هزینه دارد که لازم نیست صرف کنید |
هیچکدام شرمآور نیست. افراد زیادی مسیر A را شروع میکنند، یک ربات ثبت میکنند، به دیوار «حالا باید فیلتر اسپم بنویسم» میخورند، و متوجه میشوند مسیر B همان چیزی بوده که از اول میخواستهاند.
پرسشهای پرتکرار
آیا ساختن Telegram bot رایگان است؟
ثبت ربات از طریق @BotFather رایگان است، و Telegram برای Bot API هزینهای نمیگیرد. چیزی که ممکن است هزینه داشته باشد اجرای ربات خودتان است، چون کد باید جایی میزبانی شود که همیشه آنلاین بماند. اگر بهجای آن یک ربات آماده اضافه کنید، مدیریت اصلی Telegram Bot App روی پلن رایگان اجرا میشود، بنابراین یک گروه میتواند بدون هزینه محافظت شود.
چگونه بدون کدنویسی برای Telegram ربات بسازم؟
طبق تعریف، نمیتوانید بدون کدنویسی یک ربات را برنامهنویسی کنید. اما اگر هدف شما رباتی است که در یک گروه کاری انجام دهد، نه یک پروژه سفارشی، میتوانید کلاً ساختن را کنار بگذارید و یک ربات آماده اضافه کنید. با Telegram Bot App آن را اضافه میکنید، دسترسی مدیریتی میدهید، و همهچیز را از طریق یک داشبورد وب با کلیدها و اسلایدرها پیکربندی میکنید؛ بدون هیچ کدی. راهنمای مرحلهبهمرحله در چگونه یک ربات را به گروه خود اضافه کنید آمده است.
@BotFather دقیقاً چه چیزی میسازد؟
@BotFather یک حساب ربات خالی ثبت میکند و به شما API token میدهد. همین. ربات تا وقتی برنامهای را به توکن وصل نکنید و آن برنامه را در حال اجرا نگه ندارید، هیچ رفتاری ندارد. @BotFather برای شما ربات مدیریت، دستیار چت، یا هیچ قابلیت دیگری نمیسازد؛ فقط حساب و اطلاعات دسترسی را صادر میکند.
میخواهم گروهم را مدیریت کنم. آیا واقعاً باید ربات بسازم؟
نه. مدیریت گروه دقیقاً همان موردی است که ساختن ربات اختصاصی در آن مسیر کندتر است. یک ربات مدیریت به تشخیص اسپم، اسکن تصویر، مدیریت زبان، و سیستم مجازات نیاز دارد؛ چیزهایی که همه در رباتهای آماده وجود دارند. اضافهکردن Telegram Bot App این امکانات را بهجای ماهها توسعه، در چند دقیقه به شما میدهد.
تفاوت ساختن ربات و اضافهکردن ربات چیست؟
ساختن ربات یعنی ثبت یک حساب با @BotFather، نوشتن کدی که به آن رفتار میدهد، و سپس میزبانی آن کد. اضافهکردن ربات یعنی یک ربات کامل و آمادهبهکار را بردارید و با دسترسی مدیریتی به گروهتان دعوت کنید. ساختن برای توسعهدهندگان و ایدههای سفارشی مناسب است؛ اضافهکردن برای هر کسی مناسب است که میخواهد کاری انجام شود بدون اینکه آن را بسازد. چرا از Telegram bot استفاده کنیم را ببینید.
جمعبندی صادقانه
اگر واقعاً میخواهید بسازید، مسیر A برای شما باز است، و @BotFather قدم اول درست است. اگر فقط رباتی میخواستید که گروه Telegram را تمیز نگه دارد و آن را با یک پروژه کدنویسی اشتباه گرفته بودید، همینجا میتوانید متوقف شوید. یک ربات مدیریت آماده اضافه کنید، پیکربندیاش کنید، و به کارتان برسید. برای راهاندازی، چگونه یک ربات را به گروه خود اضافه کنید را دنبال کنید، یا از گروه Telegram خود محافظت کنید را بخوانید تا ببینید مدیریت خودکار چه مواردی را پوشش میدهد.