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

  • چهارشنبه ۱۴ آذر ۱۳۹۷
  • بازدید ۳,۸۷۹ نفر

تصویر create-and-deploy-a-telegram-bot_4876 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

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

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

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

معرفی ربات تلگرام

ربات ها برنامه های شخص ثالثی هستند که در داخل تلگرام اجرا می شوند. از ربات ها به منظور ارائه خدمات مختلفی (مانند دریافت اخبار جدید، کوتاه کردن لینک، دانلود فایل از YouTube و غیره) استفاده می شود. کاربران می توانند با ارسال پیام های خود با آن ها ارتباط برقرار کنند. ربات ها توسط درخواست های HTTPS به API تلگرام کنترل می شوند.

نحوه کار ربات تلگرام

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

  1. ارسال پیام و دستورات به ربات به وسیله ایجاد یک چت با آن یا اضافه کردن آن به گروه ها.
  2. ارسال درخواست به صورت مستقیم، به این روش inline گفته می شود (مانند ربات @gif).

پیام ها، دستورات و درخواست های ارسال شده به ربات توسط کاربران، به نرم افزاری که بر روی سرور شما اجرا می شود، فرستاده می شوند. سرور واسط تلگرام تمام کارهای مربوط به رمزنگاری و برقراری ارتباط را انجام می دهد. نرم افزارهای که برای مدیریت ربات ها نوشته می شوند، از طریق رابط ساده HTTPS با سرور تلگرام ارتباط برقرار می کنند که یک نسخه ساده از API تلگرام را ارائه می دهد. منظور از API ربات، همین رابطی است که در بالا ذکر شد. برای مشاهده مستندات کامل API ربات تلگرام به لینک Telegram Bot API مراجعه کنید.

ایجاد یک ربات تلگرام

به منظور ایجاد یک ربات جدید، باید از ربات BotFather استفاده کنید. این ربات پدر همه ربات های موجود در تلگرام است و برای مدیریت آن ها استفاده می شود. با استفاده از BotFather می توانید یک ربات جدید ایجاد کنید و یا تنظیمات مربوط به رباتی که قبلا ایجاد کرده اید را تغییر دهید. برای ایجاد ربات با استفاده از BotFahter مراحل زیر را دنبال کنید:

ورود به ربات BotFahter

عبارت BotFather را جستجو کنید.

تصویر create-and-deploy-a-telegram-bot_4876_1 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

وارد ربات @BotFahter شوید و گزینه Start را بزنید تا لیست کارهایی که می توانید با استفاده از این ربات انجام دهید، نمایش داده شود. در صورتی که این لیست نمایش داده نشود، می توانید از دستور /help استفاده کنید.

تصویر create-and-deploy-a-telegram-bot_4876_2 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

ساخت ربات جدید

در لیست دستورات نمایش داده شده، دستور /newbot برای ایجاد ربات جدید استفاده می شود و /mybots ربات هایی که ایجاد کرده اید را نشان می دهد. سایر دستورات برای ویرایش اطلاعات و تنظیمات ربات استفاده می شود. دستور /newbot را وارد یا انتخاب کنید.

انتخاب یک نام برای ربات

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

تصویر create-and-deploy-a-telegram-bot_4876_3 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

انتخاب یک نام کاربری برای ربات

بعد از انتخاب نام ربات از شما می خواهد تا یک نام کاربری برای آن انتخاب کنید. این نام کاربری حتما باید به کلمه bot ختم شود. مانند tetris_bot یا TetrisBot.

تصویر create-and-deploy-a-telegram-bot_4876_4 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

دریافت token ربات

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

تصویر create-and-deploy-a-telegram-bot_4876_5 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

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

تا اینجای کار ما ربات خود را در تلگرام ایجاد کردیم و می توانیم با استفاده از token، عملکرد آن را کنترل کنیم. حال باید یک نرم افزار برای کنترل ورودی / خروجی ربات ایجاد کنید. برای ایجاد این نرم افزار مراحل زیر را دنبال کنید:

ایجاد یک پروژه جدید از نوع WindowsForms

نرم افزار ویژوال استودیو (Visual Studio) را اجرا کنید سپس از قسمت منوی نرم افزار گزینه File > New > Project را انتخاب کنید.

تصویر create-and-deploy-a-telegram-bot_4876_6 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

یک پروژه از نوع WindowsForms ایجاد کنید.

تصویر create-and-deploy-a-telegram-bot_4876_7 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

نصب پکیج Telegram.Bot

از قسمت منوی نرم افزار گزینه Tools > NuGet Package Mananger > Manage NuGet Packages For Solution را انتخاب کنید.

تصویر create-and-deploy-a-telegram-bot_4876_8 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

