فارسی
باز کردن در Telegram

پست ‏🤖 ساخت ربات آزمون چهارگزینه‌ای در تلگرام با Python

4 مه 2026
|
| کانال ربات تلگرام |
‏🤖 ساخت ربات آزمون چهارگزینه‌ای در تلگرام با Python تو خیلی از کانال‌ها و گروه‌ها، ربات‌هایی می‌بینی که آزمون چهارگزینه‌ای (Quiz) برگزار می‌کنن، امتیاز می‌دن و حتی جواب درست رو هم نشون می‌دن. امروز با هم یک نسخه ساده و عملی از همین ایده رو با Python و کتابخونهٔ pyTelegramBotAPI می‌سازیم 😎 ایده اینه: • کاربر /quiz رو می‌فرسته. • ربات یک سوال چهارگزینه‌ای با دکمه‌های Inline می‌فرسته. • با کلیک روی گزینه، ربات می‌گه درست بود یا غلط. این مدل ربات برای کوییزهای آموزشی، آزمون زبان، تمرین الگوریتم و حتی سرگرمی توی گروه‌ها عالیه. این کد رو براساس داکیومنت رسمی Bot API و کتابخونهٔ pyTelegramBotAPI نوشتیم و روی BotFather معمولی کاملاً جواب می‌ده ✅ اول با pip نصب کن: pip install pyTelegramBotAPI سپس یک فایل مثل quiz_bot.py بساز و این کد رو داخلش بذار (توکن رو از BotFather بردار و جایگزین کن): import telebot from telebot import types API_TOKEN = "YOUR_BOT_TOKEN_HERE" bot = telebot.TeleBot(API_TOKEN) # یک سوال نمونه QUESTION = "کدام زبان برای توسعه ربات تلگرام در این مثال استفاده شده است؟" OPTIONS = ["Java", "Python", "PHP", "Go"] CORRECT_INDEX = 1 # Python @bot.message_handler(commands=["start"]) def send_welcome(message): bot.reply_to(message, "سلام! برای شروع آزمون دستور /quiz رو بفرست ✅") @bot.message_handler(commands=["quiz"]) def send_quiz(message): keyboard = types.InlineKeyboardMarkup() for i, option in enumerate(OPTIONS): btn = types.InlineKeyboardButton( text=option, callback_data=f"quiz_{i}" ) keyboard.add(btn) bot.send_message( message.chat.id, QUESTION, reply_markup=keyboard ) @bot.callback_query_handler(func=lambda call: call.data.startswith("quiz_")) def handle_quiz_answer(call): index = int(call.data.split("_")[1]) if index == CORRECT_INDEX: text = "آفرین 🎉 جواب درست بود (Python)." else: correct_option = OPTIONS[CORRECT_INDEX] text = f"❌ نه! جواب درست: {correct_option}" # پاسخ به همون پیام bot.answer_callback_query(call.id, text, show_alert=True) if __name__ == "__main__": print("Quiz bot is running...") bot.infinity_polling() چند نکتهٔ ریز ولی مهم 👇 • حتماً توکن واقعی ربات رو جایگزین YOUR_BOT_TOKEN_HERE کن. • اگر روی سرور با محدودیت Network هستی، ممکنه نیاز بشه بجای infinity_polling() از webhook استفاده کنی (طبق داک رسمی: setWebhook). • می‌تونی لیست OPTIONS و متن QUESTION رو از یک فایل JSON یا دیتابیس بخونی تا رباتت چندین سوال پشت‌سرهم بپرسه. امتحانش کن، روی چندتا دوستت تست بگیر و بعد کم‌کم امکاناتی مثل نمره‌دهی، رتبه‌بندی و زمان‌بندی آزمون رو بهش اضافه کن 🚀 🔖 #TelegramBot #ربات #تلگرام #Telegram_Bot #Python #pyTelegramBotAPI #Quiz_Bot #InlineKeyboard 👤 Developix 💎 Channel: @DevelopixRobot
2 · 716 ·

در همان حوالی فید

|| کانال ربات تلگرام |به دلیل قطع اینترنت توی این مدت، توسعه ورژن 4 فریم‌ورک LaraGram عقب افتاد. در حالت عادی قرار بود برای خرداد ریلیز بشه، و همونطور که قبلا گفته بودم این ورژن شامل|| کانال ربات تلگرام |‏Circuit Breaker در ربات‌های تلگرام ⚡️🛡 خیلی وقت‌ها ربات تلگرام ما به یک سرویس خارجی (مثلاً پرداخت، هوش مصنوعی، یا API داخلی شرکت) وابسته است. وقتی آن سرویس کند
این پیام
|| کانال ربات تلگرام |‏Idempotency در Webhook ربات تلگرام چیه؟ 🔁 یکی از مشکل‌های رایج تو ربات‌های تلگرام اینه که یه آپدیت چند بار پردازش می‌شه؛ مخصوصاً وقتی: • سرور delay داره ⏳ • ng|| کانال ربات تلگرام |🎯 ریپلای تمیز توی ربات: همیشه از reply_to_message_id استفاده کن وقتی ربات توی گروه‌ها شلوغ می‌شود، مهم است جواب هر کاربر دقیقاً زیر پیام خودش بیاید؛ مخصوصاً وقت

فید عمومی باز از ایندکس جست‌وجو ChatCrawler — «Google برای Telegram عمومی»؛ با خزش انجمن به‌روز می‌شود. زمان‌ها به UTC است.

فقط محتوای عمومی، API رسمی Telegram. دربارهٔ ما · پرسش‌ها · محدودیت‌های ایندکس · حذف یک صفحه · کاتالوگ · جست‌وجو · روش محاسبهٔ ما