Menu

چگونه ربات برای تلگرام بنویسیم. ۱۳۹۴/۰۴/۲۲

telegram botFatherیکی از مسنجرهایی که عاشقشم تلگرام هستش . البته درصد دوست داشتن من بعد از مهاجرت ایرانی ها از وایبر یکمی کمتر شده ولی باز هرچی هم باشه بهترین مسنجر دنیاست .

تو این پست قصد دارم آموزش ساخت ربات برای تلگرام رو براتون به صورت مرحله به مرحله یاد بدم .

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

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

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

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

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

مرحله یک : ساخت بات و دریافت توکن اجازه دسترسی (authorization token)

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

یک : توی سایت در این لینک ثبت نام کنید و توکن دریافت کنید .

دو : با استفاده از یکی از ربات های خود تلگرام به اسم (botFather) توکن دریافت کنید .

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

۱-روی این لینک کلیک کنید :

https://telegram.me/botfather

۲-توی مسنجر خودتون این بات نمایش داده میشه . دکمه استارت رو بزنید و لیست کامندهای این بات براتون بیاد  .

لیست کامندها و توضیحات خیلی شفاف هستش

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

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

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

خیلی راحت میتونید postman رو وا کنید و رکویست هایی که میخواید رو بزنید . نحوه استفاده از توکن هم یکم متقاوت هست و  باید ساختار زیر رو برای همه درخواست هاتون باید رعایت کنید .

 

مثلا اگه بخواین اطلاعات رباتتون رو دریافت کنید به صورت زیر درخواست میفرستید.

مرحله دو : دریافت پیام ها

برای دریافت پیام ها در روش وجود داره :

یک : استفاده از متد

می تونید postman رو وا کنید و یه رکویست به این متد (getUpdates) بفرستید . مثل مثال زیر :

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

دو : استفاده از webhook

ویکی پدیا وب هوک رو اینجوری تعریف میکنه :

A webhook in web development is a method of augmenting or altering the behavior of a web page, or web application, with custom callbacks. These callbacks may be maintained, modified, and managed by third-party users and developers who may not necessarily be affiliated with the originating website or application. The term “webhook” was coined by Jeff Lindsay in 2007 from the computer programming termHook.[1]

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

بهتر و با مثال برای تلگرام بگم :

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

تلگرام برای اینکه داده ها امن باشه از شما میخواد که از https استفاده کنید و سخت ترین قسمت ماجرا اینجاست که برای یه ربات باید هزینه ssl هم بکنید ولی می تونید از ssl های رایگان استفاده کنید که به لطف کشور عزیزمون شرکت هایی که ssl رایگان میدند برای ایران بسته هستند ولی میتونید از cloudflare استفاده کنید که خیلی راحت هستش کافیه از dns manager کلاود فلیر استفاده کنید و با استفاده از اون بگید که میخوام رو این دامنه و یا زیر دامنه ssl ست باشه .

بعد از اینکه مطمین شدید ssl رو دامنتون فعال شد . میتونید یه رکویست به این متد (setWebhook) مثل مثال زیر بزنید :

اگه از وب هوک استفاده کنید دیگه متد (getUpdates) براتون غیر فعال میشه .

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

مرحله سوم : تعریف دستور

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

ولی یه گزینه تلگرام داره که شما با اون میتونید لیست دستور هایی که ربات شما بهش جواب میده رو مشخص کنید . دستورات رو میتونید با استفاده از botFather و با کامند /setcommands اضافه کنید .

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

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

مرحله چهارم : پردازش پیام و ارسال جواب

الان باید منطق برنامتون رو بنویسید .

یعنی با چه پیام و یا دستوری ربات شما باید چیکار کنه .

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

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

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

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

 

کافیه این کدها رو بسته به نیاز خودتون تغییر بدید .

اینم بات کوچیکی که نوشتم :

http://telegram.me/laraTalkBot

