فارسی
باز کردن در Telegram
PPython + Linux Experts
Python + Linux Experts
@PythonLinuxExperts · گروه · فناوری · ایندکس از 2026/05/25 23 سپتامبر 2024
4 287عضو
19نویسنده در 30 روز
43پیام در 30 روز
592 074پیام در ایندکس

پیام‌های روز 23 سپتامبر 2024

2024-09-23×
23 سپتامبر 2024
M
🎉 خبر خوب برای دوستداران فیلم و سریال 🎬 @shodambot ✨ زیرنویس فارسی به ربات ما اضافه شد! از این به بعد می‌تونید فیلم‌ها و سریال‌های مورد علاقتون رو با زیرنویس فارسی دانلود و تماشا کنید. 📥 برای دریافت زیرنویس‌ها، کافیه اسم فیلم یا سریال رو جستجو کنید و لینک زیرنویس رو همراه با لینک‌های دانلود ببینید! از تماشای فیلم‌ها با زیرنویس لذت ببرید! 🎥🍿
👽
سلام دوستان من میخوام یه ماشین حساب ساده برای تلگرام بنویسم برای تمرین و اینجا به مشکل خوردم که میخوام دو تا ورود ی که از کاربر میگیرمو با هم جمع کنم به حاصل رو بدم به خروجی حالا ورودی اول رو میگیرم ولی ورودی دوم رو نمیدونم چجوری بگیرم و ذخیره کنم تا بتونم با هم جمع بزنم اگه کسی بلده لطفا کمک کنید
  1. H
    برای ساخت یک ماشین حساب ساده در تلگرام که دو عدد را از کاربر دریافت کرده و جمع آن‌ها را محاسبه کند، باید وضعیت مکالمه با کاربر را مدیریت کنید تا بدانید در هر لحظه چه مرحله‌ای از تعامل هستید. برای این کار می‌توانید از ConversationHandler در کتابخانه python-telegram-bot استفاده کنید. مراحل کلی کار: 1. دریافت عدد اول از کاربر. 2. دریافت عدد دوم از کاربر. 3. محاسبه جمع و ارسال نتیجه به کاربر. در ادامه، کد نمونه‌ای ارائه می‌شود که این کار را انجام می‌دهد. --- ### **کد نمونه با استفاده از python-telegram-bot نسخه 13.x** ابتدا اطمینان حاصل کنید که نسخه 13.x از کتابخانه را نصب کرده‌اید: pip install python-telegram-bot==13.15 **کد:** from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, ConversationHandler # تعریف مراحل مکالمه FIRST_NUMBER, SECOND_NUMBER = range(2) def start(update, context): update.message.reply_text('سلام! لطفاً عدد اول را وارد کنید:') return FIRST_NUMBER def first_number(update, context): # ذخیره عدد اول context.user_data['first_number'] = update.message.text update.message.reply_text('حالا عدد دوم را وارد کنید:') return SECOND_NUMBER def second_number(update, context): first_number = context.user_data['first_number'] second_number = update.message.text try: # تبدیل ورودی‌ها به عدد num1 = float(first_number) num2 = float(second_number) result = num1 + num2 update.message.reply_text(f'نتیجه: {num1} + {num2} = {result}') except ValueError: update.message.reply_text('لطفاً اعداد معتبر وارد کنید.') return ConversationHandler.END def cancel(update, context): update.message.reply_text('عملیات لغو شد.') return ConversationHandler.END def main(): # جایگزین 'YOUR_TOKEN' با توکن ربات خود updater = Updater('YOUR_TOKEN', use_context=True) dp = updater.dispatcher # تعریف ConversationHandler conv_handler = ConversationHandler( entry_points=[CommandHandler('start', start)], states={ FIRS… خواندن کامل ←
  2. H
    async def start(update: Update, context: ContextTypes.DEFAULT_TYPE): await update.message.reply_text('سلام! لطفاً عدد اول را وارد کنید:') return FIRST_NUMBER async def first_number(update: Update, context: ContextTypes.DEFAULT_TYPE): context.user_data['first_number'] = update.message.text await update.message.reply_text('حالا عدد دوم را وارد کنید:') return SECOND_NUMBER async def second_number(update: Update, context: ContextTypes.DEFAULT_TYPE): first_number = context.user_data['first_number'] second_number = update.message.text try: num1 = float(first_number) num2 = float(second_number) result = num1 + num2 await update.message.reply_text(f'نتیجه: {num1} + {num2} = {result}') except ValueError: await update.message.reply_text('لطفاً اعداد معتبر وارد کنید.') return ConversationHandler.END async def cancel(update: Update, context: ContextTypes.DEFAULT_TYPE): await update.message.reply_text('عملیات لغو شد.') return ConversationHandler.END def main(): application = ApplicationBuilder().token('YOUR_TOKEN').build() conv_handler = ConversationHandler( entry_points=[CommandHandler('start', start)], states={ FIRST_NUMBER: [MessageHandler(filters.TEXT & ~filters.COMMAND, first_number)], SECOND_NUMBER: [MessageHandler(filters.TEXT & ~filters.COMMAND, second_number)], }, fallbacks=[CommandHandler('cancel', cancel)], ) application.add_handler(conv_handler) application.run_polling() if name == 'main': main() ` تفاوت‌های اصلی: - استفاده از `async` و `await` در توابع. - استفاده از `ApplicationBuilder` به جای `Updater`. - تغییر در واردات و فیلترها. --- جمع‌بندی: - از ConversationHandler برای مدیریت مکالمات چند مرحله‌ای استفاده کنید. - با استفاده از context.user_data اطلاعات موقت کاربر را بین مراحل ذخیره کنید. - حتماً ورودی‌های کاربر را اعتبارسنجی کنید تا از بروز خطا جلوگیری شود. - در صورت نیاز، می‌توا… خواندن کامل ←
کل رشتهٔ گفتگو · 2 پاسخ →
تقویم: سپتامبر 2024
بایگانی به تفکیک ماه
اکتبر 2026سپتامبر 2026اوت 2026ژوئیه 2026ژوئن 2026مه 2026آوریل 2026مارس 2026فوریه 2026ژانویه 2026دسامبر 2025نوامبر 2025اکتبر 2025سپتامبر 2025اوت 2025ژوئیه 2025ژوئن 2025مه 2025آوریل 2025مارس 2025فوریه 2025ژانویه 2025دسامبر 2024نوامبر 2024اکتبر 2024سپتامبر 2024اوت 2024ژوئیه 2024ژوئن 2024مه 2024آوریل 2024مارس 2024فوریه 2024ژانویه 2024دسامبر 2023نوامبر 2023اکتبر 2023سپتامبر 2023اوت 2023ژوئیه 2023ژوئن 2023مه 2023آوریل 2023مارس 2023فوریه 2023ژانویه 2023دسامبر 2022نوامبر 2022اکتبر 2022سپتامبر 2022اوت 2022ژوئیه 2022ژوئن 2022مه 2022آوریل 2022مارس 2022فوریه 2022ژانویه 2022دسامبر 2021نوامبر 2021اکتبر 2021سپتامبر 2021اوت 2021ژوئیه 2021ژوئن 2021مه 2021آوریل 2021مارس 2021فوریه 2021ژانویه 2021دسامبر 2020نوامبر 2020اکتبر 2020سپتامبر 2020اوت 2020ژوئیه 2020ژوئن 2020مه 2020آوریل 2020مارس 2020فوریه 2020ژانویه 2020دسامبر 2019نوامبر 2019اکتبر 2019سپتامبر 2019اوت 2019ژوئیه 2019ژوئن 2019مه 2019آوریل 2019مارس 2019فوریه 2019ژانویه 2019دسامبر 2018نوامبر 2018اکتبر 2018سپتامبر 2018اوت 2018ژوئیه 2018ژوئن 2018مه 2018آوریل 2018مارس 2018فوریه 2018ژانویه 2018دسامبر 2017نوامبر 2017اکتبر 2017سپتامبر 2017اوت 2017ژوئیه 2017ژوئن 2017مه 2017آوریل 2017

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

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