آیا تا به حال به فکر ساخت یک ربات تلگرامی برای کسب و کار، کانال، گروه یا حتی برای انجام خودکار کارهای شخصی خود افتاده اید؟ ساخت ربات تلگرام دیگر یک رویای پیچیده و مخصوص برنامه نویسان نیست.
در این راهنمای جامع و تصویری از ای اچ پی بات، ما به شما نشان خواهیم داد که چگونه در کمتر از 15 دقیقه، بدون نیاز به حتی یک خط کد نویسی، ربات تلگرامی خود را به صورت کاملاً رایگان بسازید، آن را مدیریت کنید و به آن امکانات اولیه و کاربردی اضافه نمایید.
این آموزش بر اساس آخرین و بهترین شیوه ها تدوین شده تا نه تنها یک راهنمای عملی، بلکه یک محتوای ارزشمند و قابل فهم برای همگان باشد.
ربات تلگرام پاسخگو هوشمند چیست؟
ربات های تلگرام (Telegram Bots) حساب های کاربری ویژه ای هستند که نیازی به شماره تلفن ندارند و توسط نرم افزار کنترل می شوند، نه انسان. کاربران می توانند از طریق ارسال پیام، دستور (Command) یا درخواستهای درونخطی (Inline Requests) با آن ها تعامل کنند. این ربات ها از طریق API ربات تلگرام (Telegram Bot API) کنترل می شوند که مجموعه ای از دستورالعمل ها برای توسعه دهندگان است.
با ساخت ربات های تلگرامی میتوان برای خدمات و سرویس های گوناگون مختلفی از جمله ایجاد فروشگاه های حرفه ای در تلگرام گرفته تا ارائهی انواع خدمات در تلگرام و دریافت اطلاعات کاربران، ثبت نام کلاس های مختلف، ایجاد نرم افزارهای بازی، فروش و معرفی خدمات، رزرو بلیط و… میتوان بهره برد، تقریبا هر کاری که توسط اپلیکیشن ها و وب سایت قابل انجام هست، در ربات تلگرام نیز قابل انجام می باشد.
چرا ساخت ربات تلگرام ؟
قبل از اینکه وارد مراحل عملی شویم، بهتر است بدانیم که یک ربات تلگرامی چه مزایایی می تواند برای ما داشته باشد:
اتوماسیون و صرفه جویی در زمان: پاسخگویی خودکار به سوالات متداول، ارسال پیام های زمان بندی شده و مدیریت کاربران.
افزایش تعامل با مخاطبان: ایجاد نظرسنجی، آزمون، دکمه های شیشه ای جذاب و ارائه محتوای تعاملی.
ارائه خدمات و فروش: ساخت یک ربات فروشگاهی ساده، دریافت سفارشات و اتصال به درگاه پرداخت.
ابزار مدیریتی قدرتمند: مدیریت گروهها، کنترل اعضا و جلوگیری از ارسال اسپم.
سرگرمی و کاربردهای شخصی: ساخت ربات های بازی، دریافت نرخ ارز و طلا، یا دریافت اخبار روز.
اکنون که با پتانسیل بالای این دستیاران هوشمند آشنا شدیم، بیایید آستین ها را بالا بزنیم و اولین ربات خود را بسازیم.
آموزش ساخت ربات تلگرام همراه با تصویر
مرحله اول :
همه ما بارها شنیده ایم برای ساخت ربات تلگرام نیاز است حتما کدنویسی بلد باشیم و از طریق کد یک ربات تلگرامی ایجاد کنیم اما ما قرار است به شما یاد بدهیم چگونه بدون کد و به صورت کاملا رایگان و در کمترین زمان ممکن برای خود یک ربات تلگرام پیشرفته بسازید .
برای ساخت ربات تلگرام رایگان ابتدا نیاز است شما در سایت بات فادر یک پوسته ایجاد کنید که نحوه ایجاد آن به این طریق میباشد:
ابتدا وارد ربات BotFather میشویم https://telegram.me/BotFather
سپس start را زده

مرحله دوم :
در مرحله بعد /newbot – create a new bot را انتخاب کرده ، در این مرحله شما یک پیام به مضمون زیر دریافت میکنید:
Alright, a new bot. How are we going to call it? Please choose a name for your bot.
در این مرحله باید باید برای ربات خود یک اسم انتخاب کنید و پس از آن نیاز به انتخاب یک یوزنیم دارید، توجه داشته باشید که که یوزرنیم حتما به کلمه ی bot ختم شود و انگلیسی باشد ، به طور مثال : TestbotTest
لازم بذکر است نام ربات بعدا قابل تغییر میباشد اما یوزرنیم را نمیتوان تغییر داد.

