50درصد تخفیف سورس فروشگاهی دیجی کالا + اپلیکیشن اندروید تا پایان این هفته - کد تخفیف : off50
با تخفیف میخرم

آموزش ساخت ربات تلگرام CLI با PHP

  • آپدیت شده در تاریخ

آموزش ساخت ربات تلگرام CLI با PHP

شاید شما از برنامه نویسانی باشید که بخواهید تلگرام رو به صورت تحت وب برای خودتان شخصی سازی کنید. به خاطر سورس باز (open source) بودن تلگرام ، ساخت ربات تلگرام و انجام شخصی سازی های مختلف بسیار آسان است.

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

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

برای همین یک کلاس آماده برای ارتباط با این ابزار نوشتم تا شما راحت بتونید از این برنامه در PHP استفاده کنید.

سورس ربات تلگرام CLI را در آخر مقاله از باکس دانلود , دریافت کنید

۱ – نصب

برای کار با این برنامه که از این به بعد به اسم واقعیش یعنی ‌tg-cli صداش میزنیم ابتدا باید طبق توضیحات خودش توی لینوکس نصبش کنید.بعد از اینکه نصبش کردید با دستور

در خط فرمان لینوکس (terminal) اجرا کنید

در ابتدا از شما شماره موبایل میخواد. شماره موبایلی رو که روش تلگرام دارید رو بهش بدید. یک کد به تلگرامتون ارسال میشه. کد رو وارد کنید. حالا وارد برنامه tg-cli شدید و میتونید به وسیله دستوراتی که داره با تلگرام توی ترمینال کار کنید.

میتونید دستور help رو تایپ کنید تا ببینید چه دستوراتی داره.مثلا با دستور contact_list میتونید لیست کانتکت هاتون رو ببینید. بعد از اینکه از کار کردن باهاش مطمین شدید با زدن Ctrl+c ازش خارج بشید و مرحله بعدی رو انجام بدید.

۲ – نصب کتابخانه مورد نیاز ساخت ربات تلگرام CLI با Composer

به وسیله Composer کتابخانه زیر رو نصب کنید.

ابتدا یک فایل با نام composer.json ایجاد کنید و محتویات زیر رو داخلش کپی کنید :

سپس دستور composer install رو اجرا کنید.

نکته :‌اگر نمیدونید Composer چیه و چجوری نصبش کنید و چجوری میشه ازش استفاده کرد بهتره با مراجعه به آموزش composer در php و بعد از یادگرفتن کامپوزر برگردید و آموزش رو ادامه بدید.

۳ – ایحاد کد های ساخت ربات تلگرام CLI با PHP

حالا یک فایل با نام index.php ایجاد کنید :

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

۴ – مرحله آخر – اجرای اسکریپت

خب فایل index.php رو ذخیره کنید.حالا Terminal رو باز کنید و توی مسیری که tg-cli رو نصب کردید دستور زیر رو بزنید :

با استفاده از این دستور تمام ارتباطاطی رو که میخوایم با tg-cli داشته باشیم از طریق سوکتی که در مسیر /tmp/t.sck ذخیره شده انجام میدیم. پس دقت کنید که مسیر سوکت رو در فایل php هم درست وارد کنید.

آپشن --json هم به منظور استقاده شده که تمام خروحی ها رو به صورت json برای ما برگردونه تا توی php راحت تر بتونیم ازش استفاده کنیم.

حالا index.php رو توی مرورگر باز کنید. اگر مراحل قبل رو به درستی انجام داده باشید٫ پس بازشدن مرورگر و اجر شدن index.php لیست contact های شما توی صفحه نمایش داده میشه. همچنین یک پیام به اولین کانتکت شما ارسال میشه.(حواستون باشه چیز بدی ننویسید آبرو ریزی بشه)

نکته خوبی که در مورد استفاده از این کتابخانه هست اینه که تمای دستوراتی که توی برنامه tg-cli وجود داره رو با همون سینتکس میتونید استفاده کنید.

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

حالا همین دستور رو اگر بخواید در php استفاده کنید باید مثل زیر باشه :‌

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

کد های ساخت ربات تلگرام CLI با PHP را از باکس دانلود , دریافت کنید

هر گونه سوالی در مورد پیاده سازی ساخت ربات تلگرام CLI با PHP داشتید از قسمت نظرات ارسال کنید . سریعا به پرسش شما پاسخ داده می شود .

سفارش ساخت ربات تلگرام

موفق و پیروز باشید

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

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

