مدت :

۴ ساعت و ۱۵ دقیقه

قیمت : ۲۴۴,۰۰۰ تومان
به روزرسانی : پاییز 1402
LinkedIn
Twitter
Facebook
Telegram

درباره مدرس 

اطلاعات دوره

توضیحات

امروزه ربات‌های تلگرام کمک زیادی در مدیریت وبسایت‌ها یا کانال‌های تلگرامی یا انجام روند مورد نظر در قالب پلتفرم تلگرام کرده‌اند. این ربات‌ها و عملکرد عالی آنها ویژگی است که تلگرام را منحصر به فرد کرده و باعث محبوبیت بیشتر این شبکه‌ی اجتماعی شده است. از طرفی زبان برنامه نویسی پایتون‌، زبان بسیار خوانا با سورس کدهای سبک و صد البته قدرتمند، برای نوشتن این ربات‌ها بسیار مناسب هستند و با کمک آنها می‌توان ربات‌های تلگرامی با ویژگی‌های مختلف نوشت و آنها را اجرا کرد. ربات‌های تلگرام به طور کلی به دو دسته شحه API  و CLI تقسیم می‌شوند که در این دوره هدف ساخت ربات تلگرامی API  است. آموزش ساخت ربات تلگرام با پایتون شامل 14 درس همراه سورس کدها است. تمامی درس‌های این آموزش بروز شده‌اند، اما فایل درس‌های نسخه قدیمی نیز در این آموزش موجود می باشد.

 

چرا ربات تلگرام؟

تلگرام و اینستاگرام دو شبکه اجتماعی پرکاربرد در ایران هستند. چندی پیش آموزش ساخت ربات اینستاگرام با پایتون (+) در هم‌رویش منتشر شد. حالا نوبت تلگرام است.

ربات‌های تلگرام کمک زیادی در مدیریت کانال‌های تلگرامی و حتی وب‌سایت‌ها می‌کنند. با این ربات‌ها می‌توان روندهای مورد نظر را در قالب پلتفرم تلگرام خودکارسازی کرد. وجود این ربات ها و عملکرد خوب آنها تلگرام را برای کسب و کارها منحصر به فرد و محبوب کرده است.

 

چرا ربات تلگرام با پایتون؟

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

 

این دوره در یک نگاه

در این دوره‌ی آموزشی سعی شده با پایتون و با استفاده از کتابخانه Python-Telegram-Bot  شروع به کد نویسی ربات تلگرامی خود کنیم و در ادامه پروژه‌های کاربردی مثل ربات ضد لینک (Antilink) و ربات پیامرسان (ChatBot) را نوشتیم.

در این دوره شما یاد می‌گیرید که یک ربات تلگرامی API کامل را نوشته، اجرا کنید و آنرا در اختیار عموم قرار دهید.

 

این آموزش بی‌نظیر است زیرا
  • اولین آموزش فارسی است که ساخت ربات پیامرسان را با استفاده از پایتون تدریس می‌کند.

 

آموزه‌های اصلی این آموزش
  • آشنایی با کتابخانه Python-Telegram-Bot
  • آشنایی با دستورات BotFather
  • تعریف مدیر یا Admin برای یک ربات
  • کدنویسی یک ربات ضد لینک از صفر
  • ساخت دکمه معمولی و شیشه‌ای
  • کار با callback-data و رویداد
  • نحوه بلاک کردن کاربر مزاحم
  • کدنویسی یک ربات پیام رسان از صفر
  • ارسال ربات تلگرام به سرور آنلاین

 

پیش‌نیاز

برای آموزش ساخت ربات تلگرام با پایتون باید با زبان پایتون آشنایی داشته باشید. اگر با پایتون آشنایی ندارید می‌توانید آموزش زیر را تهیه کنید. درس‌های این دوره بر اساس یک مرجع جهانی و بسیار کوتاه هستند. می‌توانید با فاصله زمان یک هفته این آموزش و سپس همزمان با پیشروی روزانه آن آموزش کیوی را شروع کنید.

آموزش جامع برنامه نویسی پایتون (+)

و یا اگر خیلی عجله دارید در ماراتن 2 ساعتی و رایگان زیر خیلی سریع وارد دنیای پایتون شوید.

آموزش سریع پایتون در 2 ساعت – رایگان (+)

همچنین با توجه به استفاده از محیط توسعه VSCode در این دوزه می‌توانید این آموزش VSCode را برای مدیریت بهتر کدهای خود ببینید.

 

کلیدواژه‌ها

آموزش ساخت ربات تلگرام با پایتون – ربات تلگرام با API – فیلم آموزش فارسی ربات تلگرام – برنامه نویسی ربات تلگرام با پایتون – ساخت ربات ضد لینک تلگرام – ساخت ربات پیام رسان تلگرام – ساخت دکمه شیشه ای برای ربات تلگرام – اجرای ربات تلگرام روی سرور آنلاین

سرفصل مطالب

سرفصل مطالب

درس صفر: معرفی دوره
– نگاهی به دوره و اهداف آن
– آشنایی با انواع ربات ها در تلگرام

 

درس اول: اشنایی با کتابخانه python-telegram-bot
– معرفی کتابخانه python-telegram-bot
– مزایای کتابخانه PTB نسبت به سایر کتابخانه ها

– معرفی داکیومنت جامع ماژول PTB

– تفاوت اصلی نسخه 13 و 20

– آشنایی با برنامه نویسی asynchronous و تفاوت آن با synchronous

 

درس دوم: نصب پیش نیاز ها
– راهنمای نصب مفسر پایتون
– دانلود و نصب VS Code
-نصب کتابخانه PythonTelegramBot

 

درس سوم: اشنایی با دستورات BotFather
– کاربرد BotFather
– اشنایی با Command
-معرفی و کار با دستورات BotFather
– اشنایی با Token و ایجاد آن

 

درس چهارم: شروع کد نویسی ربات
– آشنایی با بدنه سورس کد
– نوشتن و راه اندازی کد ربات
– اشنایی با ایدی عددی (chat_id)
– تست ربات و رفع عیب سورس کد

 

درس پنجم : گرفتن اطلاعات کاربر توسط ربات
– گرفتن اطلاعات کاربر اعم از یوزرنیم، چت آیدی و…
– آشنایی با کاربرد های استفاده از اطلاعات کاربر
– نوشتن یک ربات مانند ربات userinfo

 

درس ششم : تعریف ادمین برای ربات
– تعریف ادمین برای ربات
– آشنایی بیشتر با کاربرد chat_id
– گسترش دسترسی ادمین

 

درس هفتم : آشنایی با کنترل پیام ها و فیلترها
– کار با message در ربات
– آشنایی با انواع Filters
– پاسخ ربات در قبال دریافت پیام یا عکس یا …

 

درس هشتم : شروع کدنویسی پروژه ربات ضد لینک
– پاک کردن پیام و کار با دستور delete_message
– آشنایی و استفاده از message_id
– کار با ParseMode و MessageEntity برای حذف لینک ها

 

درس نهم : دکمه‌ها
پاک کردن پیام و- کار با دستور delete_message
– آشنایی و استفاده از message_id
– کار با ParseMode و MessageEntity برای حذف لینک ها

 

درس دهم: دکمه ها – پارت 2 Inline keyboard buttons
-نحوه طراحی دکمه های شیشه ای
– کار با callback_data
– کدنویسی دکمه های شیشه ای

 

درس یازدهم : شروع کدنویسی ربات پیام رسان
-آشنایی با نحوه کار ربات های پیامرسان
– پیاده سازی طرفین کاربر و ادمین
– ازسال پیام توسط کاربر به ادمین
-آشنایی با ConversationHandler

 

درس دوازدهم : ادامه کدنویسی ربات پیام رسان
-پیاده سازی و تکمیل طرف ادمین
-امکان پاسخ به پیام کاربر
-درفع باگ های موجود

 

درس سیزدهم : ادامه و تکمیل پروژه ربات پیام رسان
– امکان بلاک و آنبلاک کردن کاربر توسط ادمین
-تنظیم url برای دکمه شیشه ای
-تکمیل نهایی پروژه

 

درس چهاردهم: اجرای ربات روی سرور رایگان
– کار با وبسایت pythonanywhere
-آشنایی ضمنی با مفهوم سرور
– اجرای ربات روی سرور

نظرات (75)