مرحله سوم :
در این مرحله کار ساخت پوسته ربات به پایان رسیده است و ربات یک پیام برای شما میفرستد که یک کد داخل آن است (توکن) که بدین شکل میباشد:
Use this token to access the HTTP API:
۵۶۶۰۷۰۰۷۱۹:AAFayhD7_A5MfZQy_4dUNNxwbeKCgkwmtSM
Keep your token secure and store it safely, it can be used by anyone to control your bot.
For a description of the Bot API, see this page: https://core.telegram.org/bots/api
همانطور که در بالا اشاه کردیم پوسته ربات ما ایجاد شده است و از توکن برای استفاده در نرم افزار های مختلف میتوان استفاده کرد. در ادامه باید برای ربات خود یک سری تنظیمات انجام دهیم مثل انتخاب عکس برای ربات setuserpic/ و هم باید یک سری توضیحات در مورد ربات بنویسیم
setdescription/
حال شما باید برای ربات خود یک فلو آماده کنید و در نهایت به صورت کاملا رایگان دارای یک ربات تلگرامی خواهید شد که خودتان آن را درست کرده اید. برای ساخت فلو و دکمه شیشه ای میتوانید از سایت های مختلفی manychat و sendplus استفاده کنید که ما در اینجا در ادامه آموزش رایگان ساخت ربات تلگرام، به شما یاد میدهیم که چگونه در سایت send plus برای ربات خود فلو و دکمه شیشهای تعرف کنید، ابتدا بر روی لینک زیر کلیک کرده و در آن ثبتنام میکنید.
https://sendpulse.com/features/chatbot/telegram
سپس برروی گزینه Connect Channel کلیک کرده و توکن خود را در آن کادر وارد میکنید پس از آن میتوانید در قسمت My Bots ربات خود را انتخاب کرده سپس در قسمت Bot Structure ابتدا پیام ورودی ربات خود که میخواهید یوزر به محض ورود به ربات شما ببیند را ثبت میکنید

و هرپیامی که میخواهید یوزر در ربات شما مشاهده نماید را به ترتیب در این قسمت ثبت میکنید. حال شما دارای یک ربات تلگرامی میباشید که به صورت کاملا رایگان آن را تهیه کرده اید.
همچنین شما میتوانید ساخت ربات تلگرام اختصاصی را با ارزان ترین قیمت به تیم ahpbot سفارش دهید، به منظور ثبت سفارش میتوانید با شماره های ۰۳۱۹۵۰۱۱۱۱۷ – ۰۳۱۹۵۰۱۱۱۱۸ – ۰۹۳۶۴۵۴۰۲۸۶ تماس بگیرید.
سفارش و مشاوره رایگان برای طراحی ربات تلگرام
به منظور مشاورهی رایگان و سفارش سریع ربات خود میتوانید از ساعت ۹ صبح الی ۲۲ از طریق راه های ارتباطی زیر با ما در ارتباط باشید.
مزایای استفاده از ربات تلگرام
قطعا ساخت ربات تلگرامی اختصاصی می تواند مزایا بی شماری را برای هر کسب و کاری داشته باشد، در ادامه این بخش از ای اچ پی بات به مزایا اصلی آن خواهیم پرداخت.

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

یک نرم افزار برای همه ی سیستم عاملها
نکته ی حائز اهمیت دیگر، با طراحی ربات تلگرام اختصاصی ، دارندگان هر دیوایسی که تلگرام بر روی ان نصب میشود میتوانند از نرم افزار (ربات تلگرامی شما) استفاده نمایند (اندروید ، ios ، ویندوز و…) ولی اگر نرم افزار برای پلتفرم خاص به طور مثال اندروید طراحی کنید کاربران دیوایس های دیگر نمیتوانند از نرم افزار شما استفاده کنند مگر اینکه برای سیستم عامل های دیگر نرم افزار را مجدد طراحی کنید که هزینه ی بسیار زیادی را بر دوش خواهد گذاشت.

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

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

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