دیدگاه ها

    • سلام دوست عزیز چطور میتونم این کار رو انجام بدم؟
      یعنی آدرسم رو SSl کنم؟
      تو این سایت رفتم اما چیزی معلوم نیست
      توضیح لطف میفرمایید؟

      پاسخ دادن
      • کافیه از dns manager کلاود فلیر استفاده کنید و مثلا میخواید زیر دامنتون ssl داشته باشه یه زیر دامنه درست کنید و توی کلاود فلیر بزنید که روش ssl بزاره . البته از شرکت های دیگه ای هم میتونید ssl بگیرید .
        برای اطلاعات بشتر : در مورد dns و ssl و subdomain جستجو نمایید . مطمینم نتایج خوبی میگیرید .

        پاسخ دادن
        • نمیشه زیر دیپلمشو بگی؟
          من الان رفتم و ثبت نام کردم
          کجای آدرسم یا زیر مجموعمو SSl کنم؟
          منظورتون از زیر مجموعه چیه
          من الان تو این مرحله گیرم
          http://ikonkuri.ir/
          این آدرس سایتمه ینی اینو تبدیل میکنه به این:؟
          https://ikonkuri.ir/

          ی همچین چیزی بم میده :
          Status: Pending

          Please ensure your website is using the nameservers provided:
          jobs.ns.cloudflare.com
          wally.ns.cloudflare.com
          Allow up to 24 hours for this change to be processed. There will be no downtime when you switch your name servers. Traffic will gracefully roll from your old name servers to the new name servers without interruption. Your site will remain available throughout the switch
          الان این دی ان اسارو برم شرکتی که دامینمو ازش گرفتم ثبت کنم یا تو سی پنل میتونم ثبتش کنم؟
          لطفا راهنمائیم کنید

          پاسخ دادن
          • کافیه از dns manager کلاود فلیر استفاده کنید و مثلا میخواید زیر دامنتون ssl داشته باشه یه زیر دامنه درست کنید و توی کلاود فلیر بزنید که روش ssl بزاره . البته از شرکت های دیگه ای هم میتونید ssl بگیرید .
            برای اطلاعات بشتر : در مورد dns و ssl و subdomain جستجو نمایید . مطمینم نتایج خوبی میگیرید .

          • آقا ناموسن بگو من چ کنم
            من اینارو کجا نصبش کنم؟بم این دی ان اس هارو میده
            خدا خیرت بده
            هر جا میزنم نمیشه
            Status: Pending

            Please ensure your website is using the nameservers provided:
            jobs.ns.cloudflare.com
            wally.ns.cloudflare.com
            Allow up to 24 hours for this change to be processed. There will be no downtime when you switch your name servers. Traffic will gracefully roll from your old name servers to the new name servers without interruption. Your site will remain available throughout the switch
            این دی ان اسارو جایی که دامینمو ثبت کردم میزنم ولی قبول نمیکنه

          • آقا حل شد رو دامنه .ir
            ssl ساپورت نمیکنه
            فقط نمیدونم چرا این ارور میده

            ۴۰۳ Forbidden

            nginx/1.9.1

          • امیر آقا
            شما ک اصن ج نمیدی
            لاقل بگو این ارورو چطور رفعش کنم
            {“ok”:true,”result”:true,”description”:”Webhook was set”}

    • این کد آخر همون وب هوک ماست . یعنی پیام ها به اون ارسال میشه . اینو تو سرور قرار میدیم و تو setWebhook به دامنه خودمون آدرس میدیم .
      کد رو بخونی معلومه somRandomToken نوشتم . یعنی توکن رو باید اینجا بزاری .

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

        پاسخ دادن
  1. سلام
    ای کاش کد آماده یک ربات خبرخوان همراه با ربات خبر رسان با کامنت های دستوری را به صورت یک پکیج php در سایت قرار می دادید.

    مثلا وقتی اعضا /rule را تایپ کنند یک پیام شامل قوانین در گروه ها ارسال بشه براشون
    همچنین ربات rss را بخونه و هر وقت پست جدیدی ارسال شد در گروه ها ارسال کنه

    تورو قرآن اینو بنویس و توی سایت قرار بده تا یک هفته برات شبی ۱۰۰ تا صلوات میفرستیم. برای خودت و خانوادت

    پاسخ دادن
  2. سلام، من تا حدودی با api تلگرام کار کردم اما یه مشکل دارم و اینکه چه جوری میشه یک پیغام را به ربات داد که به همه اعضاء بفرسته؟
    من فقط می تونم ID_user رو بدهم و فقط به یک کاربر پیغام رو میفرسته ؟
    /sendMessage

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

      پاسخ دادن
      • خوب مشکل من هم همینه، پیغام رو هر کی میفرسته میره به اون. من می خواهم پیغامی که میفرستم به تمام اعضاء ارسال بشه.
        ID بوت رو هم که به جای چت آیدی میفرستم قبول نمیکنه.
        یا باید پیغام مد نظر من با وارد کردن آیدی بوت به هه اعضاء ارسال بشه یا باید دستوری باشه که آیدی چت تک تک اعضا رو به من نشون بده و من در یه حلقه به تمام اعضا بفرستم.

        پاسخ دادن
        • باید تنظیم کنید هر کسی که /start رو میزنه ای دیش رو به حافظه sql ذخیره کنه.
          شما ای دی های داخل جدول ممبر رو میگیرین،بعد به تک تک اون ای دی ها یه پیام رو ارسال کنید.
          بعد یه کمند دیگه تعریف کنید /stop هر کی روش بزنه php اونو از جدول sql حذف میکنه پس دیگه ای دیش تو sql نیست و براش پیاما ارسال نمیشه.

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

    https://api.telegram.org/bot121278***********************/sendMessage

    جوابی که میده :

    {“ok”:false,”error_code”:400,”description”:”Error: Bad Request: text is empty”}

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

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

      پاسخ دادن
      • الان یکسری روبوت ها این قابلیت رو دارن، همون /start که برای فعالسازی روبات استفاده میشه به عنوان شروع چت هست به عبارتی هر کاربری که عضو ربات میشه chat_id میگیره، احتمالا از طریق یه حلقه به تمام اعضا ارسال میشه ولی فکر میکنم راه ساده تری وجود داشته باشه

        پاسخ دادن
      • شرکت خدمات دهنده ای چون zapier.com با گرفتن توکن و نام بوت هر ثانیه مطالبی که شما تعیین می کنید که ممکنه اخبار سایت و یا پست های فیسبوک باشه رو اتوماتیک به تمام اعضاء بوت میفرسته.
        اگر احتمال request و responsive در بوت ها مقرر باشد شرکت فوق چگونه می تواند در آن لحظه مطلب را به تما اعضاء ارسال کنه؟
        امیر جان نظرتون چیست؟

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

          پاسخ دادن
          • حالا اگه طرف با ربات ما ارتباط برقرار کنه و stsrt کنه و یک chat_id ایجاد بشه…بعد چتی رو که با ربات شروع کرده به طور کامل پاک کنه آیا chat_id به طور کامل از بین میره؟ و دیگه معتبر نیست و یا ما باز عم میتونیم با همون chat_id باهاش ارتباط برقرار کنیم؟ یا اگه بعد طرف بیاد یه چت دیگه با ربات ما باز کنه آیا chat_id عوض میشه؟ ممنون میشم توضیح بدید

          • شایان جان من تجربه زیادی نداشتم ولی احتمال میدم chat_id عوض نشه و بشه برای همیشه به اون پیغام داد .

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

    start playing music
    (حالا با فرمت استاندارد خود تلگرام یعنی یه / چسبیده به start ) ، و بعد از دریافت این متن یه پیام بده و یا مثلا با دریافت

    start playing movie
    یک کار دیگه.
    میخواستم ببینم این عملیات رو چطوری میشه پیاده سازی کرد؟

    پاسخ دادن
    • تو تلگرام یه privacy داره میتونی بگی همه پیام ها توی گروه بیاد یا بگی فقط اونایی که منو منشن کردند بیاد یا فقط کامند ها .
      بعد راحت ترین روش اینه یه switch بزاری و اگه این کامند بود این کارو بکن این متن بود اینکارو بکن و الی آخر …
      توی مثال کدی که گزاشتم خط نه و ده من دارم به یه کامند جواب میدم و یه if گزاشتم که اگه به غیر از این کامند فرستادن هیچ کاری نکن .
      جوابهایی که میدی همش مربوط به متن و پردازش متن میشه .

      پاسخ دادن
  5. salam
    agha man gij shodam…
    alan bekham modiriat konam robato baiad chi kar konam
    kar ba post man ke kheili ebtedaiie man mikham code bedam be robatam baiad che kari anjam bedam
    ham host daram ham domin … webhook ham tanzim mikonam vali etefaghe khasi nemiofte
    har dastoori ham bara robat mifrestam javab nemide
    hatta too bobfather ham setcommand mikonam va minevisam barash vali dar moghabele oonha hich aksolamali nadare…
    toro khoda vazeh rahnamaii konid
    alan man in 1 safhe kodi ke oonja neveshtid be kojash bedam be gheir az method ha

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

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

    پاسخ دادن
    • توی متن لینک کلادفلیر رو گذاشتم . میتونید ثبت نام کنید یه ویدوی آموزشی داره اولش اونو نیگا کنید و انجام بدید .

      پاسخ دادن
    • حسن جان اینو نوشتم کافی نیستش ؟
      کافیه توی body مقدار url خودتون که اپتون اونجاست ست کنید . برای حذف وب هوک هم کافیه به همین متد مقدار url رو خالی بزارید و رکوستتون رو ارسال کنید .
      اگه نیست اینی هم که میگی اضافه کنم .

      پاسخ دادن
      • این لینکی که دادم با یه پارامتر url میشه ای پی آی تلگرام رو هیت کرد و وبهوک رو ست کرد . بعد از bot باس توکن مینوشتن که کامنت وبلاگت حذف کرد چیزی که نوشتم رو
        بعد یه چیزی از heroku هم میتونن اچ تی تی پی اس بگیرن 🙂

        پاسخ دادن
  7. سلام مرسی از آموزش خوبتون.
    من این قسمت رو متوجه نشدم :

    https://api.telegram.org/bot104125181:AAHJEMSvcBovhBkVPqaqldNi36SnK9OyhaM/setWebhook#sthash.ZRzR8XfG.dpuf

    کافیه توی body مقدار url خودتون که اپتون اونجاست ست کنید .

    آدرس url ی که باید ورودی های کاربران به اون ارسال بشه رو کجا باید تنظیم کنم؟

    مرسی

    پاسخ دادن
  8. بسیار جامع بود . جامع ترین توضیحات در سایت های فارسی.
    بچه ها ولی من یک مشکلی خوردم شدیدن درگیرم کرده.
    اون هم استفاده از Webhook و بحت https و SSL و ….
    که البته تو متن هم به مشکلاتش اشاره شده و پاسخی هم داده شده. البته یاشار هم بالا گفته:
    یاشار
    سایت https://www.startssl.com یکساله SSL رایگان کلاس ۱ میده از اون هم میتونین استفاده کنین
    ولی هیچ کدوم نه cloudflare نه سایت های مثل startssl
    برای من جواب نمیده.
    خطای مرورگرم :
    (Error code: ssl_error_internal_error_alert)
    تقریبن دارم بیخیال webhook میشم و میخوام از api getUpdate استفاده کنم. اگر کسی صفر تا صد webhook رو بلده کمک کنه.
    پ ن :
    در راستای نصب ssl:
    – به سایت پشتیبان تیکت زدم و دسترسی SSL برام ایجاد شد.
    – آی پی اختصاصی گرفتم.
    – پنل directadmin

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

    پاسخ دادن
  10. از نحوه ارسال پیام با استفاده از api معمولی تلگرام (نه Api مربوط به bot) اطلاعی ندارید؟
    ایا مثل همین url ای که واسه ارسال پیام توسط بات استفاده میشه فقط به جای bot token از hash coed ای که تلگرام داده استفاده میشه ؟؟

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

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

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

    لطفا یک جا اپلود کنید

    پاسخ دادن
  12. آیا راه دیگه ای بجز استفاده از ربات botfather برای ساختن ربات وجود داره؟ میشه رباتی ساخت که نیاز به عبارت ‘bot’ در آخر اسمش نداشته باشه

    پاسخ دادن
    • خواهش میکنم .
      شما /setcommands رو تو botFather بزنید و لیست کامندهاتون رو بفرستید . مثلا قبلا سه تا بود . الان دوتا بفرستین rewrite میشه . یعنی قبلی ها حذف و جدید ها جایگزین میشه .

      پاسخ دادن
  13. سلام من روی سرور اشتراکی هاست و دامنه گرفتم SSL هم خریدم !
    همه چیز اوکی به نظر می رسه webhook رو هم ست کردم باز به نظر اوکی می رسه اما وقتی به روبات مسیج می دم هیچ POST ریکوئستی برای سرور نمی آد ( توی لاگ ها هیچی نیست) البته وقتی خودم POST می فرستم به آدرس مورد نظرم هم توی لاگ درست دریافت میشه هم بات کار می کنه

    اگر کمک کنید که چه مشکلی ممکنه باشه ممنون می شم

    پاسخ دادن
    • منم اولش اینجوری بودم و هیچ چی تو لاگ ذخیره نمیشد . آخرش همه رکویست از هر نوعی رو توی یه فایل لاگ کردم و فهمیدم file_get_contents(‘php://input’) پیام هایی که از طرف تلگرام میاد رو دریافت میکنه .

      پاسخ دادن
      • خیلی ممنون بابت راهنمایی اون مشکل حل شد ( ظاهرن شرکت SSL رو مشکل دار نصب کرده بود ) خلاصه درست شد پیام های تلگرام میاد اما یه مشکل جدید پیش اومد اونم اینه که تلگرام دست از سرم بر نمیداره یه پست ریکوست رو چندین هزار بار می فرسته لاگ رو که نگاه کردم سرور جواب ریکوئست رو ۵۰۰ میدهو احتمالا تلگرام فکر میکنه مشکل پیش اومده مکررا می فرسته همون ریکوئست رو چه باید بکنم به نظر شما ؟

        پاسخ دادن
  14. سلام استاد شما رباتتون رو با telegram-bot-sdk نوشتید؟
    یعنی با فریم ورک لاراول درست کردید؟
    یه سوال دیگه
    می شه بگید چجوری باید لینک Https برای هوک هامون درست کنیم؟

    پاسخ دادن
  15. سلام ممنون از اطلاعات خوبی که به اشتراک گذاشتین من یه سوال داشتم منظورتون از postma رو وا میکنیم رو دقیقا متوجه نشدم اگه میشه در این مورد راهنمایی کنیم ممنون میشم.

    پاسخ دادن
    • postman رو لینک کردم به سایتش . میتونید کلیک کنید و به سایتش مراجعه نمایید و نصبش کنید . یه افزونه برای کروم هست که میتونید برای کار با API از اون استفاده نمایید .

      پاسخ دادن
  16. راستش پیشنهاد و البته تقاضای بنده اینه که یه ربات مثال بزنید و مراحل درست کردنشو از صفر تا صد تصویری بذارید تو سایت…چون بعضیها مثل من تو لابلای تو ضیحات سردرگم میشن…ممنون از پاسختون

    پاسخ دادن
  17. آقا دم شما گرم بابت آموزش فوق العادتون….فقط میشه لطفا یه هاست یا سرور معرفی کنید که هم امکان ssh داشته باشه برای نصب composer و هم سی پنل داشته باشه.. و ssl هم بشه روش نصب کرد…هرچی گشتم چیزی پیدا نکردم بنده…یا سروری که خودتون استفاده میکنید معرفی کنید…ممنون

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

      پاسخ دادن
        • آقا راه دیگه ای وجو داره که بدون استفاده از composer بتونیم از telegram api php استفاده کنیم؟ مثلا از همون پکیج zelenin??? به صورت دستی کدوم فایل رو باید در روت سرور قرار بدیم؟
          بازم ممنون از صبر حوصلتون در پاسخگویی….

          پاسخ دادن
          • چرا با curlphp یا پکیج guzzle . ولی اگه میخواید روی هاست باشه . روی لوکال composer رو نصب کنید و پوشه vendor رو هم آپلود کنید روی سرور.

    • سلام برای هاست ssl دار رایگان:
      freesubdomain.org
      هاستی که بهتون میده اس اس ال داره و نیازی به خرید اس اس ال و کلادفلیر و اینها ندارید. استفاده کنید و اطلاع رسانی کنید تا سایرین هم استفاده کنند. هست شما نهایتا به این صورته:
      https://mysite.freesubdomain.org
      موفق باشید

      پاسخ دادن
  18. با سلام
    من قصد دارم یه ربات بسازم که ارسال فایل و متن انجام بده و مظالب سایتم رو نیز ارسال کنه
    چند روزی هست که دارم مطالعه می کنم اما چیزی دستگیرم نشده!
    میخوام بدونم اصلا webhook چی هست و چه می کنه؟!
    ارتباط به سرور یعنی همون اتصال به هاست؟ این اتصال چجوریه دقیقا؟! یعنی ربات چجوری به سرور وصل میشه و از چی میخونه دستورات رو مثلا همون ارسال فایل و متن و مطالب سایت؟!!!
    در ضمن متاسفانه دانش برنامه نویسیم زیاد نیست ولی کمی بلدم و میتونم دست کاری کنم کد ها رو!
    خواهشا اگه میشه یکی از بزرگواران مرحله به مرحله یک مثال بزنه
    هاست هم دارم و ربات هم ساختم و کد token هم دارم!

    پاسخ دادن
        • سلام دوست عزیز
          منم دقیقا مشکل شمارو دارم . اگر مشکلتون حل شده میشه منم راهنماییم کنید؟ منم متوجه نشدم چجوری رباتی که ساختم رو به سرور وصل کنم؟!!
          ممنون

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

    راستش من asp کار کردم ,می خواهم برای پنل تبلیغات ربات بسازم.
    ممنون میشم راهنمای کنید. مرسی

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

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

    پاسخ دادن
  21. ربات mtn irancell از طرف یکی از اعضای گروهمون وارد گروه شده و پیام دریافت شارژ ۲۰ هزار تومنی میده . این بوت به سرعت داره توی گروه های دیگه پخش میشه . من مدیر گروه هستم ولی نتونستم از گروه خارجش کنم . لطفا دستور غیر فعال کردنش یا نحوه خارج کردن از گروه رو بهم بگید

    پاسخ دادن
  22. سلام.من میخوام توکن بگیرم از همین روباته.نام روباتمو وارد میکنم یوزرنیمشو میخواد وارد میکنم این پیامو میده ینی چی؟چیکارش کنم؟
    Sorry, this username is invalid.

    پاسخ دادن
  23. سلام
    توضیحاتتون عالی بود
    من الان یه ربات ساختم و عالی هم کار میکنه
    منتها
    مشکل من تو دو زمینه اس
    من میخوام مثل این ربات @gizmiz_bot
    بلافاصله که طرف استارت میزنه و عضو میشه یه پیام ثابت براش ارسال بشه
    مثلا خوش آمدید و اینا ( غیر از اون دیسکریپشنی که قبل از زدن استارت میبینه )

    ۲٫ مثلا من میخوام علاوه بر استارت و استوپ یه گزینه ی دیگه اضافه کنم بنام مثلا /info که طرف اونو میزنه به توضیحاتی از قبل ثبت کنم براش ارسال بشه بخونه

    ممنون میشم راهنمایی کنید

    پاسخ دادن
  24. سلام
    میخاستم بپرسم که برای راه اندازی بات حتما باید از زبان php استفاده بشه ؟
    من جاوا یکم بلدم . با همین کارم راه میفته یا حتما باید برم php بخونم
    بعد این پکیج هایی که گفتید مثل گازل و …. که ازشون استفاده میکنید دقیقا کارشون چیه ؟ و شما کجای کداشوند تغییر دادید تا شخصی سازیش کنید
    واقعا ممنون از سایتتون

    پاسخ دادن
  25. سلام وقتتون بخیر
    تشکر از اموزش خوبتون
    من یه ربات ساده ساختم بدون برنامه نویسی و این حرفا.با روشهایی که از یه سایت یاد گرفتم.
    فقط از بات فدر توکن گرفتم و توی پاکیوبات ادش کردم.بعد چندتا دستور براش با فرمان /commandadd نوشتم
    حالا همش کار میکنه مشکلی نیست.فقط من میخوام مثلا هربار که دستور /photo رو میزنن ربات یه عکس جدید به کاربر بده
    برای این کار یه بار این دستور رو دادم و یه عکس
    بار دوم همین دستور با یه عکس جدید
    ولی برای هر کدوم از کاربرام فقط یع عکس انتخاب و همون تکرار میشه.
    آیا راهی وجود داره که من بتونم مثلا ۲۰تا عکس رو اینجوری رندم به کاربرم بدم.البته بدون ثبت نام جایی؟
    /ایا حتما باید یه پایگاه داده روی یه سایت براش طراحی بشه؟
    و اینکه ایا راهی وجود داره که دیتابیس ما جایی غیر از یه سایت باشه؟مثلا هر متنی که به ربات میدیم برای خودش ذخیره کنه و بعدا ازش استفاده کنه
    ممنون میشم جواب بدین

    پاسخ دادن
  26. سلام
    من میخوام یه ربات بسازم سرساعت مثلا ۲۱ تو گروه متنی را بفرسته یه مختصر راهنمایی کنید از چه api استفاده کنم؟

    پاسخ دادن
  27. سلام امیر عزیز .. ممنونم برای توضیحاتیکه دادی . من برنامه نویسی بلد نیستم ولی یه روبات خودم با بات فادر ساختم.. چند تا مرحله کارشو انجام دادم .. الان اسم و عکس پروفایل و درباره ی روبات و مشخصاتش اکی شده .. من نمیدونم چیکار باید بکنم که یسری دستوراتیکه می خوام رو بهش بدم که بر اساس اونا برام کارهاییکه مد نظرم هست رو انجام بده … اگر لطف کنی با این شماره تماس بگیری من بهت میزنگم و تلفنی ازت راهنمایی می گیرم . دمت گرم منتظر تماست هستم ۰۹۱۲۰۸۴۳۶۶۴

    پاسخ دادن
  28. سلام

    من می خوام یه ربات تلگرام درست کنم که حدود ۵۰ تا فید بهش بدم خودش اتوماتیک فیدارو بیاره رو ربات

    از یه سایت به اسم Zapier هم استفاده کردم اما کلی محدودیت داشت

    پیشنهادتو جیه ؟

    پاسخ دادن
      • با سلام

        ممنون از پاسخ

        جدا از سرویس زاپیر اگه بخوام همون ۵۰ تا فید اتوماتیک بیان رو ربات از چی استفاده کنم و چطور می شه این کارو کرد ؟

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

          پاسخ دادن
  29. سلام
    من یک هاست
    یک دامنه .ir
    ویک ip اختصاصی برای دامنه م خریداری کردم
    اما الان اصلا نمیتونم ssl رایگان پیدا کنم
    comodo میزنه برای این دامنه اجازه داده نشده
    چیکار کنم ؟
    سایتی هست که به دامنه ها و آی پی های ایران SSl رایگان بده؟
    ممنون

    پاسخ دادن
    • من فعلا سرم خیلی شلوغه و نمی تونم کمکتون کنم . کامنتتونو پابلیش کردم تا شاید دوستانی که دیدند بتونند کمک کنند .

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

    پاسخ دادن
    • دوست عزیز من هر وقت پستی رو ترجمه میکنم کامل مینویسم که از کدوم سایت و کدوم منبع و چه جوری ترجمه کردم . میتونید توی هایو پست هایی که ترجمه کردم رو ببینید و بخونید و ببینید که منابع رو تمام و کمال آخر پست نوشتم :‌
      http://hive.ir/author/amirh/
      این پست هم برای کسانی هست که تا به حال برنامه نویسی کردند و میشه گفت تو برنامه نویسی حرفه ای هستند . و هدف این پست آموزش گام به گام نیست . هدف آشنایی با نحوه نوشتن ربات هست و کسی که برنامه نویس حرفه ای هست در یه بار خوندن این پست میتونه ربات بنویسه .

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

        پاسخ دادن
        • سلام
          مرسی از نظرتون . ولی همین جوری هم که من گفتم این پست برای کاربرانی هست که پیش فرضهایی رو میدونند و من یه سرنخ دادم که برند دنبال ssl یا … . ولی درست میفرمایید اگه عموم جامعه رو در نظر داشتم باید همین طور که شما میفرمایید مینوشتم.

          پاسخ دادن
  31. سلام خسته نباشید . من میتونم برای رباتم دستور درست کنم و جواب هم تعریف کنم با استفاده از … commands add/ . اما میخوام که توی گروه هم بتونم به رباتم دستور بدم و اون جواب بده .

    پاسخ دادن
  32. سلام
    آقا میبخشید انقدر سوالم آماتوریه D:
    من میخواستم یه دستور که وارد کردم روبات یه بخشی از سایت رو کپی کنه بذاره تو گروه… مثلا تعداد آنلاینها…
    یه راهنمایی میکنینی چطور ممکنه؟
    ممنون

    پاسخ دادن
    • خب برای اینکار یه کرولر (crawler) باید بنویسید . این رو توی گوگل سرچ کنید به نتایج و مثالهای خوبی میرسید .
      how to write crawler in php

      پاسخ دادن
  33. سلام
    ممنون از پست کاملتون.
    یک سوال داشتم من وقتی کد رو روی هاست می خوام اجرا کنم ازم خطا می گیره که متغیر $update را نمی شناسه.
    این متغیر چه جوری می شه مقدار داد؟
    لطفا راهنمایی فرمایید.

    پاسخ دادن
  34. سلام. آقا ممنون، دستت درد نکنه. من یه vps دارم و یه آی پی هم براش دارم و یه وب سرور که ssl هم دارم روش. میخواستم ببینم بدون اینکه دامنه ای روش داشته باشم، میتونم از طریق آی پی استفاده کنم برای ربات تلگرام یا نه حتما باید یه دامنه اختصاص پیدا کرده باشه براش؟
    سوال بعدیم اینه که من vps ام ویندوزیه و روش xampp زدم و https رو روش راه انداختم و برای دیدنش با وب، نیاز به تایید certificate داره. این برای ربات تلگرام موقع جواب دادن، مشکلی پیدا میکنه یا نه؟ مرسی.

    پاسخ دادن
  35. سلام من میخوام یه ربات بنویسم میشه منو راهنمایی کنید.به ایمیلم جواب بدهید ممنون.
    کدهای php رو کجا بنویسم؟

    پاسخ دادن
  36. با سلام
    دوستان اینجا کسی ربات با سی شارپ ساخته تاحالا ؟
    من یکی میخوام بسازم ، سورس رو هم از بخشی که سایت تلگرام معرفی کرده بود دانلود کردم و api خودم رو رو سورس تنظیم کردم ولی وقتی کامپایل رو میزنم ۸۵ تا خطا میاره ، عمده خطا ها هم خطا های سینتکسی هستند یعنی یک سورس سینتکس اشتباه داره !!
    مثلا داخل کلاس Api.cs یه همچین کد هایی وجود داره :
    public static ChatAction Typing => new ChatAction(“typing”);
    کسی میدونه چیکار باید کرد ؟

    پاسخ دادن
  37. Salam
    Mamnun az matlabetoon
    ۱٫in site k vase ssl farmudin bishtare domain haye free ro ghabool nemikone
    mishe ye site free vase host asp moarefi konid k in site domainesho vase ssl ghabool kone

    پاسخ دادن
  38. سلام یک سوال داشتم از خدمتتون یاهوپایپ قبل از خاتمه کارش به مشترکان خروجی rssمی داد اما حالا که بسته شد حروجی jsonداد ایا راهی هست که خروجی jsonبه rssتبدیل کرد البته ساده ورایگان باشه متشکر

    پاسخ دادن
  39. سلام
    بابا یه تماس با مایی برا خودت بذار مرد حسابی.
    شاید خواستیم بهت بات بدیم بنویسی 🙂
    @Drreza123

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

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

    پاسخ دادن
  42. سلام داداش ،
    من یه مشکل اساسی دارم . اونم اینه که نمیتونم webhook و ست کنم . پس در کل نمیتونم به مراحل بعدی برم.
    لطفا کمکم کن . خیلی ممنون میشم

    پاسخ دادن
  43. سلام
    من رفتم به سایت cloudflare و تمام مراحل که گفته بود رو انجام دادم و DNS هام رو هم ویرایش کردم و الان وضعیت به حالت Active در اومده (یعنی cloudflare دی اِن اِس ها رو شناخته) و سایت هم بالا میاد

    بعد در سایت cloudflare رفتم به قسمت crypto و در قسمت SSL (with SPDY) روی گزینه ی Flexible انتخاب شده و بصورت سبز رنگ نوشته که Active Certivicate …

    پس تا الان باید همه چی اوکی باشه.

    ولی خب همچنان سایتم بصورت https کار نمیکنه

    مشکل چیه دوستان ؟

    پاسخ دادن
    • اقا مُردم، پوکیدم
      چقد تست کنم آخه

      من یه دامنه دارم و رفتم از طریق همین سایت cloudflare بهش SSL وصل کردم

      الان دامین بصورت https://asadi.biz در دسترس هستش و هیچ مشکلی نداره.

      خو الان من از طریق لینک زیر آدرس وب سایم رو به تلگرام فهمونمدش:

      https://api.telegram.org/bot12967032…iz/bot/bot.php

      و نوشت : description: “Webhook was set”

      انگارآ همه چی اوکی هستش…

      خوب الان من در همین فایل bot.php کد زیر رو قرار دادم که وقتی اجرا شد، یه مقداری رو داخل یک فایل تِکست میریزه (جهت مطمئن بودن از وصل بودن تلگرام به آدرس وب سایتم)

      کد:
      کد:
      $ip = “1”. “\n”;

      file_put_contents(“num.txt”, $ip, FILE_APPEND);
      ولی هــــیچ مقداری داخل فایل num.txt ذخیره نمیشه

      این یعنی هیچ درخواستی به همین آدرس ارسال نمیشه…

      در صورتی که اگه شما فقط آدرس https://asadi.biz/bot/bot.php رو بزنید، یک متن داخل همین فایل num.txt ذخیره میشه

      مشکل چیه

      خدااااااا

      پاسخ دادن
  44. سلام

    من یه ربات ساختم یه سری امکانات هم بهش اضافه کردم
    الان میخوام متصلش کنم به Rss سایتم که به محض آپدیت شدن سایت
    مطلب یا قسمتی از اون به ربات ارسال بشه

    میشه راهنماییی کنید که باید چه کرد ؟

    پاسخ دادن
    • خب برای اینکار دو سه تا کار میتونید انجام بدید.
      یکیش اینه که یه یه cron ران کنید که هر ده دقیقه rss سایتتون رو چک کنه و اگه تغییری بود شروع کنه و به ربات ارسال کنه .

      راه حل دوم : تو سایتتون یه کدی بنویسید و وقتی مثلا پستی اضافه کردید یه رکویست به API که برای رباتتون نوشتید بزنید و پست رو به رباتتون ارسال کنه .

      از این کتابخانه PHPهم میتوندی برای خوندن rss استفاده نمایید :‌
      https://github.com/fguillot/picoFeed

      پاسخ دادن
  45. سلام
    من میخوام باتم رو با جاوا مدیریت کنم…
    کسی تا حالا غیر php این کارا رو با java انجام داده؟
    من توکن رو به برنامه میدم ولی بلد نیستم webhoock رو مقدار بدم
    چه مقداری باید به INTERNALWEBHOOKURL بدم؟

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

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

      پاسخ دادن
  47. سلام،
    چقدر کامنت جمع کردی؟؟ :))
    جدیدا به جای استفاده از cloudflare میتونی خودت هم یه certificate ایجاد کنی و ارسال کنی برای تلگرام، که من ترجیح می دم از این روش استفاده کنم. اما وقتی Public key رو ارسال میکنم برای setwebhook با اینکه جواب اوکی دریافت می کنم اما هیچ درخواستی از تلگرام برام ارسال نمیشه!
    خودت از این روش استفاده کردی؟ چیزی به نظرت می رسه تا کمکم کنی؟ ممنون

    پاسخ دادن
  48. سلام ببخشید..
    من برای bot اول رفتم و تو سایت ۰۰۰webhost یه دامین که البته زیردامنه هست گرفتم بعد رفتم که تو سایت cloudfare اکانت بسازم برای ssl ولی تو همون مرحله اولیه ثبت نام وقتی اسم سایتم رو برای چک کردن dns وارد میکنم میگه این اسم subdomain هستش و تو باید اسم root سایت رو وارد کنی و خطا میده..لطفا اگه میشه کمک کنید
    خیلی ممنون

    پاسخ دادن
  49. سلام
    میشه توی وب فرم از webhook استفاده کرد؟ دامنه من ssl روش فعاله.url مربوط به ست کردن وب هوک رو هم نوشتم ولی توی صفحه ای که تلگرام صداش میزنه نمیدونم چجوری اطلاعات رو بگیرم .میشه راهنمایی کنید؟

    پاسخ دادن
  50. با سلام
    ایا تلگرام امکانی وجود دارد که من با برنامه نویسی و دادن ادرس گروه و یا کانال اطلاعات اونا رو مثل تعداد اعضا، ایکون و … به ما بده؟

    پاسخ دادن
  51. سلام
    میگم راهی برای ارتباط دوطرفه با ربات تلگرام داری؟

    مثلا توی ربات چند دکمه داریم و یک دکمه هم گذاشتیم بنام عضویت، وقتی شخص روی عضویت کلیک کرد ، اسم طرف رو ازش بخوایم و اون بفرسته ، بعد فامیل بخوایم ، بعد ایمیل و شماره…
    (توی تمام مراحل ثبت نام نتونه کاماند دیگه ای رو که مربوط به قسمتهای دیگه ربات است رو وارد یا تایپ کنه، اگه اینکار رو کرد ربات بگه شما در مرحله ثبت نام هستید اگر میخواهید به منوی اصلی برگردید دکمه برگشت را فشار دهید) و اگه برگ سشن خالی بشه. اگه هم بر نگشت و مراحل ثبت نام رو انجام داد تک تک اطلاعاتش توی سشن گرفته بشه و در نهایت وقتی آخرین سوال هم جواب داد اطلاعاتش توی دیتابیس قرار بگیره. شاید با گذاشتن سشن روی مسیج آی دی بشه کاری کرد مثلا:

    $msg_id=$update->message->message_id;
    $message=$update->message->text;

    session_start();
    if($message==’عضویت’)
    {
    $_SESSION[“msg_id-$msg_id”]=$message;
    }

    *اصلا سشن مگه فقط برای ارتباط با مرورگر نیست؟؟ یا توی کش سرور ذخیره میشه؟؟؟

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

    مچکر

    پاسخ دادن
  52. سلام. میخواستم بدونم که میشه ربات رو به localhost در xampp وصل کرد یا نه ؟

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

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

      پاسخ دادن
  53. سلام
    من میخاستم ی ربات داشته باشم ک بتونه از کاربران نظرخواهی بکنه و نظراتشون هم داشته باشم
    باید چیکار بکنم

    پاسخ دادن
  54. سلام من سایتم را در cloudflare در قسمت add site اضافه کردم . فقط نکته اینکه برای ایجاد وب هوک در api تلگرام چه آدرسی از https را باید به تلگرام ست کنم

    پاسخ دادن
  55. سلام خسته نباشید
    من یک ادرس ssl دات ای را دارم
    اما وقتی که به روبات تو تلگرام پیام می دم هیچی سرور php ای که به عنوان وب هوک مشخص کردم لود نمی شه

    یک سوال : هر با که یک پیام به وب هوکم ارسال می شه کل php ام اجرا می شه؟

    پاسخ دادن
      • ببخشید یک سوال الان من تو cloudflare ثبت کردم ادرس https ای که گرفتم رو مرورگر خطای امنیتی می ده این برای تلگرام مشکلی نیست؟

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

    پاسخ دادن
    • خب تو کدهاتون چت آی دی خودتون رو بدید و یه if ساده میتونه این کار رو براتون بکنه .
      یعنی اگه چت آی دی برابر چت آی دی شما بود ج بده .

      پاسخ دادن
  57. سلام خیلی ممنون از توضبحات مفیدتون . یه سوال داشتم : این قسمت که گفتین :”تلگرام برای اینکه داده ها امن باشه از شما میخواد که از https استفاده کنی …” باید تو کلودفلیر دامنه یا زیردامنه کجا رو بدیم؟ دامنه یه وبسایت ک خودمون درست کردیم ؟

    پاسخ دادن
    • بله یه دامنه اضافه میکنید و توی dns mangement یه زیر دامنه یا دامنه رو میزارید که از توی کلاورد فلیر رد بشه .

      پاسخ دادن
  58. با تشکر از آموزش تون

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

    ممنون

    پاسخ دادن
  59. با تشکر از آموزشتون

    من ای درخواست رو دادم:
    https://api.telegram.org/bot/setwebhook?url=https%3A%2F%2Fexample.com%2Ftest%2Ftest.php

    این پاسخ رو گرفتم:
    {“ok”:true,”result”:true,”description”:”Webhook was set”}

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

    مشکلم کجاست؟
    bestproject3030@gmail.com

    با تشکر

    پاسخ دادن
  60. سلام استاد
    من یه ربات نوشتم و وب هوک رو روی لوکال هاست با استفاده از ngrok ست کردم.
    اما سوالی که دارم اینه که الان این کدها رو کجا باید بذارم تا وقتی کسی به ربات پیام میده اون کدها اجرا بشه؟!
    یعنی مثلا این کدهارو تو یه فایل notpad بنویسم با پسوند php ذخیره کنم؟
    محل این فایل کجا باید باشه؟ حالا چه رو لوکال و چه روی هاست؟
    واقعا ممنون میشم اگه راهنماییم کنید

    پاسخ دادن
  61. سلام دوستان اینچا کسی ربات تلگرام c# کار کرده؟!
    میخوام یک کد بدم که کاربر API مربوط به رباط خودشو وارد کنه بعد برنامه چک کنه ببینه API درسته یا نه اگه درست بود وارد بشه. الان اگه کابر API اشتباه وارد کنه برنامه اررور میده بسته میشه!! کسی میتونه کمک کنه؟!

    پاسخ دادن
  62. با سلام خدمت ادمین عزیز
    دوست عزیز این ویس های با کیفیت که تو کانال میذارن رو که دیدن بدون تردید!!
    خب سوالم اینه که چجوری mp3 ها رو به ویس تیدیل میکنن؟؟؟؟
    تا اونجایی که میدونم باید به فایل ogg تبدیل بشه ولی با اینکه به فایل ogg تبدیل میکنم و تو تلگرام میذارم بازم بصورت فایل میره در حالی که میخوام بصورت ویس بذارم
    اگه بلدید و زحمتی نمیشه راهنمایی کنین
    از کاربران عزیز هم کسی بلد بود خوشحال میشم راهنماییم کنن
    ممنون میشم راهنمایی کنید

    پاسخ دادن
  63. سلام و خسته نباشید به همتتون که این همه کامنت رو پاسخ دادین ! 😉
    یه چیزی که میخواستم بگم اینه که اینطوری که من از پست و کامنت ها فهمیدم راهی ندارم جز این که برم زبان php رو یاد بگیرم 🙂
    حالا من نمیدونم از کجا شروع کنم دقیقا میشه کمکم کنید؟

    پاسخ دادن
  64. سلام. آموزشتون عالی بود.

    میخواستم یه سوال بپرسم.

    من یه وب سایت خبری دارم. میخواستم رباتی بسازم که کاربر بتونه تو ربات مطلب بزاره و همین مطلبی که ارسال شد به صورت اتوماتیک تو وب سایتم منتشر بشه.
    از این طریق میشه این کار رو کرد؟

    پاسخ دادن
    • بله چرا امکان پذیر نیست ، مطالب به صورت مسیج میاد و همون هارو تو دیتابیس ذخیره میکنید و تو سایتتون نشون میدید .

      پاسخ دادن
      • میشه بیشتر توضیح بدین؟

        باید با چه زبانی برنامه نویسی بشه؟

        کلا درباره اش اگه زحمت نمیشه خصوصی تو ایمیل بهم بگین ممنونم می شم.

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

    پاسخ دادن
  66. سلام
    من تمام تنظیمات رو درست اجرا کردم
    هر کار می کنم، کتابخانه ی PHP تلگرام رو پیدا نمی کنه
    میشه یه راهکار بدین
    تشکر

    پاسخ دادن
  67. سلام
    من بوت ساختم و مراحل را انجام میدم و پیغام زیر رو دریافت کردم.
    {“ok”:true,”result”:true,”description”:”Webhook was set”}
    ولی از تلگرام چیزی به من ارسال نمیشه.
    گواهینامه و غیره هم همه صحیح و پولی هست.

    اینم فایل :
    https://www.varzesh.link/bot.php

    مهندس کمک کم هزینه آموزش هم روی چشمم. مرسی

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

        پاسخ دادن
  68. سلام
    من رو سرور م ssl معتبر گرفتم
    می تونم برای ربات پیام بفرستم
    ولی تلگرام جواب من رو نمی دهد
    {“ok”:true,”result”:true,”description”:”Webhook was set”}
    هم گرفتم
    تشکر

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

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

    پاسخ دادن
  70. سلام ادمین
    من از ربات تلگرام برای ارسال مطلب در گروه و کانال استفاده میکنم.
    برای تلگرام گروه رو مثل بک کاربر میدونه و برای ارسال اطلاعات به گروه باید از chat_id استفاده کنیم.برای گرفتن chat_id باید از دستور getUpdates استفاده کنیم.تا اینجا اوکی

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

    پاسخ دادن
      • خوب من یه ابزار با جاوا اسکریپت ساختم که دونه به دونه به تمام کاربرا پیام میده اما این کار یک ساعت طول میکشه تا به ۵۰۰۰ کاربر پیام بده در صورتی که بات های رایگان به همین تعداد کاربر در عرض ۱۰ ثانیه پیام میده.

        بعد از اون من از حلقه foreach در php استفاده کردم که
        دونه به دونه پیام بفرسته اما php خطا اتصال با شبکه رو میده.

        پاسخ دادن
        • برای این کار باید از صف استفاده کنی
          فرستادن رکویست به تلگرام طول می کشه ، برای این کار یکی یکی میفرستی تو queue و راحت پیامتون میفرستی .

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

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

          ini_set(‘max_execution_time’, sizeof($users) * 30);

          بعد به تمام کاربران با foreach پیام میفرستم

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

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

    پاسخ دادن ↓

    پاسخ دادن
  73. سلام
    من میخوام ی بات بنویسم که اخبار رو از ی سایت بخونه و این اطلاعات رو نمایش بده (این رو میدونم که باید از rss سایت استفاده کنم )ولی دقیقا نمیدونم چطوری لطفا راهنماییم کنید

    باتشکر

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

    پاسخ دادن
  75. سلام.من میخوام یک ربات بسازم که از یک فایل اکسل آنلاین توی گوگل داکز اطلاعات برداره.درواقع چارت کلی به این صورته :
    ۱- ربات از یوزر شماره پیگیری بخواد
    ۲- ربات از تو فایل اکسل آنلاین گوگل داکز ، شیت پیگیری شماره یوزر رو سرچ کنه و اطلاعات مربوطه در سلول روبرویی رو برای یوزر ارسال کنه
    *از گوگل داکز استفاده کردم چون اطلاعاتش بصورت لحظه ای و توسط چند کاربر آپدیت میشه.
    ممنون میشم راهنمایی کنید که با چی بنویسم و چه کارهایی باید انجام بدم و اگر کسی کدی به نظرش میرسه ممنون میشم برام ارسال کنه.
    با سپاس فراوان

    پاسخ دادن
  76. ممنون، بنده می خوام از حروف فارسی استفاده کنم، یعنی وقتی “سلام” رو می فرستم به فارسی جواب رو از دیتابیس بخونه بیاره به انگلیسی کار می کنه. لطفا اگر در این زمینه از دوستان کاری انجام دادن کمک کنن.

    پاسخ دادن
  77. فقط میتونم بگم کسی که در سطح توضیحات شما اطلاعات داشته باشه دیگه نیازی به این آموزش‌ها نداره. عملا توضیحاتتون غیر کاربردی هست.

    پاسخ دادن
  78. سلام دوستان با اجازه مدیر .

    هاست دایرکت ادمین ۱۰۰ میگ

    همراه با ssl

    سالینه ۲۵ هزار

    من خودم دارم روی این هاست ربات مینویسم

    ای دی تلگرام @mohamad1124
    البته با اجازه ادمین چون دیدم خیلی ها مشکل ssl دارم اینو گفتم

    پاسخ دادن
  79. سلام دوست عزیز میخوام ب رباتم دستوری اضافه کنم بادیدن لینک های تبلیغاتی توی گروه اون لینک هارو حذف کنه میشه کمکم کنی؟اینم ای دی من توی تل@angella206

    پاسخ دادن
  80. سلام.آقا میخوام یه باتی درست کنم شبیه به بات @sdnvabot خیلی واسم ضروریه که این کار هارو بکنه.ولی متاسفنه دانش برنامه نویسیم زیر صفر هست و اصلا اصلا هیچی نمیدونم.اگه میشه توروقران منو راهنمایی کنید تا بتونم همچین چیزی بسازم
    راستی phpDesigner و XAMPP.v5.6.21 رو هم دانلود کردم ولی چون چیزی دربارش نمیدونستم نتونستم کاری کنم.لطفا کمکم کنید بخدا خیلی بهش احتیاج دارم
    اینم آیدی تلگرامم هست اگه خواستید و مایل بودید اونجا راهنماییم بفرمائید.ممنون
    telegram.me/amir_spain

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

    پاسخ دادن
  82. سلام دوستان، من برای ست کردن وب هوک مشکل دارم، وقتی url رو با https میزنم درسته ولی تلگرام اطلاعاتی رو نمیفرسته. اگه میشه راهنمایی کنید. ممنونم

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

    پاسخ دادن
  84. سلام مگه مشکل getupdates چیه که سراغ webhook رفتید و ssl هم خودش واسه ایرانی ها یه مشکله
    لطفا بپردازید به getupdates

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

    پاسخ دادن

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *