فصل ۷: دریافت و ارسال پیام، عکس و فایل با ربات تلگرام در پایتون

مقدمه
ارتباط ربات با کاربران فقط محدود به متن ساده نیست؛ شما میتوانید با استفاده از ربات خود، پیامهای متنی متنوع، تصویر، فایل، استیکر و صدا ارسال کنید یا همین دادهها را از کاربر دریافت و در سیستم ذخیره نمایید.
در این فصل یاد میگیرید چطور رباتتان را به یک ابزار پیامرسان و چندرسانهای کامل تبدیل کنید.
۱. ارسال پیام متنی
ارسال پیام ساده متنی، پایهایترین قابلیت هر ربات است. کافیست از متد reply_text() استفاده کنید.
def send_text(update, context):
update.message.reply_text('سلام! این یک پیام متنی از سمت ربات است.')
dp.add_handler(CommandHandler('text', send_text))
۲. ارسال استیکر و ایموجی
برای ارسال ایموجی کافیست یک ایموجی در پیام قرار دهید:
def send_emoji(update, context):
update.message.reply_text('😊 ربات با ایموجی!')
dp.add_handler(CommandHandler('emoji', send_emoji))
برای ارسال استیکر، باید فایل id استیکر را داشته باشید:
def send_sticker(update, context):
sticker_id = 'CAACAgIAAxkBAAEGgM5jpv4F0aVAANg7s...' # Sticker file_id
update.message.reply_sticker(sticker=sticker_id)
dp.add_handler(CommandHandler('sticker', send_sticker))
۳. ارسال تصویر و فایل
ارسال عکس:
- اگر عکس روی سیستم شماست، میتوانید آن را از طریق ربات ارسال کنید:
def send_photo(update, context):
photo_path = 'image.jpg'
update.message.reply_photo(photo=open(photo_path, 'rb'), caption='این هم یک عکس!')
dp.add_handler(CommandHandler('photo', send_photo))
(فایل image.jpg باید کنار فایل کد باشد)
ارسال فایل و داکیومنت:
def send_document(update, context):
doc_path = 'file.pdf'
update.message.reply_document(document=open(doc_path, 'rb'), caption='این سند رو ببین!')
dp.add_handler(CommandHandler('doc', send_document))
۴. دریافت پیام و فایل از کاربر
برای گرفتن پیام کاربر و ذخیره آن (مثلاً عکس یا فایل):
def receive_photo(update, context):
file = update.message.photo[-1].get_file()
file.download('user_photo.jpg')
update.message.reply_text('عکس شما دریافت و ذخیره شد.')
dp.add_handler(MessageHandler(Filters.photo, receive_photo))
همین منطق را برای فایلها میتوان پیاده کرد:
def receive_document(update, context):
document = update.message.document.get_file()
document.download('user_file.pdf')
update.message.reply_text('فایل شما ذخیره شد!')
dp.add_handler(MessageHandler(Filters.document, receive_document))
۵. مدیریت و تست
- هرکدام از دستورات بالا را میتوانید در ربات خود تست کنید.
- مراقب حجم فایلها باشید (تلگرام محدودیت دارد).
- اگر سرور یا سیستم شما کوچک است، بهتر است فایلها را بعد از مدتی حذف کنید یا در فضای ابری بارگذاری کنید.
نکته هوش مصنوعی (AI Tip)
اگر برنامه را گسترش دادید، میتوانید با کمک AI تشخیص دهید فایل ارسالشده از چه نوعی است، متن عکس را بخوانید، یا حتی محتوای فایلها را تحلیل کنید! برای شروع این نوع پروژهها میتوانید از ChatGPT درخواست ایده یا حتی کد اولیه کنید.
جمعبندی
در این فصل یاد گرفتید چگونه با ربات تلگرام پیام، عکس، فایل و استیکر ارسال و دریافت کنید. این مهارتها، ربات شما را به یک ابزار قدرتمند و چندکاره تبدیل میکند.