در دسترس و سریع
کاربران تمایل دارند تا برای دسترسی به خدمات شما از ساده ترین و سریع ترین روش استفاده نمایند، ربات های هوشمند تلگرام، به دلیل Realtime بودن، این نیاز مشتری را میتوانند در بهترین و زود ترین زمان ممکن برآورده کنند. پس چه چیزی بهتر از ارائه خدمات شما در تلگرام و شبکه اجتماعی که در دسترس همه هست؟
آموزش رایگان ساخت ربات تلگرام
ربات های تلگرام قابلیت ارائه رابط کاربری مناسب با ارائه ی دکمه های معمولی و شیشه ای و همینطور کامندها و قابلیت مدیا های مختلف را دارا میباشند. پوستهی ربات تلگرام در botfather ساخته میشود ولی این ربات به صورت دیفالت هیچ فعالتی انجام نمیدهد و برای اجرا و فعالیت نیاز مند یک سرور/هاست و برنامه نویسی سمت سرور برای پردازش ورودی های ربات و ارائه ی اطلاعات مناسب به کاربر میباشند، همین نکته قابلیت های منحصر به فرد و بیشماری به ربات های تلگرام میدهد.
زبان برنامه نویسی یک ربات تقریبا همان زبان برنامه نویسی سایت بوده و از نظر عملکردی شباهت بسیار زیادی به زبان های برنامه نویسی موبایل دارد و بنابراین میتوان تقریبا ۹۰ درصد قابلیت های یک وب سایت یا موبایل را درون یک ربات به کاربران ارائه داد!
مهم ترین کاربرد های ربات تلگرام
ربات های تلگرام کاربردهای مهم و متنوعی دارند، از جمله:
- ارائه اطلاعات: ربات ها می توانند اطلاعات مختلفی مانند اخبار، وضعیت آب و هوا، قیمت ارز، و غیره را به صورت خودکار در اختیار کاربران قرار دهند.
- خدمات مشتری: بسیاری از کسب و کارها از ربات ها برای پاسخگویی به سوالات متداول مشتریان، ارائه پشتیبانی اولیه، و راهنمایی آن ها استفاده می کنند.
- اتوماسیون وظایف: ربات ها می توانند وظایف تکراری مانند ارسال پیام های زمان بندی شده، مدیریت گروه ها و کانال ها، و جمع آوری داده ها را به صورت خودکار انجام دهند.
- ارائه محتوا: رباتها میتوانند محتوای جذاب و متنوعی مانند تصاویر، ویدیوها، موسیقی، و نظرسنجیها را در اختیار کاربران قرار دهند.
- بازی و سرگرمی: رباتهای بازی و سرگرمی می توانند کاربران را در چت ها مشغول و سرگرم کنند.
- تجارت الکترونیک: ربات ها می توانند در فرآیند خرید و فروش محصولات و خدمات، ارائه تخفیف ها، و پیگیری سفارشات به کاربران کمک کنند.
- مدیریت شبکههای اجتماعی: ربات ها میتوانند به مدیریت بهتر صفحات و گروه های شبکه های اجتماعی کمک کنند.
- آموزش: ربات های آموزشی می توانند مطالب آموزشی را به صورت تعاملی در اختیار کاربران قرار دهند و به سوالات آنها پاسخ دهند.
- یادآوری و برنامه ریزی: ربات ها می توانند به کاربران در تنظیم یادآورها و برنامه ریزی کارها کمک کنند.
- پرداخت ها: برخی ربات ها امکان انجام پرداخت های آنلاین را فراهم می کنند.
توکن ربات چیست و چرا مهم است؟
توکن API ربات تلگرام شما، کلید ارتباط امن کد شما با سرور های تلگرام برای کنترل رباتتان محسوب می شود و به منزله رمز عبور ربات شما عمل می کند. این توکن یکتا، تنها راه تعامل و ارسال دستورات به ربات شماست، بنابراین حفظ امنیت آن از اهمیت بالایی برخوردار است.
اکیداً توصیه می شود هرگز این توکن را با هیچ فرد دیگری به اشتراک نگذارید. در صورت سوء ظن از افشای توکن، فوراً با استفاده از دستور /revoke
در BotFather، توکن فعلی را باطل و یک توکن جدید دریافت کنید. این توکن حیاتی را در مکانی امن کپی و برای مراحل آتی آموزش ساخت ربات تلگرام ذخیره نمایید.
تنظیم اطلاعات ربات (اختیاری اما توصیه شده)
BotFather امکانات زیادی برای تنظیم اطلاعات ربات شما فراهم میکند که ظاهر و عملکرد آن را بهبود می بخشد:
/setname
: تغییر نام نمایشی./setdescription
: تنظیم توضیحات کوتاهی که در صفحه پروفایل ربات نمایش داده می شود./setabouttext
: تنظیم متن کوتاهی که در بالای صفحه چت ربات نمایش داده می شود./setuserpic
: تنظیم عکس پروفایل برای ربات./setcommands
: تعریف لیست دستورات قابل استفاده ربات (مانند /start, /help) تا کاربران آنها را ببینند.
این تنظیمات به کاربران کمک می کند تا ربات شما را بهتر بشناسند و راحت تر با آن کار کنند.
بخش سوم: انتخاب زبان برنامهنویسی و کتابخانه مناسب
حالا که ربات شما با موفقیت در تلگرام ایجاد شده و توکن آن را دارید، وقت آن است که به آن جان ببخشید! برای این کار به کدنویسی نیاز داریم. همانطور که اشاره شد، زبان های برنامه نویسی مختلفی برای ساخت ربات تلگرام قابل استفاده هستند، اما پایتون به دلیل سادگی، خوانایی بالا و وجود کتابخانه های قدرتمند، یکی از بهترین گزینه ها برای شروع، به خصوص برای مبتدیان است.
چرا پایتون؟
- سادگی و خوانایی: سینتکس پایتون بسیار شبیه به زبان انگلیسی است و یادگیری آن آسان است.
- جامعه بزرگ و فعال: منابع آموزشی و پشتیبانی زیادی برای پایتون وجود دارد.
- کتابخانههای قدرتمند: برای هر کاری که فکرش را بکنید در پایتون کتابخانهای وجود دارد، از جمله برای کار با تلگرام.
معرفی کتابخانه های پایتون برای تلگرام
برای تعامل با API تلگرام در پایتون، نیازی نیست که مستقیماً درخواستهای HTTP پیچیده بفرستید. کتابخانههای پایتون این کار را برای شما ساده می کنند. محبوب ترین کتابخانه برای ساخت ربات تلگرام با پایتون عبارت است از:
python-telegram-bot
: این کتابخانه یکی از کامل ترین و پرطرفدارترین کتابخانه ها است که امکانات گسترده ای برای کار با API تلگرام فراهم می کند و کار با آن نسبتاً آسان است.
در ادامه این آموزش ساخت ربات تلگرام، از کتابخانه python-telegram-bot
استفاده خواهیم کرد.
بخش چهارم: شروع کدنویسی: اتصال به API تلگرام
اکنون که زبان و کتابخانه مورد نظر را انتخاب کردیم، وقت آن است که اولین خطوط کد را بنویسیم و ربات را به زندگی نزدیک تر کنیم!
نصب کتابخانه python-telegram-bot
قبل از هر چیز، باید این کتابخانه را بر روی سیستم خود نصب کنید. اگر پایتون و pip (مدیر بسته پایتون) را نصب کرده اید، کافیست دستور زیر را در ترمینال یا خط فرمان اجرا کنید:
pip install python-telegram-bot --upgrade
این دستور آخرین نسخه کتابخانه را نصب یا به روز رسانی میکند.
اولین کد: ارسال پیام خوش آمدگویی (دستور /start
)
هر رباتی معمولاً با دستور /start
آغاز به کار میکند. بیایید کدی بنویسیم که وقتی کاربر دستور /start
را برای ربات ما ارسال میکند، ربات یک پیام خوشآمدگویی بفرستد.
یک فایل پایتون جدید (مثلاً my_first_bot.py
) ایجاد کرده و کد زیر را در آن بنویسید:
import logging
from telegram import Update
from telegram.ext import ApplicationBuilder, ContextTypes, CommandHandler
# توکن ربات خود را اینجا قرار دهید
# از توکن واقعی خود استفاده کنید
TOKEN = "توکن_ربات_شما" # مثال: "123456789:AABBCC..."
# تنظیمات اولیه لاگینگ برای نمایش اطلاعات در کنسول
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO
)
# تابعی برای پاسخ به دستور /start
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text('سلام! به ربات آموزشی خوش آمدید.')
# تابع اصلی برای راه اندازی ربات
def main():
# ایجاد یک نمونه ApplicationBuilder با توکن ربات
application = ApplicationBuilder().token(TOKEN).build()
# اضافه کردن Handler برای دستور /start
# وقتی کاربر دستور /start را ارسال کند، تابع start فراخوانی می شود
start_handler = CommandHandler('start', start)
application.add_handler(start_handler)
# شروع Polling (دریافت پیام ها از سرور تلگرام)
print("ربات در حال اجرا است...")
application.run_polling(poll_interval=3) # هر 3 ثانیه یکبار پیام های جدید را بررسی کن
# اجرای تابع اصلی هنگام اجرای فایل
if __name__ == '__main__':
main()
توضیح کد:
import logging...
: کتابخانههای مورد نیاز را وارد میکنیم.telegram
حاوی اشیاء اصلی تلگرام مانندUpdate
است.telegram.ext
شامل ابزارهایی مانند Handlers برای مدیریت انواع مختلف ورودیها است.logging
برای نمایش اطلاعات عملکرد ربات در کنسول استفاده میشود.TOKEN = "توکن_ربات_شما"
: بسیار مهم است! توکن رباتی که از BotFather دریافت کردید را به جای"توکن_ربات_شما"
قرار دهید.logging.basicConfig(...)
: تنظیم میکند که اطلاعات عملکرد ربات در کنسول نمایش داده شود. این برای اشکالزدایی مفید است.async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
: این یک تابع ناهمگام (async) است که وظیفه پاسخ به دستور/start
را بر عهده دارد.update
: حاوی اطلاعات مربوط به رویداد دریافتی از تلگرام (مثلاً پیام کاربر).context
: حاوی اطلاعات مربوط به وضعیت ربات و ابزارهایی برای تعامل.await update.message.reply_text(...)
: با استفاده از شیءupdate.message
(که نمایانگر پیام دریافتی است)، دستورreply_text
را برای ارسال پاسخ متنی به کاربر اجرا میکنیم. کلمه کلیدیawait
نشان میدهد که این یک عملیات ورودی/خروجی است و ممکن است کمی طول بکشد.
def main():
: این تابع اصلی ربات ما را تنظیم و اجرا میکند.application = ApplicationBuilder().token(TOKEN).build()
: یک نمونه ازApplicationBuilder
ایجاد کرده و توکن ربات را به آن میدهیم، سپس آن را میسازیم (build). این شیءapplication
هسته اصلی ربات شماست.start_handler = CommandHandler('start', start)
: یکCommandHandler
ایجاد میکنیم. این Handler مشخص میکند که اگر کاربر دستور/start
را ارسال کرد، تابعstart
باید اجرا شود.application.add_handler(start_handler)
: Handler ساخته شده را بهapplication
اضافه میکنیم تا ربات بداند چگونه به دستور/start
واکنش نشان دهد.application.run_polling(...)
: این خط ربات را اجرا میکند و به آن دستور میدهد که به صورت دورهای (هر ۳ ثانیه در اینجا) سرورهای تلگرام را برای دریافت پیامها و بهروزرسانیهای جدید بررسی کند. این روش دریافت بهروزرسانی به نام Polling شناخته میشود.
if __name__ == '__main__': main()
: این خط تضمین میکند که تابعmain
فقط زمانی اجرا شود که شما فایل پایتون را مستقیماً اجرا میکنید.
اجرای اولین ربات شما
فایل my_first_bot.py
را ذخیره کنید. حالا ترمینال یا خط فرمان را باز کرده، به مسیری که فایل را ذخیره کردهاید بروید و دستور زیر را اجرا کنید:
python my_first_bot.py
اگر همه چیز درست باشد، باید پیامی شبیه به “ربات در حال اجرا است…” را در کنسول ببینید.
حالا تلگرام را باز کنید، ربات خود را با نام کاربری که در BotFather انتخاب کردید جستجو کرده و چت با آن را باز کنید. دستور /start
را ارسال کنید. اگر ربات شما در حال اجرا باشد و توکن را درست وارد کرده باشید، باید پیام “سلام! به ربات آموزشی خوش آمدید.” را از ربات دریافت کنید.
تبریک میگویید! شما اولین قدم را در ساخت ربات تلگرام برداشتهاید.
بخش پنجم: مدیریت پیامها و دستورات متنوع
رباتها فقط برای پاسخ به /start
ساخته نمیشوند! آنها باید بتوانند به انواع پیامها و دستورات واکنش نشان دهند. در این بخش از آموزش ساخت ربات تلگرام، یاد میگیریم چگونه Handlers بیشتری اضافه کنیم.
پاسخ به پیامهای متنی
فرض کنید میخواهید ربات به هر پیام متنی که کاربر ارسال میکند، پاسخی ساده بدهد (مثلاً همان پیام را پس بفرستد – ربات اکو). برای این کار از MessageHandler
استفاده میکنیم.
کد قبلی را باز کرده و آن را ویرایش کنید:
import logging
from telegram import Update
from telegram.ext import ApplicationBuilder, ContextTypes, CommandHandler, MessageHandler, filters
TOKEN = "توکن_ربات_شما"
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO
)
# تابعی برای پاسخ به دستور /start
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text('سلام! به ربات آموزشی خوش آمدید.')
# تابعی برای پاسخ به پیام های متنی
async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text(update.message.text) # همان متن پیام کاربر را برگردان
# تابع اصلی برای راه اندازی ربات
def main():
application = ApplicationBuilder().token(TOKEN).build()
# Handlers
start_handler = CommandHandler('start', start)
# اضافه کردن MessageHandler برای پیام های متنی غیر از دستورات
# filters.TEXT: فقط پیام های متنی را فیلتر کن
# ~filters.COMMAND: پیام هایی که دستور نیستند را فیلتر کن (برای جلوگیری از تکرار با CommandHandler)
echo_handler = MessageHandler(filters.TEXT & (~filters.COMMAND), echo)
application.add_handler(start_handler)
application.add_handler(echo_handler) # اضافه کردن Handler جدید
print("ربات در حال اجرا است...")
application.run_polling(poll_interval=3)
if __name__ == '__main__':
main()
تغییرات در کد:
from telegram.ext import ..., MessageHandler, filters
: کلاسهایMessageHandler
وfilters
را وارد کردهایم.async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE):
: تابع جدیدی برای مدیریت پیامهای متنی ایجاد کردهایم.update.message.text
متن پیام دریافتی را به ما میدهد و ما آن را باreply_text
برمیگردانیم.echo_handler = MessageHandler(filters.TEXT & (~filters.COMMAND), echo)
: یکMessageHandler
ایجاد کردهایم.filters.TEXT
: این فیلتر تضمین میکند که فقط پیامهای متنی توسط این Handler پردازش شوند.~filters.COMMAND
: این فیلتر با علامت~
(منفی)، پیامهایی که دستور هستند (با/
شروع میشوند) را از پردازش توسط این Handler مستثنی میکند. این کار ضروری است تا دستور/start
هم توسطCommandHandler
و هم توسط اینMessageHandler
پردازش نشود.
application.add_handler(echo_handler)
: Handler جدید را بهapplication
اضافه کردهایم.
حالا دوباره فایل پایتون را اجرا کنید (python my_first_bot.py
). در تلگرام، هر پیام متنی غیر از /start
برای ربات ارسال کنید. ربات باید همان پیام را به شما پس بفرستد.
اضافه کردن دستورات دیگر
اضافه کردن دستورات دیگر (مثل /help
، /info
و…) دقیقاً مانند اضافه کردن دستور /start
است. کافیست:
- یک تابع جدید برای آن دستور بنویسید.
- یک
CommandHandler
برای آن دستور و تابع مربوطه ایجاد کنید. - Handler جدید را به
application
اضافه کنید.
مثال برای دستور /help
:
# ... (کدهای قبلی، import ها، TOKEN، logging)
# تابعی برای پاسخ به دستور /help
async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text('لیست دستورات من:\n/start - شروع\n/help - راهنما')
# ... (تابع echo)
# تابع اصلی برای راه اندازی ربات
def main():
application = ApplicationBuilder().token(TOKEN).build()
# Handlers
start_handler = CommandHandler('start', start)
help_handler = CommandHandler('help', help_command) # Handler برای دستور /help
echo_handler = MessageHandler(filters.TEXT & (~filters.COMMAND), echo)
application.add_handler(start_handler)
application.add_handler(help_handler) # اضافه کردن Handler جدید
application.add_handler(echo_handler)
print("ربات در حال اجرا است...")
application.run_polling(poll_interval=3)
# ... (بخش if __name__ == '__main__': main())
اکنون با اجرای مجدد ربات و ارسال دستور /help
در تلگرام، ربات باید لیست دستورات را برای شما ارسال کند. میتوانید با استفاده از دستور /setcommands
در BotFather نیز این دستورات را برای کاربران نمایش دهید.
بخش ششم: افزودن امکانات پیشرفته تر
رباتهای ساده که فقط به پیامها پاسخ میدهند، کاربرد محدودی دارند. بیایید برخی از امکانات پیشرفتهتر را که میتوانید به ربات خود اضافه کنید، بررسی کنیم.
کار با دکمه های شیشه ای (Inline Keyboards)
دکمههای شیشهای دکمههایی هستند که مستقیماً زیر پیام ربات ظاهر میشوند و با آنها میتوان تعامل کرد بدون اینکه پیام جدیدی در چت ارسال شود. آنها برای ساخت منوهای تعاملی، نظرسنجیها و بازیها بسیار مفید هستند.
این دکمهها حاوی callback_data
هستند که وقتی کاربر روی دکمه کلیک میکند، به ربات شما ارسال میشود و شما بر اساس آن داده، پاسخ مناسب را میدهید.
برای کار با دکمههای شیشهای به InlineKeyboardMarkup
و InlineKeyboardButton
نیاز دارید و باید یک CallbackQueryHandler
برای پردازش کلیک روی دکمهها اضافه کنید.
کار با دکمه های پاسخ (Reply Keyboards)
این دکمهها کیبورد پیشفرض تلگرام را با مجموعهای از دکمههای پیشنهادی جایگزین میکنند. وقتی کاربر روی یکی از آنها کلیک میکند، متن دکمه به عنوان یک پیام عادی برای ربات ارسال میشود. این برای ارائه گزینههای ثابت به کاربر (مانند “ارسال شماره تلفن”، “ارسال موقعیت مکانی” یا یک منوی اصلی ساده) مناسب است.
برای استفاده از این دکمهها از ReplyKeyboardMarkup
و KeyboardButton
استفاده میکنید و پیامهای دریافتی از این دکمهها توسط MessageHandler
(مانند همان MessageHandler که برای پیامهای متنی استفاده کردیم، با فیلتر مناسب) مدیریت میشوند.
ارسال عکس، فیلم، فایل و انواع رسانه ها
رباتهای تلگرام میتوانند انواع مختلفی از رسانهها را ارسال و دریافت کنند. متدهای مختلفی در python-telegram-bot
برای این کار وجود دارد، مانند send_photo
, send_video
, send_document
, send_audio
و… . شما میتوانید فایلها را از یک URL یا از روی دیسک کامپیوترتان ارسال کنید.
دریافت ورودی خاص از کاربر
اگر نیاز دارید اطلاعات خاصی از کاربر دریافت کنید (مثلاً نام، شماره تلفن، ایمیل)، میتوانید یک “حالت” (state) برای کاربر ایجاد کنید و منتظر ورودی بعدی او باشید. کتابخانههایی مانند python-telegram-bot
ابزارهایی برای مدیریت مکالمات (conversations) پیچیدهتر دارند که به شما امکان میدهند مراحل مختلف دریافت اطلاعات از کاربر را مدیریت کنید. ConversationHandler
در این کتابخانه برای این منظور طراحی شده است.
استفاده از وب هوک (Webhook) در مقابل نظرسنجی (Polling)
در مثالهای قبلی، ما از روش Polling برای دریافت بهروزرسانیها از سرور تلگرام استفاده کردیم. در این روش، ربات شما به صورت دورهای (مثلاً هر چند ثانیه یکبار) از سرور تلگرام میپرسد که آیا پیام جدیدی برایش آمده است یا خیر. این روش برای رباتهای کوچک یا در حال توسعه که روی کامپیوتر شخصی اجرا میشوند مناسب است.
اما برای رباتهای بزرگتر و در حال اجرا روی سرور، روش Webhook کارآمدتر است. در این روش، شما یک آدرس اینترنتی (URL) در سرور خود دارید و به تلگرام میگویید هر زمان که بهروزرسانی جدیدی برای ربات شما آمد، آن را به این آدرس ارسال کند. به این ترتیب، نیازی به پرسوجوهای مکرر نیست و بهروزرسانیها به صورت آنی دریافت میشوند. برای استفاده از Webhook، ربات شما باید روی یک سرور با آدرس IP عمومی قابل دسترسی باشد و گواهی SSL داشته باشد.
انتخاب بین Polling و Webhook به نیاز و محیط اجرای ربات شما بستگی دارد. برای شروع و آزمایش، Polling کافی است. برای اجرای ربات در محیط عملیاتی، Webhook معمولاً توصیه میشود.
بخش هفتم: راه اندازی و دیپلوی ربات
رباتی که روی کامپیوتر شما اجرا میشود، فقط زمانی کار میکند که کامپیوتر شما روشن و برنامه ربات در حال اجرا باشد. برای اینکه ربات شما به صورت ۲۴/۷ در دسترس باشد، نیاز دارید آن را روی یک سرور راهاندازی (Deploy) کنید.
چندین گزینه برای دیپلوی ربات تلگرام وجود دارد:
- سرور مجازی خصوصی (VPS): اجاره یک سرور مجازی و نصب و اجرای کد ربات روی آن. این روش کنترل کامل را به شما میدهد اما نیاز به دانش مدیریت سرور دارد.
- پلتفرمهای ابری (PaaS): سرویسهایی مانند Heroku، PythonAnywhere، Google Cloud Functions، AWS Lambda و… که به شما اجازه میدهند کد پایتون خود را بدون نیاز به مدیریت کامل سرور اجرا کنید. این گزینهها معمولاً سادهتر هستند اما ممکن است محدودیتها یا هزینههایی داشته باشند.
- هاستهای پایتون: برخی شرکتهای هاستینگ، سرویسهای ویژهای برای اجرای برنامههای پایتون ارائه میدهند.
برای رباتهایی که از Polling استفاده میکنند، نیاز به اجرای دائمی اسکریپت روی سرور دارید. برای رباتهایی که از Webhook استفاده میکنند، باید یک وب سرور کوچک (مثل Flask یا FastAPI در پایتون) تنظیم کنید که درخواستهای ورودی از تلگرام را دریافت کرده و به کتابخانه تلگرام شما بفرستد.
انتخاب روش دیپلوی به پیچیدگی ربات، بودجه و سطح دانش فنی شما بستگی دارد. برای رباتهای ساده، پلتفرمهایی مانند PythonAnywhere میتوانند نقطه شروع خوبی باشند.
نکات مهم برای اجرای پایدار ربات
- مدیریت خطا: کدهای خود را طوری بنویسید که خطاهای احتمالی را مدیریت کنند و ربات در صورت بروز مشکل متوقف نشود.
- لاگینگ: از سیستم لاگینگ برای ثبت اطلاعات عملکرد ربات و خطاهای احتمالی استفاده کنید.
- نظارت: وضعیت ربات خود را نظارت کنید تا از کارکرد صحیح آن اطمینان حاصل کنید.
- بهروزرسانی کتابخانه: کتابخانه
python-telegram-bot
و سایر وابستگیها را به روز نگه دارید تا از آخرین امکانات و بهبودها بهرهمند شوید.
بخش هشتم: گام های بعدی در مسیر توسعه ربات
ساخت یک ربات ساده تنها آغاز راه است. دنیای ساخت ربات تلگرام پر از امکانات و چالشهای جذاب است. برای پیشرفت بیشتر میتوانید روی موارد زیر تمرکز کنید:
- مدیریت دادهها: اگر ربات شما نیاز به ذخیره اطلاعات (مثلاً اطلاعات کاربران، تنظیمات، دادههای جمعآوری شده) دارد، باید با پایگاههای داده (مانند SQLite برای رباتهای کوچک، یا PostgreSQL/MySQL برای رباتهای بزرگتر) آشنا شوید.
- ارتباط با APIهای خارجی: ربات شما میتواند با API سایر سرویسها (مثلاً آب و هوا، صرافیها، وبسایتها) ارتباط برقرار کرده و اطلاعات را به تلگرام بیاورد.
- پیچیدهتر کردن منطق ربات: پیادهسازی منطقهای پیچیدهتر برای تعاملات کاربر، مدیریت وضعیتهای مختلف و پاسخهای هوشمندانهتر.
- امنیت: تضمین امنیت ربات شما در برابر حملات و استفاده نادرست از توکن API.
- تست و اشکالزدایی: یادگیری نحوه تست کدهای ربات و پیدا کردن و رفع اشکالات.
سفارش و مشاوره رایگان برای طراحی ربات تلگرام
به منظور مشاورهی رایگان و سفارش سریع ربات خود میتوانید از ساعت ۹ صبح الی ۲۲ از طریق راه های ارتباطی زیر با ما در ارتباط باشید.
نتیجه گیری
شما در این بخش به صورت کاملاً عملی و تصویری یاد گرفتید که چگونه یک ربات تلگرام را از صفر و بدون نیاز به دانش برنامه نویسی بسازید. از ثبت ربات در BotFather
گرفته تا دریافت توکن، شخصی سازی ظاهر و در نهایت اتصال آن به یک پلتفرم قدرتمند برای افزودن قابلیت های هوشمند. دنیای ربات های تلگرام بسیار گسترده است و این راهنما تنها نقطه شروعی برای ورود شما به این دنیای هیجان انگیز بود. امیدواریم با استفاده از این آموزش، بتوانید ایده های خلاقانه خود را به واقعیت تبدیل کنید.
سوالات متداول در رابطه با سفارش ربات تلگرام
آیا ساخت ربات تلگرام واقعاً رایگان است؟
بله، ثبت ربات در تلگرام از طریق BotFather
کاملاً رایگان است. استفاده از پلتفرم های جانبی مانند n8n
نیز معمولاً دارای یک پلن رایگان با محدودیت های مشخصی است که برای شروع و کارهای سبک کاملاً کافی است.
چگونه می توانم برای رباتم دکمه های شیشهای (Inline Keyboard) بسازم؟
این کار از طریق پلتفرم های مدیریت ربات مانند n8n
یا با ارسال دستورات خاص به API تلگرام امکان پذیر است. در این پلتفرم ها معمولاً گزینه هایی برای ساخت دکمه به صورت بصری وجود دارد.
اگر توکن رباتم را گم کردم یا لو رفت چه کار کنم؟
فوراً به BotFather
بروید. دستور /mybots
را ارسال کرده، ربات خود را انتخاب کنید و روی API Token
و سپس Revoke current token
کلیک کنید. BotFather
یک توکن جدید برای شما صادر می کند و توکن قبلی را باطل می نماید.
آیا می توانم ربات را به کانال یا گروه اضافه کنم؟
بله، اما ابتدا باید این قابلیت را در تنظیمات ربات فعال کنید. به BotFather
بروید، ربات را انتخاب کرده، وارد Bot Settings
شوید و مطمئن شوید که Group Privacy
در حالت Turn off
قرار دارد. این کار به ربات اجازه می دهد تمام پیامهای گروه را بخواند.
بهترین جایگزین های Manybot در سال 2025 کدامند؟
علاوه بر n8n
که معرفی شد، پلتفرم هایی مانند Make (Integromat)
، Chatfuel
و Dialogflow
(برای ربات های هوشمندتر) از بهترین گزینه ها هستند که امکانات گسترده ای را ارائه می دهند.
سفارش و مشاوره رایگان برای طراحی ربات اختصاصی شما
به منظور مشاورهی رایگان و سفارش سریع ربات خود میتوانید از ساعت ۹ صبح الی ۲۲ از طریق راه های ارتباطی زیر با ما در ارتباط باشید.
4 پاسخ
مرسی از آموزش خوبتون من اولین ربات تلگرامی خودم و به کمک اموزش شما ساختم
عالی
برای ساخت ربات تلگرام اختصاصی شما خودتون کدوم روش و پیشنهاد میدید؟ بات فادر یا کد نویسی؟
سلام و وقت بخیر کاربر گرامی، قطعا روش برنامه نویسی اختصاصی به دلیل اینکه قابلیت های اختصاصی و بیشتری رو میتوان به آن اضافه کرد روش مناسب تری هستش، برای دریافت مشاوره رایگان میتونید با کارشناسان ای اچ پی بات تماس حاصل نمایید.