NETPARADIS /
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۸۵)

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

  1. محمد ۱ شهریور ۱۳۹۹

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

    پاسخ
    1. حسن شفیعی ۱ شهریور ۱۳۹۹

      با cli و madeline میتونید ربات تبچی بسازید و هر دو عالی هستند.

      پاسخ
      1. محمد ۱ شهریور ۱۳۹۹

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

        پاسخ
      2. حسن شفیعی ۱ شهریور ۱۳۹۹

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

        پاسخ
  2. علیرضا ۳۱ مرداد ۱۳۹۹

    سلام من این ارورو دریافت میکنم مشکل چیه ؟
    Fatal error: Uncaught Exception: RPC_CALL_FAIL 401: AUTH_KEY_UNREGISTERED

    پاسخ
    1. حسن شفیعی ۳۱ مرداد ۱۳۹۹

      سلام. فولدر .telegram-cli رو حذف و دوباره تست کنید.
      اگر اوکی نشد عملیات اعتبارسنجی و دریافت و وارد کردن کد رو مجدد انجام بدید

      پاسخ
      1. علیرضا ۳۱ مرداد ۱۳۹۹

        اره درست شد ولی بعد چند بار کار کردن این ارورو داد .
        Fatal error: Uncaught Exception: Something went wrong.

        پاسخ
  3. محمدرضا طاهری ۳۰ مرداد ۱۳۹۹

    سلام من ارور زیر رو دریافت میکنم
    Warning: stream_socket_client(): unable to connect to unix:///tmp/t.sck (No such file or directory) in /var/www/html/vendor/smoqadam/telegramcli/src/Smoqadam/TelegramCli.php on line 18

    Fatal error: Uncaught Exception: Connect to remote socket failed. in /var/www/html/vendor/smoqadam/telegramcli/src/Smoqadam/TelegramCli.php:20 Stack trace: #0 /var/www/html/index.php(4): Smoqadam\TelegramCli->__construct(‘unix:///tmp/t.s…’) #1 {main} thrown in /var/www/html/vendor/smoqadam/telegramcli/src/Smoqadam/TelegramCli.php on line 20

    بعد قبل اینکه ایندکسمو توی مرورگر اجرا کنم توی ترمینال لینوکس اینو اجرا میکنم
    ./tg/bin/telegram-cli –json -dWS /tmp/t.sck &
    جوابش اینو میده
    [۱] ۲۹۹۳۸
    بعد که دوباره اجرا میکنم
    bind: Address already in use
    اینو میده
    مشکل این دوتا چیه ؟

    پاسخ
    1. حسن شفیعی ۳۰ مرداد ۱۳۹۹

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

      پاسخ
  4. حسین ۱۳ فروردین ۱۳۹۹

    سلام با این cli میشه این کارو انجام داد
    مثلا من الان آیدی عددی یک کانال رو دارم
    میخوام با اون آیدی عددی به کانال دسترسی داشته باشم . ممنون

    پاسخ
    1. حسن شفیعی ۱۳ فروردین ۱۳۹۹

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

      پاسخ
  5. حامد ۱۲ شهریور ۱۳۹۸

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

    پاسخ
    1. حسن شفیعی ۱۲ شهریور ۱۳۹۸

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

      پاسخ
      1. حامد ۱۳ شهریور ۱۳۹۸

        ممنونم از جوابتون
        میخواستم ببینم شما میدونید این بات (channels ( junction_bot از چه روشی استفاده کرده برای رصد کانال و گروه ها؟
        من تست کردم بات عضو کانال نمیشه ولی دیتای کانال رو میتونه بخونه و به کانال یا شخص دیگه ارسال کنه

        پاسخ
      2. حسن شفیعی ۱۳ شهریور ۱۳۹۸

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

        پاسخ
  6. رضا ۲۰ مرداد ۱۳۹۸

    سلام آیا امکان داره این روی هاست اجراشه

    پاسخ
    1. حسن شفیعی ۲۰ مرداد ۱۳۹۸

      سلام. خیر.
      موفق باشید

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

می خواهید صفر تا صد ساخت ربات تلگرام را یاد بگیرید ؟

برای دریافت آموزش ساخت ربات تلگرام  روی دکمه زیر بزنید
می خواهم یاد بگیرم ربات بسازم
close-link

دانلود رایگان کتاب آموزش PHP

صفر تا صد PHP و MySQL را یکجا یاد بگیرید
همین الان دانلود کن
نگران نباشید. ایمیل‌های مزاحم نمی‌فرستیم
close-link