در پنجره باز شده، عبارت Telegram.Bot را وارد کنید تا لیست بسته های موجود فیلتر شود. سپس بسته  Telegram.Botرا انتخاب کرده و بر رو دکمه Install کلیک کنید تا نصب این بسته شروع شود.

تصویر create-and-deploy-a-telegram-bot_4876_9 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

تصویر create-and-deploy-a-telegram-bot_4876_10 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

طراحی ظاهر نرم افزار

برای ظاهر نرم افزار دو عدد Button با نام های BtnStart و BtnStop و یک عدد RichTextBox با نام TxtLogs برای نمایش ورودی / خروجی های ربات به فرم خود اضافه کنید.

تصویر create-and-deploy-a-telegram-bot_4876_11 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

ایجاد کلاس ShortenerBot

یک کلاس با نام ShortenerBot ایجاد کنید و کد های زیر را در آن بنویسید:

محتوای فایل ShortenerBot.cs

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

یک کلاس دیگر با نام ChatEventArgs ایجاد کنید و کد زیر را در آن بنویسید:

این کلاس به عنوان آرگومان رویداد های MessageReceived و  MessageSent کلاس ShortenerBot مورد استفاده قرار می گیرد.

استفاده از کلاس ShortenerBot

برای فرم نرم افزار یک رویداد Load و Button های آن رویداد Click ایجاد کنید و سپس کد زیر را در فایل Form1.cs بنویسید:

محتوای فایل Form1.cs

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

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

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

تصویر create-and-deploy-a-telegram-bot_4876_12 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

حال از طریق شناسه ربات وارد آن شوید و بر روی گزینه Start کلیک کنید.

تصویر create-and-deploy-a-telegram-bot_4876_13 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

برای تست یک آدرس وارد کنید.

تصویر create-and-deploy-a-telegram-bot_4876_14 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

تصویر create-and-deploy-a-telegram-bot_4876_15 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

تصویر create-and-deploy-a-telegram-bot_4876_16 آموزش ساخت ربات تلگرام کوتاه کننده لینک در سی شارپ

همانطور که مشاهده می کنید، ربات به خوبی کار می کند.

نکات آموزش

  • در این آموزش از نسخه 2015 نرم افزار Visual Studio استفاده شده است.
  • برای کار با API ربات تلگرام از کتابخانه Telegram.Bot استفاده شده است.
  • مستندات Telegram.Bot به صورت کامل
  • برای کوتاه کردن لینک از API سایت yon.ir استفاده شده است.
  • به منظور اتصال به API تلگرام باید از یک VPN استفاده کنید.

برای استفاده از این نرم افزار کافیست Token ربات خود را با Token موجود در رویداد Load جایگزین کنید:

 

باکس دانلود
شناسه:
۴۸۷۶
فرمت فایل:
rar
اندازه فایل:
۵.۳۶ مگابایت
مطالب مرتبط
ثبت نظر
ریفریش کنید!
نظرات کاربران (۸ مورد)
  1. تصویر آواتار کاربر 0
    Beethoven دوشنبه , 10 دی

    چ جالب!

  2. تصویر آواتار کاربر 0
    soroush دوشنبه , 20 اسفند

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

    • تصویر آواتار کاربر 124
      AmRoدوشنبه , 20 اسفند

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

  3. تصویر آواتار کاربر 0
    ali پنجشنبه , 13 تیر

    سلام ببخشید برای گرفتن شورت آدرس از چنین دستور api چطوری باید اون قسمت split رو نوشت؟ {"error":0,"short":"https:\/\/sample.com\/link\/EqO0g"} شبیه همون yon هست که میخوام مثلا EqO0g در آخر نگه داشته بشه! چون از api این رو دان میکنه

    • تصویر آواتار کاربر 124
      AmRoپنجشنبه , 13 تیر

      سلام...ببین این به دردت میخوره: https://dotnetfiddle.net/DLYcGj

  4. تصویر آواتار کاربر 0
    mohammad شنبه , 15 تیر

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

    • تصویر آواتار کاربر 1
      یعثوب سیفی زادهشنبه , 15 تیر

      برای اینکه بتونید این برنامه رو روی سرور اجرا کنید باید vps داشته باشین و برنامه رو جوری تنظیم کنید که وقتی سیستم ریستارت میشه خودش اتوماتیک اجرا بشه یا اینکه از مدل سرویس این برنامه رو درست کنید و مثل سرویس های خوده ویندوز پشت زمینه کار کنه حتما اینو هم در نظر داشته باشید که وقتی برنامه اجرا شد خودش اتوماتیک همه چیز رو انجام بده دیگه کاربر انتخاب نکنه که چیکار باید انجام بشه

  5. تصویر آواتار کاربر 0
    saara دوشنبه , 14 تیر

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