تلگرام فقط یک پیام رسان ساده نیست؛ بلکه یک پلتفرم قدرتمند با امکانات فراوان است که یکی از جذاب ترین آن ها، ربات های تلگرامی هستند. این ربات ها می توانند کارهای متنوعی انجام دهند، از ارائه اطلاعات و خدمات گرفته تا سرگرمی و مدیریت گروه ها.
اگر شما هم به فکر ساخت ربات تلگرام اختصاصی خودتان افتاده اید، جای درستی آمدهاید! در این راهنمای کامل از ای اچ پی بات، به شما قدم به قدم نشان می دهیم که چگونه می توانید بدون نیاز به دانش برنامه نویسی پیچیده یا با استفاده از کمی کدنویسی، ربات تلگرامی خود را بسازید و آن را مدیریت کنید. پس با ما همراه باشید تا وارد دنیای شگفت انگیز ربات های تلگرام شویم.
ربات های تلگرام (Telegram Bots) حساب های کاربری ویژه ای هستند که نیازی به شماره تلفن ندارند و توسط نرم افزار کنترل می شوند، نه انسان. کاربران می توانند از طریق ارسال پیام، دستور (Command) یا درخواستهای درونخطی (Inline Requests) با آن ها تعامل کنند. این ربات ها از طریق API ربات تلگرام (Telegram Bot API) کنترل می شوند که مجموعه ای از دستورالعمل ها برای توسعه دهندگان است.
با ساخت ربات های تلگرامی میتوان برای خدمات و سرویس های گوناگون مختلفی از جمله ایجاد فروشگاه های حرفه ای در تلگرام گرفته تا ارائهی انواع خدمات در تلگرام و دریافت اطلاعات کاربران، ثبت نام کلاس های مختلف، ایجاد نرم افزارهای بازی، فروش و معرفی خدمات، رزرو بلیط و… میتوان بهره برد، تقریبا هر کاری که توسط اپلیکیشن ها و وب سایت قابل انجام هست، در ربات تلگرام نیز قابل انجام می باشد.
با استفاده از ربات ها در وب سایت خود، می توانید به طور قابل توجهی تجربه کاربری را بهبود بخشیده و تعامل مخاطبان را افزایش دهید، که این امر به کسب و کار شما کمک می کند.
ربات ها قادرند وظایف تکراری مانند پاسخگویی به سوالات متداول کاربران، ارسال به روزرسانی های مهم یا مدیریت اعضای گروه های کاربری را به صورت خودکار انجام دهند، در نتیجه زمان شما برای تمرکز بر جنبه های مهم تر کسب و کار آزاد می شود.
همچنین، ارائه خدمات متنوعی نظیر پیش بینی آب و هوا، ترجمه متون، اطلاع رسانی آخرین اخبار، جستجوی مطالب و حتی فروش محصولات از طریق ربات ها، ارزش افزوده ای برای کاربران ایجاد می کند و آن ها را برای مدت طولانی تری در سایت شما نگه می دارد. ایجاد ربات های سرگرم کننده مانند بازی ها و کوئیز ها نیز روشی مؤثر برای جذب مخاطب و افزایش زمان حضور آن ها در سایت است.
علاوه بر این، ربات ها می توانند با سایر سرویس های وب سایت شما و ابزارهای خارجی یکپارچه شده و تبادل اطلاعات کنند، فرآیند ها را تسهیل بخشند و داده های ارزشمندی را جمع آوری کنند. استفاده از ربات ها برای جمع آوری بازخورد از کاربران از طریق نظرسنجی ها به شما در شناخت بهتر نیازهای آن ها کمک کرده و امکان بهبود خدمات را فراهم می آورد.
در نهایت، ربات ها می توانند به عنوان یک ابزار بازاریابی قدرتمند عمل کرده و کاربران را از محصولات و خدمات جدید شما مطلع سازند، در نتیجه به افزایش آگاهی از برند و فروش کمک می کنند.
به طور کلی، سه روش اصلی برای ساخت ربات تلگرام وجود دارد:
این ربات رسمی خود تلگرام است که برای ثبت و مدیریت اولیه همه ربات ها استفاده می شود. این مرحله برای همه روش ها الزامی است.
پلتفرم هایی وجود دارند که به شما اجازه می دهند با استفاده از یک رابط کاربری گرافیکی و بدون نیاز به دانش برنامه نویسی، ربات های نسبتاً ساده تا متوسط بسازید.
برای ساخت ربات های پیچیده با منطق سفارشی، نیاز به برنامه نویسی با استفاده از زبان هایی مانند پایتون (Python)، PHP، جاوا اسکریپت (Node.js) و غیره دارید.
همه ما بارها شنیده ایم برای ساخت ربات تلگرام نیاز است حتما کدنویسی بلد باشیم و از طریق کد یک ربات تلگرامی ایجاد کنیم اما ما قرار است به شما یاد بدهیم چگونه بدون کد و به صورت کاملا رایگان و در کمترین زمان ممکن برای خود یک ربات تلگرام پیشرفته بسازید .
برای ساخت ربات تلگرام رایگان ابتدا نیاز است شما در سایت بات فادر یک پوسته ایجاد کنید که نحوه ایجاد آن به این طریق میباشد:
ابتدا وارد ربات 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 ساخته میشود ولی این ربات به صورت دیفالت هیچ فعالتی انجام نمیدهد و برای اجرا و فعالیت نیاز مند یک سرور/هاست و برنامه نویسی سمت سرور برای پردازش ورودی های ربات و ارائه ی اطلاعات مناسب به کاربر میباشند، همین نکته قابلیت های منحصر به فرد و بیشماری به ربات های تلگرام میدهد.
زبان برنامه نویسی یک ربات تقریبا همان زبان برنامه نویسی سایت بوده و از نظر عملکردی شباهت بسیار زیادی به زبان های برنامه نویسی موبایل دارد و بنابراین میتوان تقریبا ۹۰ درصد قابلیت های یک وب سایت یا موبایل را درون یک ربات به کاربران ارائه داد!
مراحل گام به گام ساخت ربات تلگرام (بدون نیاز به کدنویسی)
@BotFather
را تایپ کنید./start
را بزنید یا این دستور را تایپ و ارسال کنید./newbot
را انتخاب یا تایپ و ارسال کنید.bot
یا _bot
به پایان برسد (به عنوان مثال: etelaresani_bot). نام کاربری مورد نظر خود را وارد و ارسال کنید.در این مرحله، برای اینکه ربات شما بتواند به پیامها پاسخ دهد و کارهای مورد نظر شما را انجام دهد، نیاز به پیکربندی آن دارید. خوشبختانه، پلتفرمهای آنلاین متعددی وجود دارند که این کار را بدون نیاز به کدنویسی برای شما آسان میکنند. برخی از محبوبترین این پلتفرمها عبارتند از:
در این آموزش، به عنوان مثال، نحوه پیکربندی ربات با استفاده از پلتفرم Botiran را توضیح می دهیم:
تعریف دستورات و پاسخ ها: در پنل بوتیران (یا هر پلتفرم دیگری که انتخاب کردهاید)، می توانید دستوراتی را برای ربات خود تعریف کنید. کاربران با ارسال این دستورات (که معمولاً با علامت /
شروع می شوند) می توانند با ربات شما تعامل برقرار کنند.
/start
تعریف کنید که با ارسال آن، یک پیام خوشامدگویی به کاربر نمایش داده شود. یا دستور /help
که راهنمای استفاده از ربات را ارائه دهد.افزودن قابلیتهای پیشرفته (اختیاری): بسته به نیاز خود، می توانید قابلیت های پیشرفته تری را به ربات خود اضافه کنید. برای مثال:
ربات های تلگرام کاربردهای مهم و متنوعی دارند، از جمله:
توکن API ربات تلگرام شما، کلید ارتباط امن کد شما با سرور های تلگرام برای کنترل رباتتان محسوب می شود و به منزله رمز عبور ربات شما عمل می کند. این توکن یکتا، تنها راه تعامل و ارسال دستورات به ربات شماست، بنابراین حفظ امنیت آن از اهمیت بالایی برخوردار است.
اکیداً توصیه می شود هرگز این توکن را با هیچ فرد دیگری به اشتراک نگذارید. در صورت سوء ظن از افشای توکن، فوراً با استفاده از دستور /revoke
در BotFather، توکن فعلی را باطل و یک توکن جدید دریافت کنید. این توکن حیاتی را در مکانی امن کپی و برای مراحل آتی آموزش ساخت ربات تلگرام ذخیره نمایید.
BotFather امکانات زیادی برای تنظیم اطلاعات ربات شما فراهم میکند که ظاهر و عملکرد آن را بهبود می بخشد:
/setname
: تغییر نام نمایشی./setdescription
: تنظیم توضیحات کوتاهی که در صفحه پروفایل ربات نمایش داده می شود./setabouttext
: تنظیم متن کوتاهی که در بالای صفحه چت ربات نمایش داده می شود./setuserpic
: تنظیم عکس پروفایل برای ربات./setcommands
: تعریف لیست دستورات قابل استفاده ربات (مانند /start, /help) تا کاربران آنها را ببینند.این تنظیمات به کاربران کمک می کند تا ربات شما را بهتر بشناسند و راحت تر با آن کار کنند.
حالا که ربات شما با موفقیت در تلگرام ایجاد شده و توکن آن را دارید، وقت آن است که به آن جان ببخشید! برای این کار به کدنویسی نیاز داریم. همانطور که اشاره شد، زبان های برنامه نویسی مختلفی برای ساخت ربات تلگرام قابل استفاده هستند، اما پایتون به دلیل سادگی، خوانایی بالا و وجود کتابخانه های قدرتمند، یکی از بهترین گزینه ها برای شروع، به خصوص برای مبتدیان است.
برای تعامل با API تلگرام در پایتون، نیازی نیست که مستقیماً درخواستهای HTTP پیچیده بفرستید. کتابخانههای پایتون این کار را برای شما ساده می کنند. محبوب ترین کتابخانه برای ساخت ربات تلگرام با پایتون عبارت است از:
python-telegram-bot
: این کتابخانه یکی از کامل ترین و پرطرفدارترین کتابخانه ها است که امکانات گسترده ای برای کار با API تلگرام فراهم می کند و کار با آن نسبتاً آسان است.در ادامه این آموزش ساخت ربات تلگرام، از کتابخانه python-telegram-bot
استفاده خواهیم کرد.
اکنون که زبان و کتابخانه مورد نظر را انتخاب کردیم، وقت آن است که اولین خطوط کد را بنویسیم و ربات را به زندگی نزدیک تر کنیم!
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
برای آن دستور و تابع مربوطه ایجاد کنید.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 نیز این دستورات را برای کاربران نمایش دهید.
رباتهای ساده که فقط به پیامها پاسخ میدهند، کاربرد محدودی دارند. بیایید برخی از امکانات پیشرفتهتر را که میتوانید به ربات خود اضافه کنید، بررسی کنیم.
دکمههای شیشهای دکمههایی هستند که مستقیماً زیر پیام ربات ظاهر میشوند و با آنها میتوان تعامل کرد بدون اینکه پیام جدیدی در چت ارسال شود. آنها برای ساخت منوهای تعاملی، نظرسنجیها و بازیها بسیار مفید هستند.
این دکمهها حاوی callback_data
هستند که وقتی کاربر روی دکمه کلیک میکند، به ربات شما ارسال میشود و شما بر اساس آن داده، پاسخ مناسب را میدهید.
برای کار با دکمههای شیشهای به InlineKeyboardMarkup
و InlineKeyboardButton
نیاز دارید و باید یک CallbackQueryHandler
برای پردازش کلیک روی دکمهها اضافه کنید.
این دکمهها کیبورد پیشفرض تلگرام را با مجموعهای از دکمههای پیشنهادی جایگزین میکنند. وقتی کاربر روی یکی از آنها کلیک میکند، متن دکمه به عنوان یک پیام عادی برای ربات ارسال میشود. این برای ارائه گزینههای ثابت به کاربر (مانند “ارسال شماره تلفن”، “ارسال موقعیت مکانی” یا یک منوی اصلی ساده) مناسب است.
برای استفاده از این دکمهها از ReplyKeyboardMarkup
و KeyboardButton
استفاده میکنید و پیامهای دریافتی از این دکمهها توسط MessageHandler
(مانند همان MessageHandler که برای پیامهای متنی استفاده کردیم، با فیلتر مناسب) مدیریت میشوند.
رباتهای تلگرام میتوانند انواع مختلفی از رسانهها را ارسال و دریافت کنند. متدهای مختلفی در python-telegram-bot
برای این کار وجود دارد، مانند send_photo
, send_video
, send_document
, send_audio
و… . شما میتوانید فایلها را از یک URL یا از روی دیسک کامپیوترتان ارسال کنید.
اگر نیاز دارید اطلاعات خاصی از کاربر دریافت کنید (مثلاً نام، شماره تلفن، ایمیل)، میتوانید یک “حالت” (state) برای کاربر ایجاد کنید و منتظر ورودی بعدی او باشید. کتابخانههایی مانند python-telegram-bot
ابزارهایی برای مدیریت مکالمات (conversations) پیچیدهتر دارند که به شما امکان میدهند مراحل مختلف دریافت اطلاعات از کاربر را مدیریت کنید. ConversationHandler
در این کتابخانه برای این منظور طراحی شده است.
در مثالهای قبلی، ما از روش Polling برای دریافت بهروزرسانیها از سرور تلگرام استفاده کردیم. در این روش، ربات شما به صورت دورهای (مثلاً هر چند ثانیه یکبار) از سرور تلگرام میپرسد که آیا پیام جدیدی برایش آمده است یا خیر. این روش برای رباتهای کوچک یا در حال توسعه که روی کامپیوتر شخصی اجرا میشوند مناسب است.
اما برای رباتهای بزرگتر و در حال اجرا روی سرور، روش Webhook کارآمدتر است. در این روش، شما یک آدرس اینترنتی (URL) در سرور خود دارید و به تلگرام میگویید هر زمان که بهروزرسانی جدیدی برای ربات شما آمد، آن را به این آدرس ارسال کند. به این ترتیب، نیازی به پرسوجوهای مکرر نیست و بهروزرسانیها به صورت آنی دریافت میشوند. برای استفاده از Webhook، ربات شما باید روی یک سرور با آدرس IP عمومی قابل دسترسی باشد و گواهی SSL داشته باشد.
انتخاب بین Polling و Webhook به نیاز و محیط اجرای ربات شما بستگی دارد. برای شروع و آزمایش، Polling کافی است. برای اجرای ربات در محیط عملیاتی، Webhook معمولاً توصیه میشود.
رباتی که روی کامپیوتر شما اجرا میشود، فقط زمانی کار میکند که کامپیوتر شما روشن و برنامه ربات در حال اجرا باشد. برای اینکه ربات شما به صورت ۲۴/۷ در دسترس باشد، نیاز دارید آن را روی یک سرور راهاندازی (Deploy) کنید.
چندین گزینه برای دیپلوی ربات تلگرام وجود دارد:
برای رباتهایی که از Polling استفاده میکنند، نیاز به اجرای دائمی اسکریپت روی سرور دارید. برای رباتهایی که از Webhook استفاده میکنند، باید یک وب سرور کوچک (مثل Flask یا FastAPI در پایتون) تنظیم کنید که درخواستهای ورودی از تلگرام را دریافت کرده و به کتابخانه تلگرام شما بفرستد.
انتخاب روش دیپلوی به پیچیدگی ربات، بودجه و سطح دانش فنی شما بستگی دارد. برای رباتهای ساده، پلتفرمهایی مانند PythonAnywhere میتوانند نقطه شروع خوبی باشند.
python-telegram-bot
و سایر وابستگیها را به روز نگه دارید تا از آخرین امکانات و بهبودها بهرهمند شوید.ساخت یک ربات ساده تنها آغاز راه است. دنیای ساخت ربات تلگرام پر از امکانات و چالشهای جذاب است. برای پیشرفت بیشتر میتوانید روی موارد زیر تمرکز کنید:
به منظور مشاورهی رایگان و سفارش سریع ربات خود میتوانید از ساعت ۹ صبح الی ۲۲ از طریق راه های ارتباطی زیر با ما در ارتباط باشید.
اگه هر نوع خدماتی الان داری ارائه میکنی تو هر حوزه ای و به هر طریقی، میتونی به راحتی خدماتت رو به صورت اتوماتیک و از طریق ربات تلگرام به مشتریا ارائه بدی تا کاربرا به راحتی با خدماتت آشنا بشن و با شرکت و تیمت در ارتباط باشن
اگه در فضای مجازی محصولاتو میفروشی و یا قصد فروش در این فضا را داری، یه فروشگاه عالی، با درگاه پرداخت قوی و کاملا اتوماتیک ایجاد کن تا کاربرا بدون حضورت سفارشاشونو ثبت کنن و پرداختشونو انجام بدن
در صورتیکه قصد ایجاد و ارائه هر نوع سرویسی را در ربات تلگرام داری، کافیه با مشاوران ما در میان بذاری تا بهترین و مناسب ترین نرم افزارها به صورت اختصاصی برای شما طراحی بشه
ابتدا برای امکان سنجی و همینطور دریافت مشاورهی رایگان برای امکانات مورد نیاز خود میبایست سفارش خود را ثبت نمایید
پس از ثبت سفارش و یا تماس با ما، کارشناسان طرح مورد نظر شما را امکان سنجی کرده و زمان و هزینهی پروژه را به سرعت اعلام خواهند کرد
پس از تایید، طراحی و برنامه نویسی سرویس مورد نظر شما آغاز خواهد شد، و نرم افزار توسط مجرب ترین برنامه نویسان و با استفاده از جدید ترین متدها طراحی خواهد شد.
پس از اتمام طراحی، ربات تلگرام از همه نظر بررسی خواهد شد و پس از رضایت مشتری، نرم افزار بر روی هاست و اکانت مشتری نصب و فعال خواهد شد
چرا برای ساخت ربات تلگرام اختصاصی از تیم ای اچ پی بات می بایست کمک بگیریم؟ برای پاسخ به این سوال مهم در ادامه با ما همراه باشید.
یکی از بزرگ ترین دغدغههای مشتریان، پشتیبانی و ارائه ی خدمات پس از طراحی ربات تلگرام میباشد، اما ما ( ahpbot) ، پس از طراحی ربات همراه مشتریان خواهیم بود.
تیم ahpbot بیش از ۷ سال میباشد که به صورت مستقیم، خدمات شبکههای اجتماعی و مسنجرها را به هموطنان عزیز ارائه میدهد.
خدمات ارائه شده توسط تیم ahpbot در مقایسه با کیفیت بسیار بالا و پشتیبانی قوی، برای مشتریان کاملا مقرون به صرفه میباشد.
یکی از موارد بسیار مهمی که برخی مشتریان به آن توجه نمیکنند، سورس کد نرم افزار میباشد، کلیهی رباتهایی که توسط تیم ahpbot طراحی میشوند با سورس کد کامل بر روی هاست یا سرور مشتری نصب خواهند شد (و کاملا آموزش خرید هاست یا سرور به مشتری داده میشود) بنابراین مشتری خود مالک ربات تلگرام بوده و توسط هر برنامه نویس دیگری سورس قابل تغییر و ارتقا خواهد بود.
تیم ahpbot متشکل از برنامه نویسان مجرب میباشد ولی ما همه ی خدمات وب را ارائه نمیدهیم بلکه فقط و فقط خدمات ربات های سوشیال مدیا و مسنجرها را به صورت کاملا تخصصی و با به روز ترین متدها و با کیفیت بسیار مطلوب به مشتریان ارائه میدهیم!
به منظور مشاورهی رایگان و سفارش سریع ربات خود میتوانید از ساعت ۹ صبح الی ۲۲ از طریق راه های ارتباطی زیر با ما در ارتباط باشید.
بات های رسمی تلگرام که با یوزرنیم آنها به عبارت bot ختم می شود، ربات هایی هستند که به صورت رسمی توسط خود تلگرام پشتیبانی می شوند.
ما در ahpbot با توسعه و بسط همین ربات های تلگرام اولیه، تمامی امکانات مورد نیاز شما برای داشتن یک ربات حرفه ای را فراهم خواهیم کرد.
به صورت عمومی تنها یک نمونه ربات به صورت رسمی در تلگرام وجود دارد که به پسوند bot ختم میشوند، ولی ربات های پر قدرت دیگری وجود دارند که از سری دیگری از api های تلگرام استفاده میکنند و به زبان ساده به جای ربات به اکانت های معمولی تلگرام متصل شده و می توانند خدمات فوق العاده ای در اختیار کاربران بگذارند.
روش کلی ساخت این نوع از ربات های تلگرام به این صورت است که، با یک وب سرویس به سرور های دیگر متصل شده و دستورات نوشته شده در آن سرور را اجرا میکنند.
به طور مثال این ربات ها می توانند کلیه ی مواردی که به صورت شخصی بر روی اکانت تلگرامی خود انجام میدهید را با هوش مصنوعی به صورت اتوماتیک انجام دهند، به طور مثال قیمت ها را به صورت لحظه ای از پیام های گروه های خاص استخراج کرده و بر روی وب سایت شما ارسال کنند و بسیاری خدمات دیگر!
به صورت کلی تعدادی ربات های از پیش تعریف شده در بستر وب و یا محصولات و ربات هایی که توسط ahpbot طراحی شده اند وجود دارند، تفاوت این ربات های با ساخت ربات تلگرام پیشرفته و اختصاصی بدین شکل می باشد که در طراحی ربات های تلگرام اختصاصی دقیقا همان چیزی که شما نیاز دارید با همان متن با ریز ترین جزییات مورد نظر شما به همراه پنل مدیریت دقیقا مورد نیاز شما طراحی می شود و ربات دقیقا طبق نیاز شما طراحی می شوند.
در پاره ای از موارد، می توانید برای رفع نیاز خود در صورتیکه ربات های آماده ای از قبل طراحی شده از همان موارد استفاده کنید اما در بیش تر موارد دقیقا ربات مورد نیاز شما از پیش طراحی نشده و شما برای داشتن یک ربات بی نقص و عالی می توانید سفارش ربات تلگرام اختصاصی خود را ثبت نمایید تا برنامه نویسان مجرب تیم ahpbot پس از بررسی کامل خدمات مورد نیاز شما، سفارش شما را به ثبت رسانده و ربات مورد نظر شما را طراحی کنند.
در این آموزش صفر تا 100 ساخت ربات تلگرام، ما با مفاهیم پایه، نحوه ایجاد ربات با BotFather، انتخاب ابزار مناسب (پایتون و کتابخانه python-telegram-bot
) و نوشتن اولین کدهای ربات برای پاسخ به دستورات و پیامهای متنی آشنا شدیم. همچنین نگاهی به امکانات پیشرفتهتر و روشهای راهاندازی ربات در سرور انداختیم.
ساخت ربات تلگرام یک فرآیند جذاب و خلاقانه است که به شما اجازه می دهد ایده های خود را عملی کنید و با میلیون ها کاربر تلگرام در ارتباط باشید. این راهنما نقطه شروع شماست. با تمرین، مطالعه مستندات کتابخانه python-telegram-bot
و آزمایش ایده های جدید، می توانید ربات های قدرتمند و مفیدی بسازید.
هزینه ی ساخت و طراحی ربات تلگرام اختصاصی دقیقا به نوع پروژه و نیاز شما بستگی دارد و قیمت ثابت برای پروژهها وجود نخواهد داشت، پیش از سفارش میتوانید با تماس با کارشناسان ما ضمن استفاده از مشاورهی رایگان، هزینهی ربات تلگرام مورد نظر خود را برآورد کنید
به صورت کلی زمان مورد نیاز برای اچرای سفارشات ساخت ربات تلگرام اختصاصی ، پس از مشخص شدن نوع پروژه مشخص میشود ولی به صورت میانگین طراحی و ساخت و برنامه نویسی ما بین یک الی چهار روز کاری زمان نیاز خواهد داشت
پس از طراحی ربات های تلگرام ، برنامه نویسان مجموعه ی ahpbot ، آموزش کامل خرید هاست مناسب را به مشتری میدهند (هاست یک فضای اینترنتی ارزان قیمت میباشد) ، پس از خرید هاست کلیه ی نرم افزار ربات تلگرام به همراه کلیه ی ملزومات و اطلاعات بر روی هاست مشتری نصب میشود و پس از نصب مشتری میتواند با تعویض پسورد پنل و هاست ،دسترسی همگان من جمله کلیه ی برنامه نویسان تیم ahpbot را قطع کنند و محرمانگی اطلاعات خویش را تضمین کنند.
در پاسخ به این سوال که ساخت ربات تلگرام برای گروه هم انجام میشود یا خیر. باید بگوییم که بله، ما در مجموعه ahpbot هر گونه رباتی را برای مدیریت گروه های تلگرامی پیاده سازی خواهیم کرد.
به منظور مشاورهی رایگان و سفارش سریع ربات خود میتوانید از ساعت ۹ صبح الی ۲۲ از طریق راه های ارتباطی زیر با ما در ارتباط باشید.
2 پاسخ
مرسی از آموزش خوبتون من اولین ربات تلگرامی خودم و به کمک اموزش شما ساختم
عالی