75 دیدگاه برای آموزش ساخت ربات تلگرام با پایتون — پروژه محور

  1. Amir

    سلام وقتتون بخیر خیلی ممنون از اموزش عالیتون
    ببخشید من میخواستم رباتی بنویسم که چندتا ایدی و یک لینک رو از یک کاربر بگیره و اون لینک رو به ایدی هایی که گرفته ارسال کنه میشه در این مورد راهنایی کنید
    با تشکر

  2. پیمان

    سلام با دیدن این دوره میتونم رباتی بنویسم که به api وب سرویس دسترسی داشته باشم و در اختیار عموم قرار بدم ؟

    • روابط عمومی هم رویش

      سلام.به صورت اختصاصی به این موضوع پرداخته نشده
      ولی بعد یادگیری مطالبی که گفته شد با یه سرچ کوچیک به جوابتون می رسید.

  3. مریم ابراهیمی (خریدار محصول)

    سلام وقتتون بخیر، ببخشید میخواستم بدونم با گذروندن این دوره میتونم یه ربات جستجوی فیلم imdb بنویسم؟ از API خود Imdb استفاده کنه و اطلاعات فیلم رو بده؟

  4. رضا (خریدار محصول)

    برای من ارور updater.__init() got an unexpected keyword argument use context میاره مشکل چیه

    • امیرحسین علیجانی

      سلام دوست عزیز وقتتون بخیر
      بررسی کردم ، آپدیت جدیدی که از ماژول ارائه شده ساختار یکم تغییر کرده ، تا رسیدگی به این موضوع و ارائه آپدیت برای دوره از ورژن 13.7 این ماژول استفاده کنید .
      pip install python-telegram-bot==13.7

  5. aliakbar13851385aa@gmail.com (خریدار محصول)

    سلام استاد خسته نباشید من همه کار رو کردم با فیلتر شکن هم اجرا میکنم connection error telegram میده باید چیکار کنم ؟

  6. Hosein (خریدار محصول)

    در درس انتی لینک درمورد شناسایی و حذف لینک های url اموزش دادید و خیلی مفید بود حالا اگه بخوایم گیف یا استیکر های رو حذف کنیم چه کاری باید انجام بدیم ؟ و یک منبعی مرتبط با درس معرفی کنید که بتونیم از امکانات بیشتر رباتمون استفاده کنیم مثلا متود ها یا تابع های مربوط به این درس
    با تشکر

  7. حسین (خریدار محصول)

    اقا امیر مشکل این کد چیه ؟ اجرا نمیشه بی زحمت خودت یه تست میکنی که ببینی مشکلش چیه ؟ چون هرچی گفتی رو منم انجام دادم بجز id,user,firstname ننوشتم مربوط به درس 5
    from telegram.ext import Updater, CommandHandler

    token = Updater(‘token’, use_context=True)

    def start1(update, context):
    context.bot.send_message(text=”Hello {} you’r welcome, how can help you?”.format(update.message.from_user.first_name), chat_id= update.message.chat_id)

    def website1(update, context):
    context.bot.send_message(chat_id= update.message.chat_id, text= ‘for translate: \n https://translate.google.com/‘)

    def help1(update, context):
    context.bot.send_message(chat_id= update.message.chat_id, text= ‘for translate click on website command’)

    token.dispatcher.add_handler(CommandHandler(‘start’,start1))
    token.dispatcher.add_handler(CommandHandler(‘website’, website1))
    token.dispatcher.add_handler(CommandHandler(‘help’, help1))

    token.start_polling()
    token.idle()

  8. حسین (خریدار محصول)

    زمانی که فایل رو اجرا میکنم بعد از چند ثانیه 20 یا 30 خط نوشته میاد و بلافاصله فایل بسته میشه که به خاطره سرعت بالا نمیتونم نوشته ها رو بخونم.
    ممکنه از ف*ی-لت=رشک*ن باشه ؟ همش قطع و وصل میشه
    ف*ی-لت=رشک*ن خوب سراغ دارید برای ویندوز 32 بیتی بهم معرفی کنید؟

    • امیرحسین علیجانی

      سلام وقتتون بخیر باشه
      بله دقیقا مشکل کانکشن هست
      اما با توجه به شرایط کنونی اینترنت اکثر vpn ها از کار افتادن …
      در شرایط عادی proton vpn گزینه خوبیه

  9. حسین (خریدار محصول)

    سلام
    چطوری از 2تا تلگرام استفاده میکنی ؟

    • امیرحسین علیجانی

      سلام وقت بخیر ، منظورتون رو واضح تر بیان میکنید ؟
      منظورتون اینه که چطور دو تا تلگرام داشته باشید روی دسکتاپ ؟ فکر میکنم مثل ویدیو برای مقایسه ربات میخواید
      اگر اینطوره ، به لوکیشنی که تلگرامتون اونجا هست برید و فقط فایل exe تلگرام و بدون tdata و پوشه های دیگه کپی کنید و در مسیر دیگه ای جای‌گذاری کنید
      در مسیر جدید این فایل رو باز کنید و مراحل لاگین اکانت دیگه رو انجام بدید

  10. alimofakherie.543@gmail.com (خریدار محصول)

    سلام
    حدودا 5 روز پیش دوره ی آموزشیتون رو تهیه کردم آموزش مفید و کاربردی بود و به نکات خوبی مثل پیام رسان داخلی برای ربات اشاره شده بود که واقعا نیاز اولیه هر رباتی هست قیمت آموزش هم واقعا مفت بود مشابه همین آموزش رو از سایت تاپلرن با قیمت بیش از دوبرابر قبلا تهیه کرده بودم که البته صادقانه بگم اونم حتی مفت بود ولی شما به موارد کاربردی تری اشاره کردید برای پاسخ گویی در بخش نظرات سایت هم خیلی ممنون اون سورس ادد اجباری هم برای ربات ها خیلی مهم هست که اپلود کردید فقط یه نکته ای رو اگر لطف کنید راهنمایی کنید خیلی ممنون میشم و اون قابلیت “ارسال/فورواد همگانی” ربات هاست.با تشکر از شما مدرس عزیز

    • امیرحسین علیجانی

      سلام به شما دوست عزیزم
      خیلی ممنونم از نظرات مثبت و انرژی خوبتون و خوشحالم که دوره تونسته بهتون کمکی بکنه🙂
      در رابطه با سوالتون ، برای اینکه ما به تمام کاربران ربات پیامی ارسال یا فوروارد کنیم ، باید تمام چت آیدی هابی که رباتمون رو استارت کردن داشته باشیم . پس لازمه یک دیتابیسی رو ایجاد کنیم و داخل تابع مربوط به استارت ربات ، چت آیدی ها رو داخلش ذخیره کنیم
      بعد برای ارسال پیام ها با حلقه اطلاعات دیتابیس رو استخراج و طبق روال همیشه با دستور context.bot.send_message یا برای فوروارد از context.bot.forward_message استفاده میکنیم و به جای chat_id مقداری که حلقه در اون در حال حرکت هست (همون چت آیدی های داخل دیتابیس) رو قرار میدم
      برای اینکه مشکلی پیش نیاد در صورتی که کاربر ربات رو متوقف کرده باشه ، دستور ارسال پیام رو داخل یک try except بنویسید.
      اگر هم خواستید ربات رو داخل سرور اجرا کنید ، باید کنار فایل پایتونی که در سرور آپلود میشه فایل دیتا بیس هم موجود باشه
      موفق باشید 🌹

  11. حسن (خریدار محصول)

    این ادرسی که ما میدیم مختص سیستم خودمون هست اگر بخوایم توی سرور انلاین بارگذاری کنیم باید چطور ادرس دهی کنیم؟

    • امیرحسین علیجانی

      باید فایل در سرور یا هاستتون موجود باشه
      کنار فایل پایتونیتون که مشکلی از جهت آدرس دهی نداشته باشید

  12. حسن تنورساز (خریدار محصول)

    سلام مجدد استاد توی جلسه 13 یاد دادین که با زدن دکمه شیشه ای به سایت همرویش یا کانال وصل بشه اگر بخوایم مثل ربات های که مثلا فیلم و یا سریال برای ما ارسال میکنن چیکار باید کنیم؟
    فیلم یا سریال توی خود صفحه که بات هست ارسال میشه به صفحه دیگه انتقال پیدا نمیکنیم

    • امیرحسین علیجانی

      سلام ، برای ارسال فایل اول باید با دستور open فایل رو وارد کنید و بعد با متود send_document اقدام به ارسال کنید
      file = open(‘image1.png’, ‘rb’) context.bot.send_document(chat_id, file)

  13. حسن (خریدار محصول)

    بعد از عوض کردن 3 و4 تا وی پی ان مشکلم حل شد تشکر

  14. حسن (خریدار محصول)

    C:\python\python.exe “C:/Users/azarakhsh/Desktop/#وارد کردن کتابخانه تلگرام.py”
    Traceback (most recent call last):
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connection.py”, line 140, in _new_conn
    conn = connection.create_connection(
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\util\connection.py”, line 83, in create_connection
    raise err
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\util\connection.py”, line 73, in create_connection
    sock.connect(sa)
    socket.timeout: timed out

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 614, in urlopen
    httplib_response = self._make_request(conn, method, url,
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 360, in _make_request
    self._validate_conn(conn)
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 857, in _validate_conn
    super(HTTPSConnectionPool, self)._validate_conn(conn)
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 289, in _validate_conn
    conn.connect()
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connection.py”, line 284, in connect
    conn = self._new_conn()
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connection.py”, line 144, in _new_conn
    raise ConnectTimeoutError(
    telegram.vendor.ptb_urllib3.urllib3.exceptions.ConnectTimeoutError: (, ‘Connection to api.telegram.org timed out. (connect timeout=5.0)’)

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “C:\python\lib\site-packages\telegram\utils\request.py”, line 225, in _request_wrapper
    resp = self._con_pool.request(*args, **kwargs)
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\request.py”, line 64, in request
    return self.request_encode_url(method, url, fields=fields,
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\request.py”, line 87, in request_encode_url
    return self.urlopen(method, url, **extra_kw)
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\poolmanager.py”, line 244, in urlopen
    response = conn.urlopen(method, u.request_uri, **kw)
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 691, in urlopen
    return self.urlopen(method, url, body, headers, retries,
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 691, in urlopen
    return self.urlopen(method, url, body, headers, retries,
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 691, in urlopen
    return self.urlopen(method, url, body, headers, retries,
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 665, in urlopen
    retries = retries.increment(method, url, error=e, _pool=self,
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\util\retry.py”, line 376, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
    telegram.vendor.ptb_urllib3.urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host=’api.telegram.org’, port=443): Max retries exceeded with url: /bot5312959268:AAECCyN3OkyvKZkcVIEtsh6LySHbm2W9Hgs+/getMe (Caused by ConnectTimeoutError(, ‘Connection to api.telegram.org timed out. (connect timeout=5.0)’))

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “C:/Users/azarakhsh/Desktop/#وارد کردن کتابخانه تلگرام.py”, line 23, in
    token.start_polling()
    File “C:\python\lib\site-packages\telegram\ext\updater.py”, line 258, in start_polling
    self.job_queue.start()
    File “C:\python\lib\site-packages\telegram\ext\jobqueue.py”, line 311, in start
    name=”Bot:{}:job_queue”.format(self._dispatcher.bot.id))
    File “C:\python\lib\site-packages\telegram\bot.py”, line 54, in decorator
    self.get_me()
    File “C:\python\lib\site-packages\decorator.py”, line 232, in fun
    return caller(func, *(extras + args), **kw)
    File “C:\python\lib\site-packages\telegram\bot.py”, line 67, in decorator
    result = func(*args, **kwargs)
    File “C:\python\lib\site-packages\telegram\bot.py”, line 251, in get_me
    result = self._request.get(url, timeout=timeout)
    File “C:\python\lib\site-packages\telegram\utils\request.py”, line 277, in get
    result = self._request_wrapper(‘GET’, url, **urlopen_kwargs)
    File “C:\python\lib\site-packages\telegram\utils\request.py”, line 231, in _request_wrapper
    raise NetworkError(‘urllib3 HTTPError {0}’.format(error))
    telegram.error.NetworkError: urllib3 HTTPError HTTPSConnectionPool(host=’api.telegram.org’, port=443): Max retries exceeded with url: /bot5312959268:AAECCyN3OkyvKZkcVIEtsh6LySHbm2W9Hgs+/getMe (Caused by ConnectTimeoutError(, ‘Connection to api.telegram.org timed out. (connect timeout=5.0)’))

    Process finished with exit code 1

    • امیرحسین علیجانی

      سلام دوست عزیز
      از ابتدا فکر میکردم این ارورتون باشه
      ( telegram.error.NetworkError: urllib3 HTTPError) نتوورک ارور ، فی.لتر شکنتون رو بررسی کنید
      پیشنهادی : protonvpn

  15. حسن (خریدار محصول)

    ارور بخش زیادی داره و قابل گپی کردن نیست

  16. حسن (خریدار محصول)

    سلام وقت بخیر من کد درس 4 با اصلاحیه که تو درس 5 گفتین میخوام اجرا کنم بهم ارور میده
    فک کردم کد خودم مشکل داره ولی کد که همراه پکیج هست و استاد نوشتن ران کردم با توکن بات خودم و دوباره همون ارور داد تو پای چارم و vscod امتحان کردم ممنون میشم راهنمایی کنید
    #وارد کردن کتابخانه تلگرام
    from telegram.ext import Updater,CommandHandler

    #اضافه کردن توکن بات از بات فادر
    token = Updater(‘5312959268:AAECCyN3OkyvKZkcVIEtsh6LySHbm2W9Hgs+’,use_context=True)

    #نوشتن توابع
    def start(update,context):
    context.bot.send_message(chat_id = update.message.chat_id,text = ‘ربات شرع به مار کرد’)
    def help(update,context):
    context.bot.send_message(chat_id = update.message.chat_id, text= ‘این دستور کمک است برای شروع کار بات از \start استفاده کنبد. ‘)
    def web (update,context):
    context.bot.send_message(chat_id = update.message.chat_id, text= ‘وبسایت گوگل https://www.google.com/?hl=fa \n ‘)

    #اجرا تابع
    token.dispatcher.add_handler(CommandHandler(‘start’, start))
    token.dispatcher.add_handler(CommandHandler(‘help’, help))
    token.dispatcher.add_handler(CommandHandler(‘web’, web))

    #برای اجرای بات
    token.start_polling()
    token.idle()

    • امیرحسین علیجانی

      سلام ، وقت بخیر
      متاسفانه کدی که کپی کردید به هم ریخته است
      لطفا ارور رو ارسال کنید!

  17. hsynywsfya@gmail.com (خریدار محصول)

    درود و خسته نباشید
    ببخشید برای اینکه ربات برای دریافت متن از کاربر صبر کنه تا کاربر متن را بفرسته باید چی کار کرد ؟
    و برای یادگیری بقیه متد ها چه سایتی رو پیشنهاد میدید؟

  18. فرشاد (خریدار محصول)

    سلام استاد.خسته نباشید.من توی سایتهای فریلنسری سفارش رباتهایی رو میبینم که خیلی پیچیده و چند کاربرده هستن و بیشترشون هم در مورد معامله ارزهای دیجیتال هستن.میخواستم بدونم ما برای طراحی چنین رباتهایی باید چه چیزهایی رو بلد باشیم و به چه سطحی از برنامه نویسی برسیم.با سپاس

    • مصطفی آصفی

      سلام به شما. با اجازه مدرس این دوره چون سوالتون کلی هست بنده هم نظرم رو می گم. شما برای ساخت ربات های فارکس و بورس در متاتریدر یا مفیدتریدر بهترین گزینه ای که دارید طی کردن مسیر پایین برای ورود به ساخت ربات با زبان ام کیو ال هست:
      آموزش مقدماتی MQL (+)
      آموزش پیشرفته MQL (+)
      آموزش MQL برای فارکس (+)

      برای ارزهای دیجیتال فریمورک یکپارچه ای نیست ولی مثلا میشه با همین MQL وب ریکوئست زد به API مجاز صرافی بایننس و داده ها رو گرفت و عملی رو انجام داد. یا میشه با پایتون هم ریکوئست زد.
      ضمنا جالب اینه که MQL می تونه با پایتون هم تعامل داشته باشه. برای اطلاع بیشتر می تونید پیج تخصصی هم رویش برای آموزش الگوتریدینگ (+) رو دنبال کنید.

  19. مهدی (خریدار محصول)

    سلام و عرض ادب
    من رباتم رو ساختم. ولی موضوعی که هست اینه که وقتی دو نفر همزمان با هم اونو استارت میکنن، قاطی میکنه.
    اطلاعات رو جابجا ذخیره میکنه،
    یا مثلا اگر نفر اول روی سوال سومه، وقتی نفر دوم استارت میزنه، سوال سومی که از نفر اول داره میپرسه رو برای نفر دوم هم میفرسته…!!!
    چیکار کنم ؟!!!!!!!!!!

  20. مهدی ظفری (خریدار محصول)

    سلام مجدد.
    من ربات رو نوشتم و توی اجراش مشکل خاصی ندارم.
    مونده دیباگ کردن.
    ولی به من گفتن از نظر امنیتی اصول رو رعایت کن.
    مثلا اسپمش نکنن یا فلادینگ روش نندازن یا توکنش رو از روش های مختلف پیدا نکنن.
    توی اینترنت من چیز خاصی در این باره پیدا نکردم.
    در این مورد ممکنه راهنمایی بفرمایید؟

    • مصطفی آصفی

      سلام به شما. توصیه می کنم راهکارهای عملی که در ربات instapy (+) استفاده شده رو بررسی کنید. این که مثلا تو کلاس‌ها چه ترفندهایی برای ارسال نظر و زمان بندی تصادفی ارسال کرده و … . ضمنا چون این ربات مبنای کارش شبیه آموزش ماست و البته با امکانات خیلی بیشتر، می تونید با کلون کردن همین مخزن هم کارتون رو پیش ببرید.

  21. مهدی ظفری (خریدار محصول)

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

    • امیرحسین علیجانی

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

  22. مهدی ظفری (خریدار محصول)

    سلام و عرض ادب
    من قبلا یه اموزش دیده بودم از این کتابخونه
    اونجا وقتی که میخواستیم توابع رو بصورت زنجیره وار بهم متصل کنیم برای تابع جز زنجره، یه متغیر توی ConersationHandler تعریف میکردیم و از تابع بالاتر به بعدی ریترن میکردیم.
    الان از روش شما من متوجه نشدم چطوری باید اینکارو انجام داد! سعی کردم دوتا رو باهم تلفیق کنم ولی کد بدون هیچ خطایی کلا اجرا نمیشه!
    Process finished with exit code 0

    مثلا من میخوام بعد از استارت و اینا، یه تابع وزن کاربر رو بگیره، بعد بره تابع بعدی قد رو بگیره و همینطوری تا در نهایت اطلاعات مد نظر رو دریافت کنه!
    چیکار باید بکنم؟!

    مورد بعدی اینکه اگه مثلا توی یه تابع چندتا سوال رو بخوام دونه دونه بپرسم و بعد از جواب دادن کاربر به اولی، سوال دوم پرسیده بشه چطوری باید عمل کنم؟
    چون من سوال اول رو میفرستم و متغیری هم برای پاسخ کاربر در نظر میگیرم ولی تابع سوالات که اجرا میشه همه ی سوالات رو باهم میپرسه!

    ممنونم از پاسخگویی شما

  23. مهدی (خریدار محصول)

    سلام وقت بخیر
    من میخواستم درگاه پرداخت رو به ربات متصل کنم و هرجا که گشتم و سرچ کردم نتونستم راه و حلی پیدا کنم , ممنون میشم راهنماییم کنید(ضمنا خود سرویس دهنده پرداخت هم برای پایتون فقط با کد جنگو گذاشته و نمیتونم تو ربات استفادش کنم)

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      متاسفانه به علت فیلترینگ تلگرام ، سایت های ارائه دهنده ی درگاه اجازه ارائه ی درگاه برای تلگرام رو ندارند
      مگر اینکه برای کار دیگه ای درگاه بگیرید و اینجا استفاده کنید

  24. ir1385li@gmail.com (خریدار محصول)

    با سلام
    تکه کد:
    کد مورد نظر در این لینک است

    ایندکس ها به درستی رعایت شده.

    خطایی که cmd میده بعد از ران کردن فایل :

    خطای مورد نظر در این لینک است

    مشکل چیه لطفا راهنمایی کنید.

    • امیرحسین علیجانی

      سلام وقت بخیر ، نتوورک ارور هست ؛ فیلتر شکن رو بررسی کنید
      از protonnvpn استفاده کنید

  25. ir1385li@gmail.com (خریدار محصول)

    سلام منم مشکل درس 4 و 5 رو دارم همه چیز طبق گفته های شماست و مشکلی از نظر فیلتر شکن نیست لطفا راهنمایی کنید

    • روابط عمومی هم رویش

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

  26. مهراد جزایری (خریدار محصول)

    برادر من. دیشب این آموزشو خریدم . به طور کامل از کار افتاده همی چیش آپدیت میخواد. لطفا مبلغ منو برگشت بزنید

    • روابط عمومی هم رویش

      با سلام. همراه گرامی، با توجه به اینکه سایر فراگیران این آموزش تاکنون گزارش مشابه شما به ما نکرده اند پیام شما برای مدرس دوره ارسال شده تا بررسی نمایند. مدرسین معمولا تا 72 ساعت پاسخگو خواهند بود.

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      خب این دوره طبیعتا در ۱ سال پیش ضبط شده و اپدیت هایی برای این ماژول ارائه شده اما در ابتدای دوره و در درس چهارم ما با سبکی از استایل کد اشنا شدیم که در همون زمان هم دچار وارنینگ میشد و اتفاقا مورد حدس بود که در اپدیت های بعدی این ماژول این استایل دچار تغیر بشه در نتیجه در قسمت بعد این درس یعنی درس پنجم ما از context استفاده کردیم که این شیوه هنوز کار میکنه و مشکلی نداره شما دوره رو ادامه بدید.
      موفق باشید.

  27. مهراد جزایری (خریدار محصول)

    سلام. تو درس چهار همون اولش که میخواین پیام سلام… واسه یوزر ها ارسال کنید ارور میده. تو کامنت ها گفتین مشکل از فیلتر شکن و درست نصب نشدنه ولی واسه من دوتاش اوکیه این ارور چیه که رفع نمیشه؟
    خودتون تست کنید درس چهارو ببینید اگه متدی عوض شده اطلاع بدین

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      درس پنج رو تماشا کنید و با اون استایل کد بنویسید.

  28. djspark051@gmail.com (خریدار محصول)

    سلام من ربات رو که ران میکنم یه لحظه صفحه cmd میاد و میره و اصلا چیزی اجرا نمیشه

    • امیرحسین علیجانی

      سلام اگر کدتون ایراد نداره مشکل از کانکشنه باید با فیلتر شکن ربات رو ران کنید
      proton vpn رو تست کردم جواب گو هست
      و برای بررسی ارور جای اینکه به طور مستقیم فایل پایتونی رو اجرا کنید ، در cmd دستور اجرای کد رو بنویسید تا در صورت ارور صفحه cmd بسته نشه و بتونید ارور رو مطالعه کنید .
      موفق باشید

  29. mostafa sabzi sarvestani (خریدار محصول)

    سلام
    وقت بخیر
    1- می خواستم رباتی بنویسم که آخرین اخباری که در کانال های خبری عمومی یا خصوصی منتشر می شوند را در لحظه درون کانال خودم منتشر کنم ضمنا لینک ها و هشتگ های مربوط به کانال مبدا رو حذف کنم یا تغییر بدهم.

    2- چطور می تونم وقتی به یک کانال خبری عمومی یا خصوصی خبر جدیدی اضافه شد با ارسال پیامک به شماره موبایل خودم مطلع شوم؟

    لطفا راهنمایی بفرمایید
    متشکرم

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      شما قادر هستید پیام های یک چنل رو فوروارد کنید اما حذف لینک و … با این ماژول و کلا ربات های api به سختی امکان پذیر هستش
      شما بهتره کلا سمت ربات های cli برید.

  30. میثم

    سلام این آموزش خوبه ولی بات تلگرام به دلیل فیلتر کار نمیکنه من خودم با پایتون نوشتم ولی موقع تست ربات کار نمیکنه نمیدونم چرا ؟

    import telebot

    bot_token = “ببخشید به دلیل حفظ حریم شخصی این قسمت رو برداشتم ”

    bot = telebot.TeleBot(token=bot_token,parse_mode=None)

    @bot.message_handler(commands=[‘start’])

    def send_welcome(message):

    bot.reply_to(message,”welcome”)

    bot.polling()

    • امیرحسین علیجانی

      سلام دوست عزیز
      شما انگار دوره رو تهیه نکردی
      در دوره اصلا ماژول telebot تدریس نشده !!!!!
      در ضمن برای مشکل فیلترینگ دو فیلتر شکنی که در اموزش گفته شد ممکنه حالا کمکی بهتون نکنه
      سرچ کنید راجب فیلتر شکن هایی که به خوبی این کارو براتون انجام میدن تستی که من انجام دادم proton VPN جوابگو هستش

  31. سعید (خریدار محصول)

    با سلام
    یک مشکلی دارم. در ادامه همون تمریناتی که در ویدیو بود من پرینت میگیرم : وقتی شخصی در داخل ربات دکمه استارت را میزند id منحصر بفرد دارد اما زمانیکه در گروه دکمه استارت را میزنند همه ی کاربران دارای یک id مشترک هستند . همینطوره یا من جایی اشتباهی نوشتم؟؟؟؟؟

    • امیرحسین علیجانی

      سلام و وقتتون بخیر
      ببخشید بابت تاخیر در پاسخگویی ، ببینید هر چتی در تلگرام یک ایدی داره بنابرین شما وقتی داخل گروه chat id رو پرینت میگیرید ، چیزی که به شما برگردونده میشه چت ایدی گروهه نه کاربر .

  32. سعید (خریدار محصول)

    تدریس و کیفیت محتوی و سرعت آموزش عالی بود
    توصیه میکنم یک دوره نوشتن کد برای گرفتن ممبر برای گروه و کانال ادد اجباری و مبصر گروه به عنوان ضمیمه ایجاد کنید علاقمندان جداگانه تهیه کنند

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      ممنون از نظر خوبتون
      اگر منظورتون رباتی مثل تبچی هست حقیقتا این ربات ها cli هستند اما اگر پروژه ی دیگری هست ممنون میشم بیشتر توضیح بدید.
      موفق باشید

  33. aminmaleki11.1385@gmail.com (خریدار محصول)

    سلام یک سوال داشتم برای اینکه یک شرط بزاریم که کاربر استفاده کننده از بات داخل یک کانال باشه چکار باید بکنیم ؟

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      بله ، اتفاقا یکی از فراگیران این سوال رو پرسیده بودند و پاسخ در کامنت ها بود اما چون مدت زیادی از این کامنت میگذره ، مجدد مراحل رو توضیح میدم :
      کافیه در تابع استارت ، کار هایی که قراره انجام بشه رو به این ترتیب محدود کنید:

      (a = context.bot.get_chat_member(chat_id=’@id_channel’ , user_id=update.message.chat_id
      :[‘if a.status in [‘left’ , ‘kicked
      اگر این شرط برقرار بود پیامی رو ارسال کنه که حاوی لینک چنل هست و :
      :else
      در غیر اینصورت کار هایی که مد نظرتون هست رو ربات انجام بده

      لازم به ذکره که رباتتون باید در کانالی که در نظر دارید، ادمین باشه

      این هم سورس کد کامل رباتی که این کار رو انجام میده :

      http://s10.picofile.com/d/8405351242/3b91827f-bbcf-4e5a-949b-46e8e2db7f4d/channel_manager.rar

  34. مهدی محبی (خریدار محصول)

    سلام وقت بخیر , میخواستم بدونم که اگه ما یک دکمه شیشه ای رو برای ربات تعریف کنیم و بعدش کاربر روی اون دکمه کلیک کرد براش یک دیالوگی نمایش بده باید چه کدی بنویسیم

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      در تابعی که با کلیک روی دکمه شیشه ای فراخوانی میشه بنویسید
      query.answer(text=’your text’, show_alert=True)
      باکسی نمایش داده میشه که حاوی پیام شماست .
      پیروز باشید

  35. سعید فراهانی (خریدار محصول)

    سلام استاد جان کد من run نمیشه صفحه سیاه میاد و سریع میره چند بار ماژول تلگرام رو نصب کردم هیچ کد پایتونی ران نمیشه در قسمت visual studio نوار آبی رنگ قسمت پایین که در فیلم هست برای من نوارش قرمز رنگ

    • امیرحسین علیجانی

      سلام و درود خدمت شما دوست عزیز
      شما اول باید از فیلتر شکنتون مطمئن بشید (هرفیلتر شکنی عمل نمیکنه پیشنهاد من هات اسپات هست )
      و دوم اینکه راجب vs code احتمالا اینترپرتر شناسایی نشده برای بررسی بیشتر به بنده ایمیل بزنید و از صفحه vs code یک اسکرین بفرستید تا مشکلتون رو حل کنم

      و برای اطمینان از نصب در کامند پرامت دستور
      pip list رو بزنید ، لیستی از ماژول های نصب شده به شما ارائه میشه ببینید در بین لیست python-telegram-bot وجود داره یا خیر

      اگر نبود :

      pip install python-telegram-bot
      pip install telegarm

  36. سعید فراهانی (خریدار محصول)

    استاد عزیز pip install python telegram _ bot رو نصب کردم بازم خطا میده اون visual studio code هم به نظرم مشکل داره اون نوار پایین نرم افزار برای شما آبی برای من قرمز شده چند بار کل مراحل رو رفتم بازم خطا دارم

  37. سعید فراهانی (خریدار محصول)

    no module named telegram سلام و خسته نباشی خدمت شما استاد گرامی درس چهار استارت ربات رو میزنم این خطا رو میده کلا هیچ پوشه پایتونی رو هم نشون نمیده the system cannot find the patch specific ممنون میشم راهنمایی کنید

    • امیرحسین علیجانی

      سلام ممنون وقت بخیر
      از نصب صحیح ماژول python telegram bot مطمئن بشید و مطمئن بشید در کنار فایل پایتونی که مینویسید فایلی با عنوان telegram.py ذخیره نشده باشه

  38. حسین (خریدار محصول)

    سلام امیر حسین
    من یه مشکلی موقع نصب pip داشتم
    اگه امکانش هست ایمیلتو چک کن برات اسکرین شات فرستادم
    درضمن اینم بگم فن بیانت واقعا عالیه خیلی واضح توضیح میدی

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      بله شما وارنینگی مبنی بر قدیمی بودن ورژن pip دریافت کردید که با دستور
      pip install –upgrade pip
      این وارنینگ رفع خواهد شد
      ممنون از شما 🌷🌷

  39. مهدی قائدرحمتی

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

    • امیرحسین علیجانی

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

  40. esi74karimi@gmail.com

    سلام امیر حسین جان آیا با خریداری این دوره میتونیم یه بات مدیریت گروه کامل بسازیم؟

    • امیرحسین علیجانی

      سلام روزتون بخیر
      توی این دوره شما یاد میگیرید که چطور منطق یک ربات رو تعریف کنید و به عنوان مینی پروژه یک ربات ضدلینک برای گروه نوشتیم
      در نتیجه اگر شما ایده ای داشته باشید میتونید پیاده سازیش کنید.

  41. S

    سلام، لطفاً ایمیلتون رو میدید آقای علیجانی، کار مهمیه.

    • امیرحسین علیجانی

      سلام
      ایمیل در تمامی قسمت های دوره از جمله دمو در اولین اسلاید موجود هست

      amirhoseinalijani83@gmail.com

  42. abbask63@gmail.com (خریدار محصول)

    من رو سرور اوبونتو خودم به مشکل خوردم از آلمان ، دسترسی بسته اس
    اومدم روی pythonanywhere این پیغام رو میده

    AttributeError: ‘Update’ object has no attribute ‘send_message

    • امیرحسین علیجانی

      سلام با بنده با ایمبل در تماس باشید
      نیاز به اسکرین از کد و روند کارتون دارم

  43. abbask63@gmail.com (خریدار محصول)

    سلام مجدد امیر حسین جان
    ممنون که انقد زود جواب میدی
    من یه ربات ساده رو اجرا کردم ولی اررور کانکشن میده ، سرور اوبونتو من تو آلمان هست

  44. abbask63@gmail.com (خریدار محصول)

    سلام وقت بخیر
    من با پایتون یه برنامه نوشتم و میخوام یه اسمی رو بدم به ربات تلگرام و اون پیغام رو بعلاوه یک متن کنه و بفرسته تو کانال تلگرام ، (ربات ادمین کانال تلگرام هست ، توی آموزشاتون این مورد هست ؟ در ضمن من تو سرور لینوکس این کار رو انجام دادم

    • امیرحسین علیجانی

      سلام ممنون وقت شما هم بخیر
      نکته قابل توجه اینه که شما با پایتون کار میکنید و به طور کلی برای قرار دادن یک مقدار در استرینگ از متود
      format
      استفاده میشه
      و اینکه برای ارسال پیام در چنل هم اید به جای چت ایدی کاربر ایدی چنلتون رو بدید

      context.bot.send_message(text=f’Hello{Ypur text} , chat_id=’@Your chanel id’)

      و اینکه در دوره ما با ویندوز کار کردیم ولی در اخر روی یک سرور رایگان لینوکسی
      (python anywhere)
      ربات رو اجرا کردیم

      پیچیدگی خاصی برای نصب این ماژول نیست و مراحل نصب به سادگی نصب این ماژول روی ویندوز هست.

      موفق باشید.

  45. مهدی محبی (خریدار محصول)

    سلام, ببخشید دوباره مزاحم میشم میخواستم بدونم اگه بخوایم برای هر کاربری که وارد ربات میشه یک لینک زیر مجموعه گیری ایجاد بشه چی کار باید کنیم ( طوری که هر کاربری ربات رو استارت کرد یک لینک مخصوص کاربر برای زیر مجموعه گیری ایجاد بشه و هرکسی هم که از طریق لینک وارد ربات بشه زیر مجموعه کاربر قبلی بشه)
    ممنون میشم راهنماییم کنید

    • امیرحسین علیجانی

      سلام و عرض ادب
      فرض کنید من در حال نوشتن یک ربات با یوزرنیم hamruyesh هستم
      وفرض کنیم مثلا برای ربات یه دکمه ای تحت عنوان “زیرمجموعه گیری” تعریف کردیم ؛ زمانیکه کاربر روی دکمه کلیک میکنه شما باید مسیجی براش ارسال کنید که حاوی لینک اختصاصی فرد هست و این لینک به این صورت تعریف میشه :

      https://t.me/hamruyeshbot?start=update.message.chat_id

      که در اون update.message.chat_id چت ایدی کاریری هست که با ربات کار میکنه

      حالا هر کسی روی این لینک کلیک کنه ، به ربات میره و گزینه استارت رو پایین ربات مشاهده میکنه
      با کلیک روی لینک هم ربات استارت میشه و هم اینکه ربات تلگرام برای توسعه دهنده مقدار جلوی start توی لینک بالا رو به شکل زیر میفرسته

      start chat id/

      حالا شمای توسعه دهنده راحت میتونید چت ایدی رو بدست بیارید و مثلا به فرد مورد نظر پیام بدید که یک زیرمجموعه اضافه شد و کار های دیگه ای انجام بدید .

      موفق باشید.

  46. m (خریدار محصول)

    سلام, خواستم بدونم اگه بخواییم ربات به یه پیام خاص پاسخ بده باید چه کدی بنویسیم
    برای مثال اینکه کاربر به ربات سلام داد ربات با حالت پاسخی پیام کاربر رو ریپلای کنه

    • امیرحسین علیجانی

      سلام
      شما دقت داشته باشید که با پایتون در حال کد نویسی هستید در نتیجه اصلا محدود به کلاس یا متود های یک کلاس نیستید. یعنی میتونید از ویژگی های پایتون بهره ببرید
      کافیه یک شرط برقرار کنید که اگر مسیج دریافتی از کاربر برابر یک استرینگ مثلا “سلام” بود ، ربات مسیج مد نظرتون رو ارسال کنه .

  47. مهدی محبی (خریدار محصول)

    سلام خواستم بدونم اگه بخوایم شماره تلفن کاربر رو از طرف ربات از کاربر بگیریم باید چه کدی بنویسیم
    مثلا روی یک دکمه ای کلیک کرد و شماره تلفن طرف برای ربات ارسال بشه
    ممنون میشم کمکم کنید

    • امیرحسین علیجانی

      سلام
      اول بیایم اطلاعات contact رو در متغیری به همین نام ذخیره کنیم و سپس میتونیم با استفاده از دستور بعدی که در متغیر phone ریختیم ، شماره کاربر رو دریافت کنیم.
      contact = update.effective_message.contact
      phone = contact.phone_number

  48. مجتبی مزروعی (خریدار محصول)

    سلام در برنامه چت اگر بخواهیم فایل-عکس-فیلم لوکیشن و …برای طرف مقابل ارسال کنیم باید چه کدی بنویسم–
    اگر بخواهیم بک متن به ربات مدیر فوروارد کنیم و ربات آن را برای طرف مقابل بفرستد چه کدی بنویسیم

    • امیرحسین علیجانی

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

      bot.forward_message
      chat_id =user_id,)
      from_chat_id = from_chat_id,
      [message_ids = [msg_id,
      (
      که در آن ، chat_id ، مربوط به چت ایدی ادمینه و from_chat_id مربوط به چت ایدی کاربر و message_ids هم آیدی پیامه .

      برای فیلتر هم از all استفاده کنید که همه نوع پیام رو شامل بشه .

      موفق باشید.

  49. mmdrezaii825401530@gmail.com (خریدار محصول)

    آموزش خیلی خوبی بود و ممنونم بابت آموزشتون، اما بنظرم باید توضیحات دوره رو آپدیت کنید و در اون بگید که از چه ورژن کتابخونه ای استفاده کردید چون همین موضوع یک روز کامل وقت منو گرفت و من هر جور امتحان میکردم ارور میگرفتم تا اومدم همه‌ی نظر های دوستان رو با دقت خوندم و در کامنتی نوشته شده بود که باید از پایتون تلگرام بات 12.4.0 استفاده کنیم و بعد از نصب نسخه ۱۲ همه‌ی ارور هام برطرف شد. از همینجا از دوستمون تشکر میکنم که رفع این مشگل رو با ما به اشتراک گذاشتند.

    • امیرحسین علیجانی

      سلام و وقتتون بخیر.
      ممنونم از ثبت نظرتون
      چشم ، این مورد رو بررسی میکنیم

      موفق باشید

    • امیرحسین علیجانی

      سلام مجدد و عرض تشکر بابت نظر مفیدتون
      فایلی با مضمون” رفع اشکال” در اختیار تمام فراگیران قرار داده شد که از این به بعد در صورت بروز مشکلات اینچنینی ، راه حل این خطا ها در این فایل قرار خواهد گرفت.

      سپاس فراوان از شما و تمام کسانی که با نظراتشون ما رو در امر تدریس یاری میکنند 🌷

  50. ilialashpv@gmail.com

    با سلام خدمت مدرس گرامی
    من یه سوال راجب این اموزش داشتم
    * اگه من این اموزش رو تهیه کنم ب سطحی میرسم که ربات های پیشرفته تبچی ، بنردهی ، ضدلینک مثل digianti ، و…. سورس نویسی کنم !؟

    • امیرحسین علیجانی

      سلام ، وقتتون بخیر.
      در رابطه با ربات تبچی ، شما باید نوشتن ربات های cli رو بلد باشید و مبحث این دوره ، ربات های api هست اما در طی دوره اموزش دادیم که چطور یک ربات ضدلینک بنویسید
      همچنین شما میتونید با استفاده از داکیومنتی که معرفی شد دانش خودتون رو افزایش بدید و ربات مدنظرتون رو پیشرفته تر کنید.

      موفق باشید.

  51. بهروز ب (خریدار محصول)

    سلام
    روز خوش
    آیا می توان در یک ربات تلگرامی یک منو آبشاری ایجاد کرد ؟
    ممنون

    • امیرحسین علیجانی

      سلام ممنونم، روز شما هم بخبر
      در ربات های تلگرامی ، روش ارتباط کاربر با ربات رو گفتیم که به طورکلی میشه به ارسال پیام از طرف کاربر ، ارسال کامند از طرف کاربر یا فراخوانی یک تابع به نوعی که برنامه نویس مشخص میکنه باشه مثلا استفاده از دکمه شیشه ای .منظورم به این هست که اپشنی با عنوان منوی ابشاری وجود نداره ولی با کمی خلاقیت میشه دکمه ها رو ترتیبی کرد و چیزی مانند منو رو برای کاربر تداعی ساخت .

  52. saniar.mf@gmail.com (خریدار محصول)

    با درود.
    بنده چندروز درگیر بودم با مشکل ارور و …متوجه شدم که آپدیت جدید کتابخانه کلا فرق کرده و دوستانی که میخوان از این آموزش استفاده کنند باید حتما ورژن 12.4 رو نصب کنن(pip install python-telegram-bot==12.4.0)

    • امیرحسین علیجانی

      سلام و درود بر شما دوست عزیز ؛ خیلی ممنونم ازتون که ما رو در امر تدریس یاری میکنید 🌷

  53. احمد عسگری (خریدار محصول)

    سلام مدام برای من این ارور را میدهد .
    در صورتی که از سورس کد من هیچ ایرادی نمی گیرد .
    **************************************************************************************************
    from telegram.ext import Updater, CommandHandler

    token = Updater(‘1150651018:AAHRwE12OyI2PP1h6ie5ytNEBvfV08YQi0U’)

    def start(bot, update):
    bot.send_message(text=’سلام به ربات هنرستان رسالت خوش آمدید’, chat_id=107186986)

    token.dispatcher.add_handler(CommandHandler(‘start’, start))

    token.start_polling()
    token.idle()

    **************************************************************************************************
    File “bot.py”, line 1, in
    from telegram.ext import Updater, CommandHandler
    File “E:\python\telegrambot\Telegrambot\lib\site-packages\telegram\ext\__init__.py”, line 21, in
    from .basepersistence import BasePersistence
    File “E:\python\telegrambot\Telegrambot\lib\site-packages\telegram\ext\basepersistence.py”, line 25, in
    from telegram import Bot
    ImportError: cannot import name ‘Bot’ from ‘telegram’ (E:\python\telegrambot\Telegrambot\lib\site-packages\telegram\__init__.py)

    • امیرحسین علیجانی

      سلام و عرض عذر بابت تاخیر در پاسخگویی
      اولا باید خدمتتون عرض کنم که با درج هر کامنت در همرویش برای مدرسین ایمیلی ارسال میشه تا مدرس رو از این کامنت مطلع کنه . متاسفانه این ایمیل برای من ارسال نشد و من متوجه کامنت شما نشدم تا اینکه مهندس آصفی بنده رو مطلع کردن. پس عذر میخوام ازتون بابت این تاخیر‌.

      و اما بعد ، اروری که دریافت میکنید مشخص میکنه ماژول به درستی نصب نشده پس شما یک بار دیگه روند نصب رو پیش ببرید و علاوه بر python_telegram_bot ماژول telegram رو هم نصب کنید. در ضمن تاکید میکنم جایی که سورس کدتون رو نوشتید هرگز فایلی با عنوان telegram.py ذخیره نکنید تا مفسر پایتون ماژول رو با فایل شما اشتباه نگیره
      اگر این کار ها رو کردید و باز هم درست نشد بهترین راه این هست که از vrtualenv استفاده کنید. برای این کار اولا

      pip install virtualenv
      با این دستور این ماژول رو نصب کنید و بعد با استفاده از این دستور در محیط کامند
      python -m virtualenv venvname
      که در اون venvname نام دلخواهی هست ، در مسیر کنونی یک محیط مجازی ایجاد کنید.

      حالا پوشه ای تحت عنوانی که انتخاب کردید ایجاد میشه که حاوی تعدادی فایل هست. توی cmd بنویسید
      venvname/Scripts/activate
      که در اون venvname نام همون پوشه یا همون نامی هست که برای محیط مجازیتون انتخاب کردید.
      بعد از این دستور شما وارد محیط مجازیتون شدید و حالا زمان اون رسیده که ماژول های مورد نظر یعنی python-telegram-bot و telegram رو نصب کنید. لازم به ذکره که این ماژول ها حالا توی این محیط نصب هستند و برای اجرای سورس کد باید از همین محیط اقدام به اجرا کنید . یعنی بعد از انجام این مراحل یک اتاقی برای شما ساخته میشه که داخلش ، لوازم مورد نیازتون قرار داده میشه و شما تا وارد این اتاق نشی نمیتونی از این ابزار استفاده کنی. پس بعد از اجرای activate که بالا دستورشو نوشتم شما وارد محیط شدی و حالا میتونی با دستور python test.py فایل پایتونیتون رو اجرا کنید.
      موفق باشید.

      باز هم اگر سوالی بود در خدمتم . بابت تاخیر عذر میخوام هیچ سوالی بی پاسخ نخواهد ماند.

  54. artanirandost (خریدار محصول)

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

    • امیرحسین علیجانی

      سلام
      خواهش میکنم
      منبع من بیشتر stack ovetflow , github و داکیومنت خود PTB هستش

      برای دریافت پروکسی هم با توجه به اینکه ممکنه الان یک سایتی پروکسی رو قرار بده و اون پروکسی حالا منقضی شده باشه و پروکسی جدیدی که ارائه میده ، درست کار نکنه ، نمیشه یک وبسایت رو برای دریافت پروکسی مشخص کرد و پیشنهاد میدم که از پروکسی ای استفاده کنید که فیلترشکنتون داره روی اون ایپی و پورت فعالیت میکنه
      البته لازم به ذکره که وقتی دارید از این پروکسی استفاده میکنید ، فیلتر شکن رو خاموش کنید تا ارور مشغول بودن پورت رو دریافت نکنید.

  55. محمد سجاد

    سلام
    webhook در این دوره تدریس شده است؟
    و اینکه یک سوال داشتم برای اجرای بات روی هاست باید حتما از webhook استفاده کنیم نمیشه از polling استفاده کرد؟

    • امیرحسین علیجانی

      سلام
      خیر ، webhook تدریس نشده و به طور معمول ربات با polling کار خواهد کرد
      البته اصلا کار مشکلی نیست شما وقتی پایه رو یاد بگیرید ، خیلی راحت با یک سرچ ساده در stack overflow میتونید روش کار با webhook رو یاد بگیرید

      در واقع فقط کافیه چند خط کوتاه که حاوی اطلاعات هاست هست رو به همراه اطلاعات دیگه ، به سورس کدتون بدید‌.

      با توجه به اینکه polling منتظر عملیات کاربر هستش و این انتظار نیازمند این هست تا سورس کد جایی ران باشه ، خیر نمیشه با polling در هاست کار کرد و باید از webhook استفاده کرد.

  56. artanirandost (خریدار محصول)

    سلام خسته نباشید
    یک سوال داشتم لطفا جواب دهید واقعا گیرم.
    بنده یک برنامه ایی نوشتم که روی سیستم خودم اجرا میشود و کار اون برنامه این هست که بیاد و اطلاعاتی از سیستمم مثل دمای cpu و.. در اختیار در تلگرام قرار دهد یعنی برایم بفرستد ، ولی تلگرام فیلتر است و من نمیتوانم هربار بیام و فیلترشکن روشن کنم !!!
    و اما سوالم این هست که چطور داخل کد کاری کنم که زمانی که کد خواست اجرا شود قبل ان پروکسی کل سیستم رو تغییر دهد مثلا به یک پروکسی که قبلا بهش دادم ممنون میشوم جواب دهید

    • امیرحسین علیجانی

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

      REQUEST_KWARGS={
      ‘proxy_url’: ‘لینک پروکسی به همراه پورت ‘,
      ‘urllib3_proxy_kwargs’: {
      ‘username’: ‘یوزرنیم’,
      ‘password’: ‘پسوورد’,
      }
      }
      حالا باید جایی که توکن رو معرفی میکردیم بعنی جایی که :

      token = Updater(‘token’ , use_context=True)

      رو نوشتیم باید یک ارگومان دیگه به اپدیتر پاس بدیم تحت عنوان :
      request_kwargs
      که برابر با مقدار متغیری هستش که تعریف کرده بودیم یعنی
      REQUEST_KWARGS

      پس کل کد این خطمون میشه

      token = Updater(‘token’ , use_context=True , request_kwargs=REQUEST_KWARGS)

      به همین راحتی این امکان برای شما بوجود میاد
      موفق باشید.

  57. basaeri@hotmail.com (خریدار محصول)

    سلام
    من عین کدهای درس 4 رو اجرا میکنم و خطای زیر رو میده .ضمنا هم python-telegram-bot و هم telegram رو نصب کردم
    Traceback (most recent call last):
    File “E:\پایتون\telgram\HB-TeleBotPython-04-StartCode\HB-TeleBotPython-04-StartCode\hamruyeshbot\hamruyeshbot.py”, line 1, in
    from telegram.ext import Updater , CommandHandler
    File “C:\Program Files (x86)\Python38-32\lib\site-packages\telegram\ext\__init__.py”, line 25, in
    from .callbackcontext import CallbackContext
    File “C:\Program Files (x86)\Python38-32\lib\site-packages\telegram\ext\callbackcontext.py”, line 21, in
    from telegram import Update
    ImportError: cannot import name ‘Update’ from ‘telegram’ (C:\Program Files (x86)\Python38-32\lib\site-packages\telegram\__init__.py)

    • امیرحسین علیجانی

      سلام
      مشکل از کد نیست بلکه از فیلترشکن هست.

  58. artanirandost (خریدار محصول)

    سلام یک اتاق مجازی ساختم حل شد و دیگر خطا نداد

    • امیرحسین علیجانی

      سلام
      خب ، خدا رو شکر
      به هر حال ماژول درست نصب نشده بود که حالا میفرمایید در محیط virtual درست نصب شده.
      موفق باشید.

  59. artanirandost (خریدار محصول)

    سلام من اولین کدها را نوشتم ولی به هر روشی که کد را اجرا میکنم ، خطا دریافت میکنم ! vpn هم دارم.
    لینک عکس که آپلود کردم
    http://s11.picofile.com/file/8406679750/Screenshot_265_.png

    • امیرحسین علیجانی

      سلام
      اینطور که در تصویر دبده میشه ماژول به درستی نصب نیست
      شما روی پایتون ۳.۷ امتحان کنید و علاوه بر نصب python telegram bot ،
      telegram هم نصب کنید.

  60. M (خریدار محصول)

    چشم استاد
    خیلی ممنون از نکته تون و راهنمایی هاتون
    سپاس فراوان

    • امیرحسین علیجانی

      خواهش میکنم وظیفه است 🌷🌹💐

  61. M (خریدار محصول)

    بله استاد
    ممنونم که راهنمایی می کنید
    میخواستم بپرسم
    طریقه ساخت و راه اندازی و چک کردن لینک های دعوت ربات ها به چه صورت هست؟
    تا اینجا اطلاع دارم که ربات ها که لینک دعوت اختصاصی برای هر کاربر درست میکنند مقدار چت آیدی هر کاربر رو قرار می دهند و لینک اختصاصی درست میکنند اما اطلاع ندارم که چطور چک میکنند که اگر فرد اول لینک دعوتش رو به فرد دیگری داد و فرد دوم وارد ربات شد به فرد اول امتیازی تعلق میگیره؟
    منظورم این هست که ربات ها چه چیزی رو چک میکنند؟
    چون زمانی که فرد دوم روی لینک کلیک میکنه فقط دستور start برای ربات فرستاده میشه و چیز دیگه ای ارسال نمیشه

    • امیرحسین علیجانی

      سلام
      وقت بخیر
      ببینید شما باید پروژه های مد نظرتون رو خودتون توسعه بدید
      و این به نفع شما نیست که سوالاتتون در مورد پروژه های مد نظرتون رو از من نوعی بپرسید چون اینطوری شما وابسته به مدرستون میشید و در واقع مدرس تبدیل به مربی میشه این باعث مشه اگر فردا روزی راهی برای ارتباط نبود شما از پس پروژتون برنیاید پس بهتره در مورد پروژه های دیگه از داکیومنت و سرچ استفاده کنید.
      موفق باشید.

  62. M (خریدار محصول)

    سلام استاد
    ممنونم از پاسخ های عالیتون
    آیا میشه ربات به درگاه پرداخت متصل بشه؟
    یعنی یک لینک پرداختی توسط ربات به کاربر ارسال بشه که
    تا زمانی که هزینه رو از طریق درگاه پرداخت واریز نکرده
    ربات دیگه خدمات رسانی نکنه و اگر پرداخت کرد ربات بصورت اتوماتیک به اون کاربر خدمات بده
    بدون اینکه متنی برای ربات ارسال بشه
    آیا امکانش هست؟ و آیا این روش ارتباطی با متدی به اسم (SuccessfulPayment ) که داخل کتابخانه هست داره؟
    ممنون میشم لطف کنید توضیح بدهید

    • امیرحسین علیجانی

      سلام
      خواهش میکنم ، نظر لطف شماست
      خوب شما اول باید لینک درگاه پرداختتون رو به یک روش در شرطی داخل تابع استارت برای کاربر ارسال کنید
      برای بیان شرط ، باید بگم که سایتی که از اون درگاه پرداختتون رو تهیه کردید ، API مخصوص به خودش رو داره و برای استفاده از اون حتما راهنماییتون کرده که چکار کنید
      باید از اون راهنمایی استفاده کنید تا بتونید این شرط رو برقرار کنید.
      حالا دیگه کار شما خیلی راحته
      همونطور که گفتم یک روشی برای ارسال لینک درگاه به کاربر رو انتخاب کنید مثلا با استفاده از دکمه شیشه ای میتونید این کار رو انجام بدید که توی دوره گفتیم چطور دکمه شیشه ای رو به لینک وصل کنید.

  63. M (خریدار محصول)

    سلام استاد
    ممنونم از لطفتون که پاسخ می دهید
    یک سوال داشتم
    آیا میشه داخل سورس ربات
    زمان بندی ارسال پیام کرد؟
    یعنی اینکه اگر کاربری امروز
    دکمه start رو زد چند فایل براش ارسال بشه و فردا هم چندفایل دیگه ارسال بشه واگر در همین حین اگر کاربر دیگه ای start زد دوباره چند فایل بفرسته و هر روز طبق فایل هایی که مشخص شده به کاربر در زمان تعیین شده بفرسته؟
    عذر میخوام که وقت تون رو میگیرم و مزاحمتون میشم

    • امیرحسین علیجانی

      سلام
      خواهش میکنم ، وظیفه است . ممنونم از سوالات خوبتون

      بنده به شخصه متودی برای این کار پیدا نکردم ولی میتونیم خودمون مشابه این کار رو انجام بدیم

      اگر بیایم در سطری از دیتابیس که چت ایدی ها رو ذخیره کردیم ستونی برای ذخیره ی تاریخ و ساعت قرار بدیم ، به طوریکه در این ستون با استفاده از ماژول datetime با توجه به نیاز ، ساعت یا روز ذخیره بشه ، و در تابع استارت گفته بشه که اگر به این تایم فلان مقدار مثلا یک روز یا یک ساعت اضافه شد ، پیامی رو ارسال کنه ، میشه این کار رو انجام داد. و راهنمایی میکنم بعد از اینکه داده های موجود در دیتابیس رو در کدتون خوندید بهتره که برای ارسال پیام بیاید از چت ایدی ای استفاده کنید که در دیتابیس ذخیره کردید و از update.message.chat_id استفاده نکنید تا باگی برای ارسال پیام به وجود نیاد.

      موفق باشید.

  64. M (خریدار محصول)

    بله استاد
    مقدار چت آیدی ها رو ذخیره میکنم
    اما اطلاع ندارم چطور میشه
    پیامی فرستاد بدون اینکه کاربران کامند یا مسیحی برای ربات بفرستند

    • امیرحسین علیجانی

      سلام
      ببخشید که کمی تاخیر در پاسخگویی وجود داشت.

      کافیه برای رباتتون ادمین تعریف کنید و در بخش ادمین دکمه شیشه ای رو با نام مثلا “ارسال همگانی” قرار بدید و در تابع این دکمه اینگونه بنویسید که در مقادیر ذخیره شده ی چت آیدی ها در دیتابیس حرکت کنه و پیام رو ارسال کنه (با استفاده از دستور for) و برای جلوگیری از باگ دستورات تابع رو در try , except قرار بدید.

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

      موفق باشید.

  65. M (خریدار محصول)

    سلام استاد
    وقتتون بخیر
    آیا امکانش هست که بشه یک پیام همگانی فرستاد به تمامی کاربرانی که قبلا دکمه start رو زدند؟
    یعنی پیامی مبنی بر اینکه اطلاع رسانی بروز رسانی ربات به تمام کاربران بدون زدن command یا message توسط کاربران
    یا پیام ارسالی از مدیر به تمامی کاربران

    • امیرحسین علیجانی

      سلام
      ممنون وقت شما هم بخیر
      میتونید در تابع استارت چت ایدی فردی که استارت زده رو در دیتابیس ذخیره کنید و بعدا بیاید با استفاده از این چت ایدی ها به کاربرانتون پیام ارسال کنید

  66. M (خریدار محصول)

    سلام استاد
    ممنونم از پشتیبانی تون
    دوره رو تهیه کردم بسیار عالیه

    • امیرحسین علیجانی

      سلام
      خواهش میکنم ، وظیفه است
      خوشحالم که براتون مفید بوده 🌷

  67. سهراب

    سلام مهندس بعد از تهیه پکیج آموزشی میتونیم سورس مون رو نامحدود رو سایت pythonanywhere
    آپلود کنیم ؟ امکان داره سورس ربات خاموش بشه یا کلا ربات همیشه روشن هست ؟

    • امیرحسین علیجانی

      سلام قربان
      وقتتون بخیر
      خیر ، امکان این که روی این وب سایت ربات دائم به صورت رایگان فعال باشه وجود نداره و این وبسایت تا چند روز بهتون خدمات رایگان ارائه میده و بعد برای استفاده از خدمات ، باید اشتراک خریداری کنید.
      اما با توجه به اینکه این وبسایت خارجی هست ، میتونید از سرویس های ایرانی برای خرید سرور اقدام کنید که زیاد قیمت بالایی نداره

      به عنوان مثال وبسایت پرشین گیگ که سروری با دیسک ۱۰ گیگابایت رو ماهیانه حدود ۱۴ هزار تومان ارائه میده

      موفق باشید.

  68. M

    سلام استاد
    حتما با تهیه آموزش متوجه منظورتون خواهم شد
    اما سوال دیگه ای که در مورد آموزش داشتم
    آیا داخل آموزش
    آموزش این که چطور ربات چک کنه که اگه کاربری عضو کانال مشخص شده نبود ربات بهش خدمات نده و اگر بود خدمات بده؟

    • امیرحسین علیجانی

      سلام مجدد
      کافیه در تابع استارت ، کار هایی که قراره انجام بشه رو به این ترتیب محدود کنید:

      (a = context.bot.get_chat_member(chat_id=’@id_channel’ , user_id=update.message.chat_id
      :[‘if a.status in [‘left’ , ‘kicked
      اگر این شرط برقرار بود پیامی رو ارسال کنه که حاوی لینک چنل هست و :
      :else
      در غیر اینصورت کار هایی که مد نظرتون هست رو ربات انجام بده

      لازم به ذکره که رباتتون باید در کانالی که در نظر دارید، ادمین باشه

      این هم سورس کد کامل رباتی که این کار رو انجام میده :

      http://s10.picofile.com/d/8405351242/3b91827f-bbcf-4e5a-949b-46e8e2db7f4d/channel_manager.rar

      بازم اگر سوالی بود در خدمتم

  69. M

    سلام استاد
    آیا تو آموزش
    آموزش ساختن کلید های شیشه ای چند مرحله هست؟
    یعنی این که اگر بر روی یک کلید شیشه ای کلیک کردیم چند کلید شیشه ای دیگه نمایش داده بشه و همینطور با کلیک رو هر کلید چند مورد دیگه نمایش داده بشه

    • امیرحسین علیجانی

      سلام
      وققتون بخیر

      سوال خیلی خوبیه ، توی این دوره اموزشی این مبحث وجود نداره ولی چون سوال خیلی خوبی هست ، همینجا توضیح میدم که چطور این کار رو انجام بدید

      خب شما در تابعی که قرار هست منطق دکمه شیشه ای اولیتون نوشته بشه باید بنویسید :

      query.edit_message_text

      که همونطور که در دوره گفته شد query برابر update.callback_query هستش

      این متود ارگومان هایی شبیه به متود ارسال مسیج به کاربر رو دریافت میکنه (send_message) با این تفاوت که نیازی به دادن ارگومان چت ایدی تیست .

      پس شما باید قبل از این کد ، دکمه هایی که در نظر دارید با کلیک روی دکمه ی اول نمایش داده بشه ، طراحی کنید و به متود query.edit_message_text ، ارگومان reply_markup=your key رو پاس بدید.

      احتمالا الان درست متوجه منظور بنده نشید ولی بعد از تهیه و تماشای دوره مطمئنا متوجه خواهید شد
      من اینجا لینک سورس کد یک ربات که این کار رو انجام میده قرار میدم تا بعد از تهیه ی دوره دوباره به این کامنت برگردید و سورس کد رو ببینید و بهتر متوجه عرایض بنده بشید :

      http://s10.picofile.com/d/8405324192/1e312455-830b-4830-beb4-e4c6dbffbda6/bot.rar

      اگر مجددا سوالی بود در خدمتم .

  70. mgh_655@yahoo.com

    سلام – من میخام اطلاعات رو از یه فایل تکست در هارد کامپیوتر به کانال تلگرامم بفرستم – و اینکار دایم انجام میشه – آیا با دیدن این آموزش امکان پذیره این عملیات؟

    • امیرحسین علیجانی

      سلام
      در این دوره به صورت پایه ای در مورد ساخت ربات تلگرام با پایتون صحبت شده و شما بعد از تهیه ی این دوره قادر خواهید بود تا ربات های متنوعی بنویسید و پروژه هایی که در نظر دارید رو طبق خلاقیتتون بنویسید.
      با این حال اگر اسکریپت رباتتون قراره روی یک سیستم در حال اجرا بمونه (سیستم لوکال) ، بله این امکان وجود داره که با استفاده از متود open در پایتون فایل تکست مورد نظرتون رو باز کنید ، بخونید و در متغیری ذخیره کرده و اون رو ارسال کنید
      اما اگر قرار ربات روی سرور اجرا بشه باید فایل تکستتون در سرور مجازی اپلود بشه و بعد فرایندی که برای سیستم لوکال گفتم ،انجام بشه .

  71. artanirandost

    سلام خسته نباشید
    استاد ، دانشجو در این 4 ساعت کامل به این کتابخانه مسلط میشود و یا اینکه باید آموزش های دیگری هم ببینیم ؟

    • امیرحسین علیجانی

      سلام
      وقتتون بخیر
      بله شما توی این دوره مهم ترین و پر کاربرد ترین دستورات رو یاد میگیرید و میتونید با خلاقیت خودتون ربات های پیشرفته ی دیگه ای رو بنویسید

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

      اما اصلی ترین و پر کاربرد ترین دستورات کامل توضیح داده شده

  72. پویا (خریدار محصول)

    واقعا عالی و بسیار کاربردی بود!
    و همچنین ممنون از پاسخ دهی خوبتون. بازم از این سبک آموزشا بذارید.
    یه سوال، تدریس برنامه نویسی پایتون هم دارید؟

    • روابط عمومی هم رویش

      با سلام و احترام. به دلیل نقصی که در سیستم ارسال نظر مدرسان ایجاد شده، مدرس دوره در این چند روز امکان ارسال پاسخ به شما را ندارند.
      ما به سرعت در حال رفع این نقص هستیم و به محض رفع مشکل مدرس پاسخ شما را اینجا ارسال خواهند کرد.

    • امیرحسین علیجانی

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

  73. Asomolani

    شما در تلگرام کانال هم دارید ؟اگر دارید ادرس کنال را بزارید

    • روابط عمومی هم رویش

      با سلام و احترام. به دلیل نقصی که در سیستم ارسال نظر مدرسان ایجاد شده، مدرس دوره در این چند روز امکان ارسال پاسخ به شما را ندارند.
      ما به سرعت در حال رفع این نقص هستیم و به محض رفع مشکل مدرس پاسخ شما را اینجا ارسال خواهند کرد.

    • امیرحسین علیجانی

      کانال همرویش :
      https://t.me/hamruyesh

  74. Asomolani

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

    • امیرحسین علیجانی

      سلام
      ممنون بابت نظرتون

      از لحاظ اینکه تبچی ها به گونه ای عمل میکنند که در گاهی اوقات بدون رضایت ادمین گروه ها تبلیغ مورد نظر ارسال میگردد ، گزینه ی خیلی مناسبی برای تدریس نیست .

  75. مصطفی آصفی

    بسیار عالی. بنده از کیفیت آموزش شما شگفت زده شدم.

    • امیرحسین علیجانی

      ممنونم
      نظر لطف شماست
      زنده باشید

دیدگاه خود را بنویسید

نظرات کاربران در خصوص دوره 

75 دیدگاه برای آموزش ساخت ربات تلگرام با پایتون — پروژه محور

  1. Amir

    سلام وقتتون بخیر خیلی ممنون از اموزش عالیتون
    ببخشید من میخواستم رباتی بنویسم که چندتا ایدی و یک لینک رو از یک کاربر بگیره و اون لینک رو به ایدی هایی که گرفته ارسال کنه میشه در این مورد راهنایی کنید
    با تشکر

  2. پیمان

    سلام با دیدن این دوره میتونم رباتی بنویسم که به api وب سرویس دسترسی داشته باشم و در اختیار عموم قرار بدم ؟

    • روابط عمومی هم رویش

      سلام.به صورت اختصاصی به این موضوع پرداخته نشده
      ولی بعد یادگیری مطالبی که گفته شد با یه سرچ کوچیک به جوابتون می رسید.

  3. مریم ابراهیمی (خریدار محصول)

    سلام وقتتون بخیر، ببخشید میخواستم بدونم با گذروندن این دوره میتونم یه ربات جستجوی فیلم imdb بنویسم؟ از API خود Imdb استفاده کنه و اطلاعات فیلم رو بده؟

  4. رضا (خریدار محصول)

    برای من ارور updater.__init() got an unexpected keyword argument use context میاره مشکل چیه

    • امیرحسین علیجانی

      سلام دوست عزیز وقتتون بخیر
      بررسی کردم ، آپدیت جدیدی که از ماژول ارائه شده ساختار یکم تغییر کرده ، تا رسیدگی به این موضوع و ارائه آپدیت برای دوره از ورژن 13.7 این ماژول استفاده کنید .
      pip install python-telegram-bot==13.7

  5. aliakbar13851385aa@gmail.com (خریدار محصول)

    سلام استاد خسته نباشید من همه کار رو کردم با فیلتر شکن هم اجرا میکنم connection error telegram میده باید چیکار کنم ؟

  6. Hosein (خریدار محصول)

    در درس انتی لینک درمورد شناسایی و حذف لینک های url اموزش دادید و خیلی مفید بود حالا اگه بخوایم گیف یا استیکر های رو حذف کنیم چه کاری باید انجام بدیم ؟ و یک منبعی مرتبط با درس معرفی کنید که بتونیم از امکانات بیشتر رباتمون استفاده کنیم مثلا متود ها یا تابع های مربوط به این درس
    با تشکر

  7. حسین (خریدار محصول)

    اقا امیر مشکل این کد چیه ؟ اجرا نمیشه بی زحمت خودت یه تست میکنی که ببینی مشکلش چیه ؟ چون هرچی گفتی رو منم انجام دادم بجز id,user,firstname ننوشتم مربوط به درس 5
    from telegram.ext import Updater, CommandHandler

    token = Updater(‘token’, use_context=True)

    def start1(update, context):
    context.bot.send_message(text=”Hello {} you’r welcome, how can help you?”.format(update.message.from_user.first_name), chat_id= update.message.chat_id)

    def website1(update, context):
    context.bot.send_message(chat_id= update.message.chat_id, text= ‘for translate: \n https://translate.google.com/‘)

    def help1(update, context):
    context.bot.send_message(chat_id= update.message.chat_id, text= ‘for translate click on website command’)

    token.dispatcher.add_handler(CommandHandler(‘start’,start1))
    token.dispatcher.add_handler(CommandHandler(‘website’, website1))
    token.dispatcher.add_handler(CommandHandler(‘help’, help1))

    token.start_polling()
    token.idle()

  8. حسین (خریدار محصول)

    زمانی که فایل رو اجرا میکنم بعد از چند ثانیه 20 یا 30 خط نوشته میاد و بلافاصله فایل بسته میشه که به خاطره سرعت بالا نمیتونم نوشته ها رو بخونم.
    ممکنه از ف*ی-لت=رشک*ن باشه ؟ همش قطع و وصل میشه
    ف*ی-لت=رشک*ن خوب سراغ دارید برای ویندوز 32 بیتی بهم معرفی کنید؟

    • امیرحسین علیجانی

      سلام وقتتون بخیر باشه
      بله دقیقا مشکل کانکشن هست
      اما با توجه به شرایط کنونی اینترنت اکثر vpn ها از کار افتادن …
      در شرایط عادی proton vpn گزینه خوبیه

  9. حسین (خریدار محصول)

    سلام
    چطوری از 2تا تلگرام استفاده میکنی ؟

    • امیرحسین علیجانی

      سلام وقت بخیر ، منظورتون رو واضح تر بیان میکنید ؟
      منظورتون اینه که چطور دو تا تلگرام داشته باشید روی دسکتاپ ؟ فکر میکنم مثل ویدیو برای مقایسه ربات میخواید
      اگر اینطوره ، به لوکیشنی که تلگرامتون اونجا هست برید و فقط فایل exe تلگرام و بدون tdata و پوشه های دیگه کپی کنید و در مسیر دیگه ای جای‌گذاری کنید
      در مسیر جدید این فایل رو باز کنید و مراحل لاگین اکانت دیگه رو انجام بدید

  10. alimofakherie.543@gmail.com (خریدار محصول)

    سلام
    حدودا 5 روز پیش دوره ی آموزشیتون رو تهیه کردم آموزش مفید و کاربردی بود و به نکات خوبی مثل پیام رسان داخلی برای ربات اشاره شده بود که واقعا نیاز اولیه هر رباتی هست قیمت آموزش هم واقعا مفت بود مشابه همین آموزش رو از سایت تاپلرن با قیمت بیش از دوبرابر قبلا تهیه کرده بودم که البته صادقانه بگم اونم حتی مفت بود ولی شما به موارد کاربردی تری اشاره کردید برای پاسخ گویی در بخش نظرات سایت هم خیلی ممنون اون سورس ادد اجباری هم برای ربات ها خیلی مهم هست که اپلود کردید فقط یه نکته ای رو اگر لطف کنید راهنمایی کنید خیلی ممنون میشم و اون قابلیت “ارسال/فورواد همگانی” ربات هاست.با تشکر از شما مدرس عزیز

    • امیرحسین علیجانی

      سلام به شما دوست عزیزم
      خیلی ممنونم از نظرات مثبت و انرژی خوبتون و خوشحالم که دوره تونسته بهتون کمکی بکنه🙂
      در رابطه با سوالتون ، برای اینکه ما به تمام کاربران ربات پیامی ارسال یا فوروارد کنیم ، باید تمام چت آیدی هابی که رباتمون رو استارت کردن داشته باشیم . پس لازمه یک دیتابیسی رو ایجاد کنیم و داخل تابع مربوط به استارت ربات ، چت آیدی ها رو داخلش ذخیره کنیم
      بعد برای ارسال پیام ها با حلقه اطلاعات دیتابیس رو استخراج و طبق روال همیشه با دستور context.bot.send_message یا برای فوروارد از context.bot.forward_message استفاده میکنیم و به جای chat_id مقداری که حلقه در اون در حال حرکت هست (همون چت آیدی های داخل دیتابیس) رو قرار میدم
      برای اینکه مشکلی پیش نیاد در صورتی که کاربر ربات رو متوقف کرده باشه ، دستور ارسال پیام رو داخل یک try except بنویسید.
      اگر هم خواستید ربات رو داخل سرور اجرا کنید ، باید کنار فایل پایتونی که در سرور آپلود میشه فایل دیتا بیس هم موجود باشه
      موفق باشید 🌹

  11. حسن (خریدار محصول)

    این ادرسی که ما میدیم مختص سیستم خودمون هست اگر بخوایم توی سرور انلاین بارگذاری کنیم باید چطور ادرس دهی کنیم؟

    • امیرحسین علیجانی

      باید فایل در سرور یا هاستتون موجود باشه
      کنار فایل پایتونیتون که مشکلی از جهت آدرس دهی نداشته باشید

  12. حسن تنورساز (خریدار محصول)

    سلام مجدد استاد توی جلسه 13 یاد دادین که با زدن دکمه شیشه ای به سایت همرویش یا کانال وصل بشه اگر بخوایم مثل ربات های که مثلا فیلم و یا سریال برای ما ارسال میکنن چیکار باید کنیم؟
    فیلم یا سریال توی خود صفحه که بات هست ارسال میشه به صفحه دیگه انتقال پیدا نمیکنیم

    • امیرحسین علیجانی

      سلام ، برای ارسال فایل اول باید با دستور open فایل رو وارد کنید و بعد با متود send_document اقدام به ارسال کنید
      file = open(‘image1.png’, ‘rb’) context.bot.send_document(chat_id, file)

  13. حسن (خریدار محصول)

    بعد از عوض کردن 3 و4 تا وی پی ان مشکلم حل شد تشکر

  14. حسن (خریدار محصول)

    C:\python\python.exe “C:/Users/azarakhsh/Desktop/#وارد کردن کتابخانه تلگرام.py”
    Traceback (most recent call last):
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connection.py”, line 140, in _new_conn
    conn = connection.create_connection(
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\util\connection.py”, line 83, in create_connection
    raise err
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\util\connection.py”, line 73, in create_connection
    sock.connect(sa)
    socket.timeout: timed out

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 614, in urlopen
    httplib_response = self._make_request(conn, method, url,
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 360, in _make_request
    self._validate_conn(conn)
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 857, in _validate_conn
    super(HTTPSConnectionPool, self)._validate_conn(conn)
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 289, in _validate_conn
    conn.connect()
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connection.py”, line 284, in connect
    conn = self._new_conn()
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connection.py”, line 144, in _new_conn
    raise ConnectTimeoutError(
    telegram.vendor.ptb_urllib3.urllib3.exceptions.ConnectTimeoutError: (, ‘Connection to api.telegram.org timed out. (connect timeout=5.0)’)

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “C:\python\lib\site-packages\telegram\utils\request.py”, line 225, in _request_wrapper
    resp = self._con_pool.request(*args, **kwargs)
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\request.py”, line 64, in request
    return self.request_encode_url(method, url, fields=fields,
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\request.py”, line 87, in request_encode_url
    return self.urlopen(method, url, **extra_kw)
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\poolmanager.py”, line 244, in urlopen
    response = conn.urlopen(method, u.request_uri, **kw)
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 691, in urlopen
    return self.urlopen(method, url, body, headers, retries,
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 691, in urlopen
    return self.urlopen(method, url, body, headers, retries,
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 691, in urlopen
    return self.urlopen(method, url, body, headers, retries,
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\connectionpool.py”, line 665, in urlopen
    retries = retries.increment(method, url, error=e, _pool=self,
    File “C:\python\lib\site-packages\telegram\vendor\ptb_urllib3\urllib3\util\retry.py”, line 376, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
    telegram.vendor.ptb_urllib3.urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host=’api.telegram.org’, port=443): Max retries exceeded with url: /bot5312959268:AAECCyN3OkyvKZkcVIEtsh6LySHbm2W9Hgs+/getMe (Caused by ConnectTimeoutError(, ‘Connection to api.telegram.org timed out. (connect timeout=5.0)’))

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “C:/Users/azarakhsh/Desktop/#وارد کردن کتابخانه تلگرام.py”, line 23, in
    token.start_polling()
    File “C:\python\lib\site-packages\telegram\ext\updater.py”, line 258, in start_polling
    self.job_queue.start()
    File “C:\python\lib\site-packages\telegram\ext\jobqueue.py”, line 311, in start
    name=”Bot:{}:job_queue”.format(self._dispatcher.bot.id))
    File “C:\python\lib\site-packages\telegram\bot.py”, line 54, in decorator
    self.get_me()
    File “C:\python\lib\site-packages\decorator.py”, line 232, in fun
    return caller(func, *(extras + args), **kw)
    File “C:\python\lib\site-packages\telegram\bot.py”, line 67, in decorator
    result = func(*args, **kwargs)
    File “C:\python\lib\site-packages\telegram\bot.py”, line 251, in get_me
    result = self._request.get(url, timeout=timeout)
    File “C:\python\lib\site-packages\telegram\utils\request.py”, line 277, in get
    result = self._request_wrapper(‘GET’, url, **urlopen_kwargs)
    File “C:\python\lib\site-packages\telegram\utils\request.py”, line 231, in _request_wrapper
    raise NetworkError(‘urllib3 HTTPError {0}’.format(error))
    telegram.error.NetworkError: urllib3 HTTPError HTTPSConnectionPool(host=’api.telegram.org’, port=443): Max retries exceeded with url: /bot5312959268:AAECCyN3OkyvKZkcVIEtsh6LySHbm2W9Hgs+/getMe (Caused by ConnectTimeoutError(, ‘Connection to api.telegram.org timed out. (connect timeout=5.0)’))

    Process finished with exit code 1

    • امیرحسین علیجانی

      سلام دوست عزیز
      از ابتدا فکر میکردم این ارورتون باشه
      ( telegram.error.NetworkError: urllib3 HTTPError) نتوورک ارور ، فی.لتر شکنتون رو بررسی کنید
      پیشنهادی : protonvpn

  15. حسن (خریدار محصول)

    ارور بخش زیادی داره و قابل گپی کردن نیست

  16. حسن (خریدار محصول)

    سلام وقت بخیر من کد درس 4 با اصلاحیه که تو درس 5 گفتین میخوام اجرا کنم بهم ارور میده
    فک کردم کد خودم مشکل داره ولی کد که همراه پکیج هست و استاد نوشتن ران کردم با توکن بات خودم و دوباره همون ارور داد تو پای چارم و vscod امتحان کردم ممنون میشم راهنمایی کنید
    #وارد کردن کتابخانه تلگرام
    from telegram.ext import Updater,CommandHandler

    #اضافه کردن توکن بات از بات فادر
    token = Updater(‘5312959268:AAECCyN3OkyvKZkcVIEtsh6LySHbm2W9Hgs+’,use_context=True)

    #نوشتن توابع
    def start(update,context):
    context.bot.send_message(chat_id = update.message.chat_id,text = ‘ربات شرع به مار کرد’)
    def help(update,context):
    context.bot.send_message(chat_id = update.message.chat_id, text= ‘این دستور کمک است برای شروع کار بات از \start استفاده کنبد. ‘)
    def web (update,context):
    context.bot.send_message(chat_id = update.message.chat_id, text= ‘وبسایت گوگل https://www.google.com/?hl=fa \n ‘)

    #اجرا تابع
    token.dispatcher.add_handler(CommandHandler(‘start’, start))
    token.dispatcher.add_handler(CommandHandler(‘help’, help))
    token.dispatcher.add_handler(CommandHandler(‘web’, web))

    #برای اجرای بات
    token.start_polling()
    token.idle()

    • امیرحسین علیجانی

      سلام ، وقت بخیر
      متاسفانه کدی که کپی کردید به هم ریخته است
      لطفا ارور رو ارسال کنید!

  17. hsynywsfya@gmail.com (خریدار محصول)

    درود و خسته نباشید
    ببخشید برای اینکه ربات برای دریافت متن از کاربر صبر کنه تا کاربر متن را بفرسته باید چی کار کرد ؟
    و برای یادگیری بقیه متد ها چه سایتی رو پیشنهاد میدید؟

  18. فرشاد (خریدار محصول)

    سلام استاد.خسته نباشید.من توی سایتهای فریلنسری سفارش رباتهایی رو میبینم که خیلی پیچیده و چند کاربرده هستن و بیشترشون هم در مورد معامله ارزهای دیجیتال هستن.میخواستم بدونم ما برای طراحی چنین رباتهایی باید چه چیزهایی رو بلد باشیم و به چه سطحی از برنامه نویسی برسیم.با سپاس

    • مصطفی آصفی

      سلام به شما. با اجازه مدرس این دوره چون سوالتون کلی هست بنده هم نظرم رو می گم. شما برای ساخت ربات های فارکس و بورس در متاتریدر یا مفیدتریدر بهترین گزینه ای که دارید طی کردن مسیر پایین برای ورود به ساخت ربات با زبان ام کیو ال هست:
      آموزش مقدماتی MQL (+)
      آموزش پیشرفته MQL (+)
      آموزش MQL برای فارکس (+)

      برای ارزهای دیجیتال فریمورک یکپارچه ای نیست ولی مثلا میشه با همین MQL وب ریکوئست زد به API مجاز صرافی بایننس و داده ها رو گرفت و عملی رو انجام داد. یا میشه با پایتون هم ریکوئست زد.
      ضمنا جالب اینه که MQL می تونه با پایتون هم تعامل داشته باشه. برای اطلاع بیشتر می تونید پیج تخصصی هم رویش برای آموزش الگوتریدینگ (+) رو دنبال کنید.

  19. مهدی (خریدار محصول)

    سلام و عرض ادب
    من رباتم رو ساختم. ولی موضوعی که هست اینه که وقتی دو نفر همزمان با هم اونو استارت میکنن، قاطی میکنه.
    اطلاعات رو جابجا ذخیره میکنه،
    یا مثلا اگر نفر اول روی سوال سومه، وقتی نفر دوم استارت میزنه، سوال سومی که از نفر اول داره میپرسه رو برای نفر دوم هم میفرسته…!!!
    چیکار کنم ؟!!!!!!!!!!

  20. مهدی ظفری (خریدار محصول)

    سلام مجدد.
    من ربات رو نوشتم و توی اجراش مشکل خاصی ندارم.
    مونده دیباگ کردن.
    ولی به من گفتن از نظر امنیتی اصول رو رعایت کن.
    مثلا اسپمش نکنن یا فلادینگ روش نندازن یا توکنش رو از روش های مختلف پیدا نکنن.
    توی اینترنت من چیز خاصی در این باره پیدا نکردم.
    در این مورد ممکنه راهنمایی بفرمایید؟

    • مصطفی آصفی

      سلام به شما. توصیه می کنم راهکارهای عملی که در ربات instapy (+) استفاده شده رو بررسی کنید. این که مثلا تو کلاس‌ها چه ترفندهایی برای ارسال نظر و زمان بندی تصادفی ارسال کرده و … . ضمنا چون این ربات مبنای کارش شبیه آموزش ماست و البته با امکانات خیلی بیشتر، می تونید با کلون کردن همین مخزن هم کارتون رو پیش ببرید.

  21. مهدی ظفری (خریدار محصول)

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

    • امیرحسین علیجانی

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

  22. مهدی ظفری (خریدار محصول)

    سلام و عرض ادب
    من قبلا یه اموزش دیده بودم از این کتابخونه
    اونجا وقتی که میخواستیم توابع رو بصورت زنجیره وار بهم متصل کنیم برای تابع جز زنجره، یه متغیر توی ConersationHandler تعریف میکردیم و از تابع بالاتر به بعدی ریترن میکردیم.
    الان از روش شما من متوجه نشدم چطوری باید اینکارو انجام داد! سعی کردم دوتا رو باهم تلفیق کنم ولی کد بدون هیچ خطایی کلا اجرا نمیشه!
    Process finished with exit code 0

    مثلا من میخوام بعد از استارت و اینا، یه تابع وزن کاربر رو بگیره، بعد بره تابع بعدی قد رو بگیره و همینطوری تا در نهایت اطلاعات مد نظر رو دریافت کنه!
    چیکار باید بکنم؟!

    مورد بعدی اینکه اگه مثلا توی یه تابع چندتا سوال رو بخوام دونه دونه بپرسم و بعد از جواب دادن کاربر به اولی، سوال دوم پرسیده بشه چطوری باید عمل کنم؟
    چون من سوال اول رو میفرستم و متغیری هم برای پاسخ کاربر در نظر میگیرم ولی تابع سوالات که اجرا میشه همه ی سوالات رو باهم میپرسه!

    ممنونم از پاسخگویی شما

  23. مهدی (خریدار محصول)

    سلام وقت بخیر
    من میخواستم درگاه پرداخت رو به ربات متصل کنم و هرجا که گشتم و سرچ کردم نتونستم راه و حلی پیدا کنم , ممنون میشم راهنماییم کنید(ضمنا خود سرویس دهنده پرداخت هم برای پایتون فقط با کد جنگو گذاشته و نمیتونم تو ربات استفادش کنم)

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      متاسفانه به علت فیلترینگ تلگرام ، سایت های ارائه دهنده ی درگاه اجازه ارائه ی درگاه برای تلگرام رو ندارند
      مگر اینکه برای کار دیگه ای درگاه بگیرید و اینجا استفاده کنید

  24. ir1385li@gmail.com (خریدار محصول)

    با سلام
    تکه کد:
    کد مورد نظر در این لینک است

    ایندکس ها به درستی رعایت شده.

    خطایی که cmd میده بعد از ران کردن فایل :

    خطای مورد نظر در این لینک است

    مشکل چیه لطفا راهنمایی کنید.

    • امیرحسین علیجانی

      سلام وقت بخیر ، نتوورک ارور هست ؛ فیلتر شکن رو بررسی کنید
      از protonnvpn استفاده کنید

  25. ir1385li@gmail.com (خریدار محصول)

    سلام منم مشکل درس 4 و 5 رو دارم همه چیز طبق گفته های شماست و مشکلی از نظر فیلتر شکن نیست لطفا راهنمایی کنید

    • روابط عمومی هم رویش

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

  26. مهراد جزایری (خریدار محصول)

    برادر من. دیشب این آموزشو خریدم . به طور کامل از کار افتاده همی چیش آپدیت میخواد. لطفا مبلغ منو برگشت بزنید

    • روابط عمومی هم رویش

      با سلام. همراه گرامی، با توجه به اینکه سایر فراگیران این آموزش تاکنون گزارش مشابه شما به ما نکرده اند پیام شما برای مدرس دوره ارسال شده تا بررسی نمایند. مدرسین معمولا تا 72 ساعت پاسخگو خواهند بود.

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      خب این دوره طبیعتا در ۱ سال پیش ضبط شده و اپدیت هایی برای این ماژول ارائه شده اما در ابتدای دوره و در درس چهارم ما با سبکی از استایل کد اشنا شدیم که در همون زمان هم دچار وارنینگ میشد و اتفاقا مورد حدس بود که در اپدیت های بعدی این ماژول این استایل دچار تغیر بشه در نتیجه در قسمت بعد این درس یعنی درس پنجم ما از context استفاده کردیم که این شیوه هنوز کار میکنه و مشکلی نداره شما دوره رو ادامه بدید.
      موفق باشید.

  27. مهراد جزایری (خریدار محصول)

    سلام. تو درس چهار همون اولش که میخواین پیام سلام… واسه یوزر ها ارسال کنید ارور میده. تو کامنت ها گفتین مشکل از فیلتر شکن و درست نصب نشدنه ولی واسه من دوتاش اوکیه این ارور چیه که رفع نمیشه؟
    خودتون تست کنید درس چهارو ببینید اگه متدی عوض شده اطلاع بدین

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      درس پنج رو تماشا کنید و با اون استایل کد بنویسید.

  28. djspark051@gmail.com (خریدار محصول)

    سلام من ربات رو که ران میکنم یه لحظه صفحه cmd میاد و میره و اصلا چیزی اجرا نمیشه

    • امیرحسین علیجانی

      سلام اگر کدتون ایراد نداره مشکل از کانکشنه باید با فیلتر شکن ربات رو ران کنید
      proton vpn رو تست کردم جواب گو هست
      و برای بررسی ارور جای اینکه به طور مستقیم فایل پایتونی رو اجرا کنید ، در cmd دستور اجرای کد رو بنویسید تا در صورت ارور صفحه cmd بسته نشه و بتونید ارور رو مطالعه کنید .
      موفق باشید

  29. mostafa sabzi sarvestani (خریدار محصول)

    سلام
    وقت بخیر
    1- می خواستم رباتی بنویسم که آخرین اخباری که در کانال های خبری عمومی یا خصوصی منتشر می شوند را در لحظه درون کانال خودم منتشر کنم ضمنا لینک ها و هشتگ های مربوط به کانال مبدا رو حذف کنم یا تغییر بدهم.

    2- چطور می تونم وقتی به یک کانال خبری عمومی یا خصوصی خبر جدیدی اضافه شد با ارسال پیامک به شماره موبایل خودم مطلع شوم؟

    لطفا راهنمایی بفرمایید
    متشکرم

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      شما قادر هستید پیام های یک چنل رو فوروارد کنید اما حذف لینک و … با این ماژول و کلا ربات های api به سختی امکان پذیر هستش
      شما بهتره کلا سمت ربات های cli برید.

  30. میثم

    سلام این آموزش خوبه ولی بات تلگرام به دلیل فیلتر کار نمیکنه من خودم با پایتون نوشتم ولی موقع تست ربات کار نمیکنه نمیدونم چرا ؟

    import telebot

    bot_token = “ببخشید به دلیل حفظ حریم شخصی این قسمت رو برداشتم ”

    bot = telebot.TeleBot(token=bot_token,parse_mode=None)

    @bot.message_handler(commands=[‘start’])

    def send_welcome(message):

    bot.reply_to(message,”welcome”)

    bot.polling()

    • امیرحسین علیجانی

      سلام دوست عزیز
      شما انگار دوره رو تهیه نکردی
      در دوره اصلا ماژول telebot تدریس نشده !!!!!
      در ضمن برای مشکل فیلترینگ دو فیلتر شکنی که در اموزش گفته شد ممکنه حالا کمکی بهتون نکنه
      سرچ کنید راجب فیلتر شکن هایی که به خوبی این کارو براتون انجام میدن تستی که من انجام دادم proton VPN جوابگو هستش

  31. سعید (خریدار محصول)

    با سلام
    یک مشکلی دارم. در ادامه همون تمریناتی که در ویدیو بود من پرینت میگیرم : وقتی شخصی در داخل ربات دکمه استارت را میزند id منحصر بفرد دارد اما زمانیکه در گروه دکمه استارت را میزنند همه ی کاربران دارای یک id مشترک هستند . همینطوره یا من جایی اشتباهی نوشتم؟؟؟؟؟

    • امیرحسین علیجانی

      سلام و وقتتون بخیر
      ببخشید بابت تاخیر در پاسخگویی ، ببینید هر چتی در تلگرام یک ایدی داره بنابرین شما وقتی داخل گروه chat id رو پرینت میگیرید ، چیزی که به شما برگردونده میشه چت ایدی گروهه نه کاربر .

  32. سعید (خریدار محصول)

    تدریس و کیفیت محتوی و سرعت آموزش عالی بود
    توصیه میکنم یک دوره نوشتن کد برای گرفتن ممبر برای گروه و کانال ادد اجباری و مبصر گروه به عنوان ضمیمه ایجاد کنید علاقمندان جداگانه تهیه کنند

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      ممنون از نظر خوبتون
      اگر منظورتون رباتی مثل تبچی هست حقیقتا این ربات ها cli هستند اما اگر پروژه ی دیگری هست ممنون میشم بیشتر توضیح بدید.
      موفق باشید

  33. aminmaleki11.1385@gmail.com (خریدار محصول)

    سلام یک سوال داشتم برای اینکه یک شرط بزاریم که کاربر استفاده کننده از بات داخل یک کانال باشه چکار باید بکنیم ؟

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      بله ، اتفاقا یکی از فراگیران این سوال رو پرسیده بودند و پاسخ در کامنت ها بود اما چون مدت زیادی از این کامنت میگذره ، مجدد مراحل رو توضیح میدم :
      کافیه در تابع استارت ، کار هایی که قراره انجام بشه رو به این ترتیب محدود کنید:

      (a = context.bot.get_chat_member(chat_id=’@id_channel’ , user_id=update.message.chat_id
      :[‘if a.status in [‘left’ , ‘kicked
      اگر این شرط برقرار بود پیامی رو ارسال کنه که حاوی لینک چنل هست و :
      :else
      در غیر اینصورت کار هایی که مد نظرتون هست رو ربات انجام بده

      لازم به ذکره که رباتتون باید در کانالی که در نظر دارید، ادمین باشه

      این هم سورس کد کامل رباتی که این کار رو انجام میده :

      http://s10.picofile.com/d/8405351242/3b91827f-bbcf-4e5a-949b-46e8e2db7f4d/channel_manager.rar

  34. مهدی محبی (خریدار محصول)

    سلام وقت بخیر , میخواستم بدونم که اگه ما یک دکمه شیشه ای رو برای ربات تعریف کنیم و بعدش کاربر روی اون دکمه کلیک کرد براش یک دیالوگی نمایش بده باید چه کدی بنویسیم

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      در تابعی که با کلیک روی دکمه شیشه ای فراخوانی میشه بنویسید
      query.answer(text=’your text’, show_alert=True)
      باکسی نمایش داده میشه که حاوی پیام شماست .
      پیروز باشید

  35. سعید فراهانی (خریدار محصول)

    سلام استاد جان کد من run نمیشه صفحه سیاه میاد و سریع میره چند بار ماژول تلگرام رو نصب کردم هیچ کد پایتونی ران نمیشه در قسمت visual studio نوار آبی رنگ قسمت پایین که در فیلم هست برای من نوارش قرمز رنگ

    • امیرحسین علیجانی

      سلام و درود خدمت شما دوست عزیز
      شما اول باید از فیلتر شکنتون مطمئن بشید (هرفیلتر شکنی عمل نمیکنه پیشنهاد من هات اسپات هست )
      و دوم اینکه راجب vs code احتمالا اینترپرتر شناسایی نشده برای بررسی بیشتر به بنده ایمیل بزنید و از صفحه vs code یک اسکرین بفرستید تا مشکلتون رو حل کنم

      و برای اطمینان از نصب در کامند پرامت دستور
      pip list رو بزنید ، لیستی از ماژول های نصب شده به شما ارائه میشه ببینید در بین لیست python-telegram-bot وجود داره یا خیر

      اگر نبود :

      pip install python-telegram-bot
      pip install telegarm

  36. سعید فراهانی (خریدار محصول)

    استاد عزیز pip install python telegram _ bot رو نصب کردم بازم خطا میده اون visual studio code هم به نظرم مشکل داره اون نوار پایین نرم افزار برای شما آبی برای من قرمز شده چند بار کل مراحل رو رفتم بازم خطا دارم

  37. سعید فراهانی (خریدار محصول)

    no module named telegram سلام و خسته نباشی خدمت شما استاد گرامی درس چهار استارت ربات رو میزنم این خطا رو میده کلا هیچ پوشه پایتونی رو هم نشون نمیده the system cannot find the patch specific ممنون میشم راهنمایی کنید

    • امیرحسین علیجانی

      سلام ممنون وقت بخیر
      از نصب صحیح ماژول python telegram bot مطمئن بشید و مطمئن بشید در کنار فایل پایتونی که مینویسید فایلی با عنوان telegram.py ذخیره نشده باشه

  38. حسین (خریدار محصول)

    سلام امیر حسین
    من یه مشکلی موقع نصب pip داشتم
    اگه امکانش هست ایمیلتو چک کن برات اسکرین شات فرستادم
    درضمن اینم بگم فن بیانت واقعا عالیه خیلی واضح توضیح میدی

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      بله شما وارنینگی مبنی بر قدیمی بودن ورژن pip دریافت کردید که با دستور
      pip install –upgrade pip
      این وارنینگ رفع خواهد شد
      ممنون از شما 🌷🌷

  39. مهدی قائدرحمتی

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

    • امیرحسین علیجانی

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

  40. esi74karimi@gmail.com

    سلام امیر حسین جان آیا با خریداری این دوره میتونیم یه بات مدیریت گروه کامل بسازیم؟

    • امیرحسین علیجانی

      سلام روزتون بخیر
      توی این دوره شما یاد میگیرید که چطور منطق یک ربات رو تعریف کنید و به عنوان مینی پروژه یک ربات ضدلینک برای گروه نوشتیم
      در نتیجه اگر شما ایده ای داشته باشید میتونید پیاده سازیش کنید.

  41. S

    سلام، لطفاً ایمیلتون رو میدید آقای علیجانی، کار مهمیه.

    • امیرحسین علیجانی

      سلام
      ایمیل در تمامی قسمت های دوره از جمله دمو در اولین اسلاید موجود هست

      amirhoseinalijani83@gmail.com

  42. abbask63@gmail.com (خریدار محصول)

    من رو سرور اوبونتو خودم به مشکل خوردم از آلمان ، دسترسی بسته اس
    اومدم روی pythonanywhere این پیغام رو میده

    AttributeError: ‘Update’ object has no attribute ‘send_message

    • امیرحسین علیجانی

      سلام با بنده با ایمبل در تماس باشید
      نیاز به اسکرین از کد و روند کارتون دارم

  43. abbask63@gmail.com (خریدار محصول)

    سلام مجدد امیر حسین جان
    ممنون که انقد زود جواب میدی
    من یه ربات ساده رو اجرا کردم ولی اررور کانکشن میده ، سرور اوبونتو من تو آلمان هست

  44. abbask63@gmail.com (خریدار محصول)

    سلام وقت بخیر
    من با پایتون یه برنامه نوشتم و میخوام یه اسمی رو بدم به ربات تلگرام و اون پیغام رو بعلاوه یک متن کنه و بفرسته تو کانال تلگرام ، (ربات ادمین کانال تلگرام هست ، توی آموزشاتون این مورد هست ؟ در ضمن من تو سرور لینوکس این کار رو انجام دادم

    • امیرحسین علیجانی

      سلام ممنون وقت شما هم بخیر
      نکته قابل توجه اینه که شما با پایتون کار میکنید و به طور کلی برای قرار دادن یک مقدار در استرینگ از متود
      format
      استفاده میشه
      و اینکه برای ارسال پیام در چنل هم اید به جای چت ایدی کاربر ایدی چنلتون رو بدید

      context.bot.send_message(text=f’Hello{Ypur text} , chat_id=’@Your chanel id’)

      و اینکه در دوره ما با ویندوز کار کردیم ولی در اخر روی یک سرور رایگان لینوکسی
      (python anywhere)
      ربات رو اجرا کردیم

      پیچیدگی خاصی برای نصب این ماژول نیست و مراحل نصب به سادگی نصب این ماژول روی ویندوز هست.

      موفق باشید.

  45. مهدی محبی (خریدار محصول)

    سلام, ببخشید دوباره مزاحم میشم میخواستم بدونم اگه بخوایم برای هر کاربری که وارد ربات میشه یک لینک زیر مجموعه گیری ایجاد بشه چی کار باید کنیم ( طوری که هر کاربری ربات رو استارت کرد یک لینک مخصوص کاربر برای زیر مجموعه گیری ایجاد بشه و هرکسی هم که از طریق لینک وارد ربات بشه زیر مجموعه کاربر قبلی بشه)
    ممنون میشم راهنماییم کنید

    • امیرحسین علیجانی

      سلام و عرض ادب
      فرض کنید من در حال نوشتن یک ربات با یوزرنیم hamruyesh هستم
      وفرض کنیم مثلا برای ربات یه دکمه ای تحت عنوان “زیرمجموعه گیری” تعریف کردیم ؛ زمانیکه کاربر روی دکمه کلیک میکنه شما باید مسیجی براش ارسال کنید که حاوی لینک اختصاصی فرد هست و این لینک به این صورت تعریف میشه :

      https://t.me/hamruyeshbot?start=update.message.chat_id

      که در اون update.message.chat_id چت ایدی کاریری هست که با ربات کار میکنه

      حالا هر کسی روی این لینک کلیک کنه ، به ربات میره و گزینه استارت رو پایین ربات مشاهده میکنه
      با کلیک روی لینک هم ربات استارت میشه و هم اینکه ربات تلگرام برای توسعه دهنده مقدار جلوی start توی لینک بالا رو به شکل زیر میفرسته

      start chat id/

      حالا شمای توسعه دهنده راحت میتونید چت ایدی رو بدست بیارید و مثلا به فرد مورد نظر پیام بدید که یک زیرمجموعه اضافه شد و کار های دیگه ای انجام بدید .

      موفق باشید.

  46. m (خریدار محصول)

    سلام, خواستم بدونم اگه بخواییم ربات به یه پیام خاص پاسخ بده باید چه کدی بنویسیم
    برای مثال اینکه کاربر به ربات سلام داد ربات با حالت پاسخی پیام کاربر رو ریپلای کنه

    • امیرحسین علیجانی

      سلام
      شما دقت داشته باشید که با پایتون در حال کد نویسی هستید در نتیجه اصلا محدود به کلاس یا متود های یک کلاس نیستید. یعنی میتونید از ویژگی های پایتون بهره ببرید
      کافیه یک شرط برقرار کنید که اگر مسیج دریافتی از کاربر برابر یک استرینگ مثلا “سلام” بود ، ربات مسیج مد نظرتون رو ارسال کنه .

  47. مهدی محبی (خریدار محصول)

    سلام خواستم بدونم اگه بخوایم شماره تلفن کاربر رو از طرف ربات از کاربر بگیریم باید چه کدی بنویسیم
    مثلا روی یک دکمه ای کلیک کرد و شماره تلفن طرف برای ربات ارسال بشه
    ممنون میشم کمکم کنید

    • امیرحسین علیجانی

      سلام
      اول بیایم اطلاعات contact رو در متغیری به همین نام ذخیره کنیم و سپس میتونیم با استفاده از دستور بعدی که در متغیر phone ریختیم ، شماره کاربر رو دریافت کنیم.
      contact = update.effective_message.contact
      phone = contact.phone_number

  48. مجتبی مزروعی (خریدار محصول)

    سلام در برنامه چت اگر بخواهیم فایل-عکس-فیلم لوکیشن و …برای طرف مقابل ارسال کنیم باید چه کدی بنویسم–
    اگر بخواهیم بک متن به ربات مدیر فوروارد کنیم و ربات آن را برای طرف مقابل بفرستد چه کدی بنویسیم

    • امیرحسین علیجانی

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

      bot.forward_message
      chat_id =user_id,)
      from_chat_id = from_chat_id,
      [message_ids = [msg_id,
      (
      که در آن ، chat_id ، مربوط به چت ایدی ادمینه و from_chat_id مربوط به چت ایدی کاربر و message_ids هم آیدی پیامه .

      برای فیلتر هم از all استفاده کنید که همه نوع پیام رو شامل بشه .

      موفق باشید.

  49. mmdrezaii825401530@gmail.com (خریدار محصول)

    آموزش خیلی خوبی بود و ممنونم بابت آموزشتون، اما بنظرم باید توضیحات دوره رو آپدیت کنید و در اون بگید که از چه ورژن کتابخونه ای استفاده کردید چون همین موضوع یک روز کامل وقت منو گرفت و من هر جور امتحان میکردم ارور میگرفتم تا اومدم همه‌ی نظر های دوستان رو با دقت خوندم و در کامنتی نوشته شده بود که باید از پایتون تلگرام بات 12.4.0 استفاده کنیم و بعد از نصب نسخه ۱۲ همه‌ی ارور هام برطرف شد. از همینجا از دوستمون تشکر میکنم که رفع این مشگل رو با ما به اشتراک گذاشتند.

    • امیرحسین علیجانی

      سلام و وقتتون بخیر.
      ممنونم از ثبت نظرتون
      چشم ، این مورد رو بررسی میکنیم

      موفق باشید

    • امیرحسین علیجانی

      سلام مجدد و عرض تشکر بابت نظر مفیدتون
      فایلی با مضمون” رفع اشکال” در اختیار تمام فراگیران قرار داده شد که از این به بعد در صورت بروز مشکلات اینچنینی ، راه حل این خطا ها در این فایل قرار خواهد گرفت.

      سپاس فراوان از شما و تمام کسانی که با نظراتشون ما رو در امر تدریس یاری میکنند 🌷

  50. ilialashpv@gmail.com

    با سلام خدمت مدرس گرامی
    من یه سوال راجب این اموزش داشتم
    * اگه من این اموزش رو تهیه کنم ب سطحی میرسم که ربات های پیشرفته تبچی ، بنردهی ، ضدلینک مثل digianti ، و…. سورس نویسی کنم !؟

    • امیرحسین علیجانی

      سلام ، وقتتون بخیر.
      در رابطه با ربات تبچی ، شما باید نوشتن ربات های cli رو بلد باشید و مبحث این دوره ، ربات های api هست اما در طی دوره اموزش دادیم که چطور یک ربات ضدلینک بنویسید
      همچنین شما میتونید با استفاده از داکیومنتی که معرفی شد دانش خودتون رو افزایش بدید و ربات مدنظرتون رو پیشرفته تر کنید.

      موفق باشید.

  51. بهروز ب (خریدار محصول)

    سلام
    روز خوش
    آیا می توان در یک ربات تلگرامی یک منو آبشاری ایجاد کرد ؟
    ممنون

    • امیرحسین علیجانی

      سلام ممنونم، روز شما هم بخبر
      در ربات های تلگرامی ، روش ارتباط کاربر با ربات رو گفتیم که به طورکلی میشه به ارسال پیام از طرف کاربر ، ارسال کامند از طرف کاربر یا فراخوانی یک تابع به نوعی که برنامه نویس مشخص میکنه باشه مثلا استفاده از دکمه شیشه ای .منظورم به این هست که اپشنی با عنوان منوی ابشاری وجود نداره ولی با کمی خلاقیت میشه دکمه ها رو ترتیبی کرد و چیزی مانند منو رو برای کاربر تداعی ساخت .

  52. saniar.mf@gmail.com (خریدار محصول)

    با درود.
    بنده چندروز درگیر بودم با مشکل ارور و …متوجه شدم که آپدیت جدید کتابخانه کلا فرق کرده و دوستانی که میخوان از این آموزش استفاده کنند باید حتما ورژن 12.4 رو نصب کنن(pip install python-telegram-bot==12.4.0)

    • امیرحسین علیجانی

      سلام و درود بر شما دوست عزیز ؛ خیلی ممنونم ازتون که ما رو در امر تدریس یاری میکنید 🌷

  53. احمد عسگری (خریدار محصول)

    سلام مدام برای من این ارور را میدهد .
    در صورتی که از سورس کد من هیچ ایرادی نمی گیرد .
    **************************************************************************************************
    from telegram.ext import Updater, CommandHandler

    token = Updater(‘1150651018:AAHRwE12OyI2PP1h6ie5ytNEBvfV08YQi0U’)

    def start(bot, update):
    bot.send_message(text=’سلام به ربات هنرستان رسالت خوش آمدید’, chat_id=107186986)

    token.dispatcher.add_handler(CommandHandler(‘start’, start))

    token.start_polling()
    token.idle()

    **************************************************************************************************
    File “bot.py”, line 1, in
    from telegram.ext import Updater, CommandHandler
    File “E:\python\telegrambot\Telegrambot\lib\site-packages\telegram\ext\__init__.py”, line 21, in
    from .basepersistence import BasePersistence
    File “E:\python\telegrambot\Telegrambot\lib\site-packages\telegram\ext\basepersistence.py”, line 25, in
    from telegram import Bot
    ImportError: cannot import name ‘Bot’ from ‘telegram’ (E:\python\telegrambot\Telegrambot\lib\site-packages\telegram\__init__.py)

    • امیرحسین علیجانی

      سلام و عرض عذر بابت تاخیر در پاسخگویی
      اولا باید خدمتتون عرض کنم که با درج هر کامنت در همرویش برای مدرسین ایمیلی ارسال میشه تا مدرس رو از این کامنت مطلع کنه . متاسفانه این ایمیل برای من ارسال نشد و من متوجه کامنت شما نشدم تا اینکه مهندس آصفی بنده رو مطلع کردن. پس عذر میخوام ازتون بابت این تاخیر‌.

      و اما بعد ، اروری که دریافت میکنید مشخص میکنه ماژول به درستی نصب نشده پس شما یک بار دیگه روند نصب رو پیش ببرید و علاوه بر python_telegram_bot ماژول telegram رو هم نصب کنید. در ضمن تاکید میکنم جایی که سورس کدتون رو نوشتید هرگز فایلی با عنوان telegram.py ذخیره نکنید تا مفسر پایتون ماژول رو با فایل شما اشتباه نگیره
      اگر این کار ها رو کردید و باز هم درست نشد بهترین راه این هست که از vrtualenv استفاده کنید. برای این کار اولا

      pip install virtualenv
      با این دستور این ماژول رو نصب کنید و بعد با استفاده از این دستور در محیط کامند
      python -m virtualenv venvname
      که در اون venvname نام دلخواهی هست ، در مسیر کنونی یک محیط مجازی ایجاد کنید.

      حالا پوشه ای تحت عنوانی که انتخاب کردید ایجاد میشه که حاوی تعدادی فایل هست. توی cmd بنویسید
      venvname/Scripts/activate
      که در اون venvname نام همون پوشه یا همون نامی هست که برای محیط مجازیتون انتخاب کردید.
      بعد از این دستور شما وارد محیط مجازیتون شدید و حالا زمان اون رسیده که ماژول های مورد نظر یعنی python-telegram-bot و telegram رو نصب کنید. لازم به ذکره که این ماژول ها حالا توی این محیط نصب هستند و برای اجرای سورس کد باید از همین محیط اقدام به اجرا کنید . یعنی بعد از انجام این مراحل یک اتاقی برای شما ساخته میشه که داخلش ، لوازم مورد نیازتون قرار داده میشه و شما تا وارد این اتاق نشی نمیتونی از این ابزار استفاده کنی. پس بعد از اجرای activate که بالا دستورشو نوشتم شما وارد محیط شدی و حالا میتونی با دستور python test.py فایل پایتونیتون رو اجرا کنید.
      موفق باشید.

      باز هم اگر سوالی بود در خدمتم . بابت تاخیر عذر میخوام هیچ سوالی بی پاسخ نخواهد ماند.

  54. artanirandost (خریدار محصول)

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

    • امیرحسین علیجانی

      سلام
      خواهش میکنم
      منبع من بیشتر stack ovetflow , github و داکیومنت خود PTB هستش

      برای دریافت پروکسی هم با توجه به اینکه ممکنه الان یک سایتی پروکسی رو قرار بده و اون پروکسی حالا منقضی شده باشه و پروکسی جدیدی که ارائه میده ، درست کار نکنه ، نمیشه یک وبسایت رو برای دریافت پروکسی مشخص کرد و پیشنهاد میدم که از پروکسی ای استفاده کنید که فیلترشکنتون داره روی اون ایپی و پورت فعالیت میکنه
      البته لازم به ذکره که وقتی دارید از این پروکسی استفاده میکنید ، فیلتر شکن رو خاموش کنید تا ارور مشغول بودن پورت رو دریافت نکنید.

  55. محمد سجاد

    سلام
    webhook در این دوره تدریس شده است؟
    و اینکه یک سوال داشتم برای اجرای بات روی هاست باید حتما از webhook استفاده کنیم نمیشه از polling استفاده کرد؟

    • امیرحسین علیجانی

      سلام
      خیر ، webhook تدریس نشده و به طور معمول ربات با polling کار خواهد کرد
      البته اصلا کار مشکلی نیست شما وقتی پایه رو یاد بگیرید ، خیلی راحت با یک سرچ ساده در stack overflow میتونید روش کار با webhook رو یاد بگیرید

      در واقع فقط کافیه چند خط کوتاه که حاوی اطلاعات هاست هست رو به همراه اطلاعات دیگه ، به سورس کدتون بدید‌.

      با توجه به اینکه polling منتظر عملیات کاربر هستش و این انتظار نیازمند این هست تا سورس کد جایی ران باشه ، خیر نمیشه با polling در هاست کار کرد و باید از webhook استفاده کرد.

  56. artanirandost (خریدار محصول)

    سلام خسته نباشید
    یک سوال داشتم لطفا جواب دهید واقعا گیرم.
    بنده یک برنامه ایی نوشتم که روی سیستم خودم اجرا میشود و کار اون برنامه این هست که بیاد و اطلاعاتی از سیستمم مثل دمای cpu و.. در اختیار در تلگرام قرار دهد یعنی برایم بفرستد ، ولی تلگرام فیلتر است و من نمیتوانم هربار بیام و فیلترشکن روشن کنم !!!
    و اما سوالم این هست که چطور داخل کد کاری کنم که زمانی که کد خواست اجرا شود قبل ان پروکسی کل سیستم رو تغییر دهد مثلا به یک پروکسی که قبلا بهش دادم ممنون میشوم جواب دهید

    • امیرحسین علیجانی

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

      REQUEST_KWARGS={
      ‘proxy_url’: ‘لینک پروکسی به همراه پورت ‘,
      ‘urllib3_proxy_kwargs’: {
      ‘username’: ‘یوزرنیم’,
      ‘password’: ‘پسوورد’,
      }
      }
      حالا باید جایی که توکن رو معرفی میکردیم بعنی جایی که :

      token = Updater(‘token’ , use_context=True)

      رو نوشتیم باید یک ارگومان دیگه به اپدیتر پاس بدیم تحت عنوان :
      request_kwargs
      که برابر با مقدار متغیری هستش که تعریف کرده بودیم یعنی
      REQUEST_KWARGS

      پس کل کد این خطمون میشه

      token = Updater(‘token’ , use_context=True , request_kwargs=REQUEST_KWARGS)

      به همین راحتی این امکان برای شما بوجود میاد
      موفق باشید.

  57. basaeri@hotmail.com (خریدار محصول)

    سلام
    من عین کدهای درس 4 رو اجرا میکنم و خطای زیر رو میده .ضمنا هم python-telegram-bot و هم telegram رو نصب کردم
    Traceback (most recent call last):
    File “E:\پایتون\telgram\HB-TeleBotPython-04-StartCode\HB-TeleBotPython-04-StartCode\hamruyeshbot\hamruyeshbot.py”, line 1, in
    from telegram.ext import Updater , CommandHandler
    File “C:\Program Files (x86)\Python38-32\lib\site-packages\telegram\ext\__init__.py”, line 25, in
    from .callbackcontext import CallbackContext
    File “C:\Program Files (x86)\Python38-32\lib\site-packages\telegram\ext\callbackcontext.py”, line 21, in
    from telegram import Update
    ImportError: cannot import name ‘Update’ from ‘telegram’ (C:\Program Files (x86)\Python38-32\lib\site-packages\telegram\__init__.py)

    • امیرحسین علیجانی

      سلام
      مشکل از کد نیست بلکه از فیلترشکن هست.

  58. artanirandost (خریدار محصول)

    سلام یک اتاق مجازی ساختم حل شد و دیگر خطا نداد

    • امیرحسین علیجانی

      سلام
      خب ، خدا رو شکر
      به هر حال ماژول درست نصب نشده بود که حالا میفرمایید در محیط virtual درست نصب شده.
      موفق باشید.

  59. artanirandost (خریدار محصول)

    سلام من اولین کدها را نوشتم ولی به هر روشی که کد را اجرا میکنم ، خطا دریافت میکنم ! vpn هم دارم.
    لینک عکس که آپلود کردم
    http://s11.picofile.com/file/8406679750/Screenshot_265_.png

    • امیرحسین علیجانی

      سلام
      اینطور که در تصویر دبده میشه ماژول به درستی نصب نیست
      شما روی پایتون ۳.۷ امتحان کنید و علاوه بر نصب python telegram bot ،
      telegram هم نصب کنید.

  60. M (خریدار محصول)

    چشم استاد
    خیلی ممنون از نکته تون و راهنمایی هاتون
    سپاس فراوان

    • امیرحسین علیجانی

      خواهش میکنم وظیفه است 🌷🌹💐

  61. M (خریدار محصول)

    بله استاد
    ممنونم که راهنمایی می کنید
    میخواستم بپرسم
    طریقه ساخت و راه اندازی و چک کردن لینک های دعوت ربات ها به چه صورت هست؟
    تا اینجا اطلاع دارم که ربات ها که لینک دعوت اختصاصی برای هر کاربر درست میکنند مقدار چت آیدی هر کاربر رو قرار می دهند و لینک اختصاصی درست میکنند اما اطلاع ندارم که چطور چک میکنند که اگر فرد اول لینک دعوتش رو به فرد دیگری داد و فرد دوم وارد ربات شد به فرد اول امتیازی تعلق میگیره؟
    منظورم این هست که ربات ها چه چیزی رو چک میکنند؟
    چون زمانی که فرد دوم روی لینک کلیک میکنه فقط دستور start برای ربات فرستاده میشه و چیز دیگه ای ارسال نمیشه

    • امیرحسین علیجانی

      سلام
      وقت بخیر
      ببینید شما باید پروژه های مد نظرتون رو خودتون توسعه بدید
      و این به نفع شما نیست که سوالاتتون در مورد پروژه های مد نظرتون رو از من نوعی بپرسید چون اینطوری شما وابسته به مدرستون میشید و در واقع مدرس تبدیل به مربی میشه این باعث مشه اگر فردا روزی راهی برای ارتباط نبود شما از پس پروژتون برنیاید پس بهتره در مورد پروژه های دیگه از داکیومنت و سرچ استفاده کنید.
      موفق باشید.

  62. M (خریدار محصول)

    سلام استاد
    ممنونم از پاسخ های عالیتون
    آیا میشه ربات به درگاه پرداخت متصل بشه؟
    یعنی یک لینک پرداختی توسط ربات به کاربر ارسال بشه که
    تا زمانی که هزینه رو از طریق درگاه پرداخت واریز نکرده
    ربات دیگه خدمات رسانی نکنه و اگر پرداخت کرد ربات بصورت اتوماتیک به اون کاربر خدمات بده
    بدون اینکه متنی برای ربات ارسال بشه
    آیا امکانش هست؟ و آیا این روش ارتباطی با متدی به اسم (SuccessfulPayment ) که داخل کتابخانه هست داره؟
    ممنون میشم لطف کنید توضیح بدهید

    • امیرحسین علیجانی

      سلام
      خواهش میکنم ، نظر لطف شماست
      خوب شما اول باید لینک درگاه پرداختتون رو به یک روش در شرطی داخل تابع استارت برای کاربر ارسال کنید
      برای بیان شرط ، باید بگم که سایتی که از اون درگاه پرداختتون رو تهیه کردید ، API مخصوص به خودش رو داره و برای استفاده از اون حتما راهنماییتون کرده که چکار کنید
      باید از اون راهنمایی استفاده کنید تا بتونید این شرط رو برقرار کنید.
      حالا دیگه کار شما خیلی راحته
      همونطور که گفتم یک روشی برای ارسال لینک درگاه به کاربر رو انتخاب کنید مثلا با استفاده از دکمه شیشه ای میتونید این کار رو انجام بدید که توی دوره گفتیم چطور دکمه شیشه ای رو به لینک وصل کنید.

  63. M (خریدار محصول)

    سلام استاد
    ممنونم از لطفتون که پاسخ می دهید
    یک سوال داشتم
    آیا میشه داخل سورس ربات
    زمان بندی ارسال پیام کرد؟
    یعنی اینکه اگر کاربری امروز
    دکمه start رو زد چند فایل براش ارسال بشه و فردا هم چندفایل دیگه ارسال بشه واگر در همین حین اگر کاربر دیگه ای start زد دوباره چند فایل بفرسته و هر روز طبق فایل هایی که مشخص شده به کاربر در زمان تعیین شده بفرسته؟
    عذر میخوام که وقت تون رو میگیرم و مزاحمتون میشم

    • امیرحسین علیجانی

      سلام
      خواهش میکنم ، وظیفه است . ممنونم از سوالات خوبتون

      بنده به شخصه متودی برای این کار پیدا نکردم ولی میتونیم خودمون مشابه این کار رو انجام بدیم

      اگر بیایم در سطری از دیتابیس که چت ایدی ها رو ذخیره کردیم ستونی برای ذخیره ی تاریخ و ساعت قرار بدیم ، به طوریکه در این ستون با استفاده از ماژول datetime با توجه به نیاز ، ساعت یا روز ذخیره بشه ، و در تابع استارت گفته بشه که اگر به این تایم فلان مقدار مثلا یک روز یا یک ساعت اضافه شد ، پیامی رو ارسال کنه ، میشه این کار رو انجام داد. و راهنمایی میکنم بعد از اینکه داده های موجود در دیتابیس رو در کدتون خوندید بهتره که برای ارسال پیام بیاید از چت ایدی ای استفاده کنید که در دیتابیس ذخیره کردید و از update.message.chat_id استفاده نکنید تا باگی برای ارسال پیام به وجود نیاد.

      موفق باشید.

  64. M (خریدار محصول)

    بله استاد
    مقدار چت آیدی ها رو ذخیره میکنم
    اما اطلاع ندارم چطور میشه
    پیامی فرستاد بدون اینکه کاربران کامند یا مسیحی برای ربات بفرستند

    • امیرحسین علیجانی

      سلام
      ببخشید که کمی تاخیر در پاسخگویی وجود داشت.

      کافیه برای رباتتون ادمین تعریف کنید و در بخش ادمین دکمه شیشه ای رو با نام مثلا “ارسال همگانی” قرار بدید و در تابع این دکمه اینگونه بنویسید که در مقادیر ذخیره شده ی چت آیدی ها در دیتابیس حرکت کنه و پیام رو ارسال کنه (با استفاده از دستور for) و برای جلوگیری از باگ دستورات تابع رو در try , except قرار بدید.

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

      موفق باشید.

  65. M (خریدار محصول)

    سلام استاد
    وقتتون بخیر
    آیا امکانش هست که بشه یک پیام همگانی فرستاد به تمامی کاربرانی که قبلا دکمه start رو زدند؟
    یعنی پیامی مبنی بر اینکه اطلاع رسانی بروز رسانی ربات به تمام کاربران بدون زدن command یا message توسط کاربران
    یا پیام ارسالی از مدیر به تمامی کاربران

    • امیرحسین علیجانی

      سلام
      ممنون وقت شما هم بخیر
      میتونید در تابع استارت چت ایدی فردی که استارت زده رو در دیتابیس ذخیره کنید و بعدا بیاید با استفاده از این چت ایدی ها به کاربرانتون پیام ارسال کنید

  66. M (خریدار محصول)

    سلام استاد
    ممنونم از پشتیبانی تون
    دوره رو تهیه کردم بسیار عالیه

    • امیرحسین علیجانی

      سلام
      خواهش میکنم ، وظیفه است
      خوشحالم که براتون مفید بوده 🌷

  67. سهراب

    سلام مهندس بعد از تهیه پکیج آموزشی میتونیم سورس مون رو نامحدود رو سایت pythonanywhere
    آپلود کنیم ؟ امکان داره سورس ربات خاموش بشه یا کلا ربات همیشه روشن هست ؟

    • امیرحسین علیجانی

      سلام قربان
      وقتتون بخیر
      خیر ، امکان این که روی این وب سایت ربات دائم به صورت رایگان فعال باشه وجود نداره و این وبسایت تا چند روز بهتون خدمات رایگان ارائه میده و بعد برای استفاده از خدمات ، باید اشتراک خریداری کنید.
      اما با توجه به اینکه این وبسایت خارجی هست ، میتونید از سرویس های ایرانی برای خرید سرور اقدام کنید که زیاد قیمت بالایی نداره

      به عنوان مثال وبسایت پرشین گیگ که سروری با دیسک ۱۰ گیگابایت رو ماهیانه حدود ۱۴ هزار تومان ارائه میده

      موفق باشید.

  68. M

    سلام استاد
    حتما با تهیه آموزش متوجه منظورتون خواهم شد
    اما سوال دیگه ای که در مورد آموزش داشتم
    آیا داخل آموزش
    آموزش این که چطور ربات چک کنه که اگه کاربری عضو کانال مشخص شده نبود ربات بهش خدمات نده و اگر بود خدمات بده؟

    • امیرحسین علیجانی

      سلام مجدد
      کافیه در تابع استارت ، کار هایی که قراره انجام بشه رو به این ترتیب محدود کنید:

      (a = context.bot.get_chat_member(chat_id=’@id_channel’ , user_id=update.message.chat_id
      :[‘if a.status in [‘left’ , ‘kicked
      اگر این شرط برقرار بود پیامی رو ارسال کنه که حاوی لینک چنل هست و :
      :else
      در غیر اینصورت کار هایی که مد نظرتون هست رو ربات انجام بده

      لازم به ذکره که رباتتون باید در کانالی که در نظر دارید، ادمین باشه

      این هم سورس کد کامل رباتی که این کار رو انجام میده :

      http://s10.picofile.com/d/8405351242/3b91827f-bbcf-4e5a-949b-46e8e2db7f4d/channel_manager.rar

      بازم اگر سوالی بود در خدمتم

  69. M

    سلام استاد
    آیا تو آموزش
    آموزش ساختن کلید های شیشه ای چند مرحله هست؟
    یعنی این که اگر بر روی یک کلید شیشه ای کلیک کردیم چند کلید شیشه ای دیگه نمایش داده بشه و همینطور با کلیک رو هر کلید چند مورد دیگه نمایش داده بشه

    • امیرحسین علیجانی

      سلام
      وققتون بخیر

      سوال خیلی خوبیه ، توی این دوره اموزشی این مبحث وجود نداره ولی چون سوال خیلی خوبی هست ، همینجا توضیح میدم که چطور این کار رو انجام بدید

      خب شما در تابعی که قرار هست منطق دکمه شیشه ای اولیتون نوشته بشه باید بنویسید :

      query.edit_message_text

      که همونطور که در دوره گفته شد query برابر update.callback_query هستش

      این متود ارگومان هایی شبیه به متود ارسال مسیج به کاربر رو دریافت میکنه (send_message) با این تفاوت که نیازی به دادن ارگومان چت ایدی تیست .

      پس شما باید قبل از این کد ، دکمه هایی که در نظر دارید با کلیک روی دکمه ی اول نمایش داده بشه ، طراحی کنید و به متود query.edit_message_text ، ارگومان reply_markup=your key رو پاس بدید.

      احتمالا الان درست متوجه منظور بنده نشید ولی بعد از تهیه و تماشای دوره مطمئنا متوجه خواهید شد
      من اینجا لینک سورس کد یک ربات که این کار رو انجام میده قرار میدم تا بعد از تهیه ی دوره دوباره به این کامنت برگردید و سورس کد رو ببینید و بهتر متوجه عرایض بنده بشید :

      http://s10.picofile.com/d/8405324192/1e312455-830b-4830-beb4-e4c6dbffbda6/bot.rar

      اگر مجددا سوالی بود در خدمتم .

  70. mgh_655@yahoo.com

    سلام – من میخام اطلاعات رو از یه فایل تکست در هارد کامپیوتر به کانال تلگرامم بفرستم – و اینکار دایم انجام میشه – آیا با دیدن این آموزش امکان پذیره این عملیات؟

    • امیرحسین علیجانی

      سلام
      در این دوره به صورت پایه ای در مورد ساخت ربات تلگرام با پایتون صحبت شده و شما بعد از تهیه ی این دوره قادر خواهید بود تا ربات های متنوعی بنویسید و پروژه هایی که در نظر دارید رو طبق خلاقیتتون بنویسید.
      با این حال اگر اسکریپت رباتتون قراره روی یک سیستم در حال اجرا بمونه (سیستم لوکال) ، بله این امکان وجود داره که با استفاده از متود open در پایتون فایل تکست مورد نظرتون رو باز کنید ، بخونید و در متغیری ذخیره کرده و اون رو ارسال کنید
      اما اگر قرار ربات روی سرور اجرا بشه باید فایل تکستتون در سرور مجازی اپلود بشه و بعد فرایندی که برای سیستم لوکال گفتم ،انجام بشه .

  71. artanirandost

    سلام خسته نباشید
    استاد ، دانشجو در این 4 ساعت کامل به این کتابخانه مسلط میشود و یا اینکه باید آموزش های دیگری هم ببینیم ؟

    • امیرحسین علیجانی

      سلام
      وقتتون بخیر
      بله شما توی این دوره مهم ترین و پر کاربرد ترین دستورات رو یاد میگیرید و میتونید با خلاقیت خودتون ربات های پیشرفته ی دیگه ای رو بنویسید

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

      اما اصلی ترین و پر کاربرد ترین دستورات کامل توضیح داده شده

  72. پویا (خریدار محصول)

    واقعا عالی و بسیار کاربردی بود!
    و همچنین ممنون از پاسخ دهی خوبتون. بازم از این سبک آموزشا بذارید.
    یه سوال، تدریس برنامه نویسی پایتون هم دارید؟

    • روابط عمومی هم رویش

      با سلام و احترام. به دلیل نقصی که در سیستم ارسال نظر مدرسان ایجاد شده، مدرس دوره در این چند روز امکان ارسال پاسخ به شما را ندارند.
      ما به سرعت در حال رفع این نقص هستیم و به محض رفع مشکل مدرس پاسخ شما را اینجا ارسال خواهند کرد.

    • امیرحسین علیجانی

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

  73. Asomolani

    شما در تلگرام کانال هم دارید ؟اگر دارید ادرس کنال را بزارید

    • روابط عمومی هم رویش

      با سلام و احترام. به دلیل نقصی که در سیستم ارسال نظر مدرسان ایجاد شده، مدرس دوره در این چند روز امکان ارسال پاسخ به شما را ندارند.
      ما به سرعت در حال رفع این نقص هستیم و به محض رفع مشکل مدرس پاسخ شما را اینجا ارسال خواهند کرد.

    • امیرحسین علیجانی

      کانال همرویش :
      https://t.me/hamruyesh

  74. Asomolani

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

    • امیرحسین علیجانی

      سلام
      ممنون بابت نظرتون

      از لحاظ اینکه تبچی ها به گونه ای عمل میکنند که در گاهی اوقات بدون رضایت ادمین گروه ها تبلیغ مورد نظر ارسال میگردد ، گزینه ی خیلی مناسبی برای تدریس نیست .

  75. مصطفی آصفی

    بسیار عالی. بنده از کیفیت آموزش شما شگفت زده شدم.

    • امیرحسین علیجانی

      ممنونم
      نظر لطف شماست
      زنده باشید

دیدگاه خود را بنویسید