توی این مطلب آموزش گام به گام ساخت ربات تلگرام با سی شارپ رو تقدیم حضورتان می نماییم. توی این آموزش بصورت کامل ساخت و طراحی ربات تلگرام با کمک زبان برنامه نویسی #C رو یاد خواهید گرفت. لطفا تا انتهای آموزش با ما همراه باشید…
آموزش گام به گام ساخت ربات تلگرام با سی شارپ :
خب دوستان عزیز انشالله بعد از این اموزش هم میتونید ربات بسازید و هم نرم افزار مدیریت ربات یا ربات ساز با کمی خلاقیت بسازید.
در ابتدا دو راه وجود داره داره برای ایجاد ربات خودتون :
1-خرید سرور و دادن دستورات خاص برای اتصال به ربات(نتیجه این کار سرعت بیشتر ربات است که درصورت لزوم میتوانید در قسمت نظرات درخواست بدید تا اموزششو روی سایت قرار بدیم.)
2-از مکان های اماده استفاده کنید و دیگر نیازی به اتصال محل خود به تلگرام نداشته باشید(البته در این روش هم نرم افزار شما باید در مکانی باشد که 24 ساعته فعال است.)
برای اینکار وارد نرم افزار تلگرام نسخه دسکتاپ شده و @BotFather را تایپ کنید و اینتر را بزنید. حال روی ان کلیک کنید تا وارد بوت فادر شوید.شکل زیر:
حالا دستور newbot/ ارسال کنید تا فرایند ساخت ربات جدید انجام بشه.سپس باید برای آن نامی انتخاب کنید و نام را ارسال کنید مانند sourcebaranbot
سپس از شما میخواهد که یوزرنیمی را انتخاب کنید که ما در اینجا همان sourcebaranbot را انتخاب کرده ایم.دقت داشته باشید که لازم است اخر این نام کلمه Bot وجود داشته باشد.در صورتی که ربات پیامی مبنی بر این که نام قبلا توسط فردی دیگر اشغال شده است داد باید نام خود را تغیر داده یا پسوندی در ان ایجاد کنید مانند:SourceBarannewBot
پس از ان بات به شما مقداری به نام توکن خواهد داد که شما باید انرا کپی کنید زیرا ما به ان نیاز خواهیم داشت.
خوب حالا وقت ان است که شروع به کدنویسی کنیم ویژوال سی شارپ را باز کرده و یک پروژه کنسولی با نام دلخواه انتخاب کنید:
از انجا که ما به لایبری های تلگرام احتیاج داریم کامند زیر را به Nuget Console ارسال میکنیم:
1 |
Install-Package TelegramBotSharp |
همانطور که میبینید این پکیج به مراجع ما اضافه گشت و ما میتوانیم از دستورات آن استفاده کنیم.
1 |
using TelegramBotSharp; |
کد بالا هم که برای اشاره کردن به پکیج ما میباشد.
حالا برای ساخت یک شی کد زیر را در کلاس وارد میکنیم:
1 |
public static TelegramBot bot; |
و از ان یک شی با نام بوت میسازیم:
1 |
bot=new TelegramBot("توکن خود را در این جا وارد کنید"); |
حال متدی بسازید به شکل زیر و در کلاس اصلی انرا صدا بزنید:
1 2 3 4 5 6 7 8 9 10 11 12 |
private static void Phasokhgo(Message m) { while (true) { var result = await bot.GetMessages(); if (m.Text == null) return; if (m.Text.Contains("درود")) { bot.SendMessage(Target, "به سورس باران بیاید"); } } } |
همانطور که میبیند ربات در جواب “درود” خواهد گفت به سورس باران بیایید.
شما میتوانید از elseif های زیادی استفاده کنید و بات سخنگوی کاملی بسازید.برای انکه ربات شما بتواند به پیام هایی تعریف نشده نیز جواب بدهد یک else قرار بدهید.
حتما میدانید که اگر بخواهید یک ربات هوشمند بسازید باید انرا طوری تنظیم کنید که همواره یک جواب به کاربر بر نگرداند.
برای این کار میتوانید از یک سویچ کیس و یک کلاس رندوم استفاده کنید مانند کد زیر:
1 2 3 4 5 6 7 8 9 10 11 12 |
if (m.Text.Contains("خوبی؟")) { Random r = new Random(); int a = r.Next(0,3); switch (a) { case 0: bot.SendMessage(target, "ممنونم");break; case 1: bot.SendMessage(target, "مرسی,تو خوبی؟"); break; case 2: bot.SendMessage(target, "تازگیا به سورس باران نمیای؟"); break; case 3: bot.SendMessage(target, "دعا گوی شما هستم"); break; } } |
راستی شما میتوانید با مراجعه به صفحه تلگرام شارپ در نوگت بقیه متدهای انرا هم یاد بگیرید.
در نهایت با تلاش و کوشش میتوانید یک ربات حرفه ای ایجاد کنید.
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- انتشار: ۶ تیر ۱۳۹۵
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- رپورتاژ
- فروشگاه
- فیلم های آموزشی
- ++C
- ADO.NET
- Adobe Flash
- Ajax
- AngularJS
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- AVR
- Bootstrap
- CCNA
- CCNP
- CMD
- CSS
- Dreameaver
- EntityFramework
- Go
- HTML
- IOS
- jquery
- Linq
- Mysql
- Oracle
- PHP
- PHPMyAdmin
- Rational Rose
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- WPF
- Xml
- آموزش های پروژه محور
- اتوکد
- الگوریتم تقریبی
- امنیت
- اندروید
- اندروید استودیو
- بک ترک
- بیسیک فور اندروید
- پایتون
- جاوا
- جاوا اسکریپت
- جوملا
- دلفی
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کانستراکت
- کریستال ریپورت
- لاراول
- معماری کامپیوتر
- مهندسی اینترنت
- هوش مصنوعی
- یونیتی
- کتاب های آموزشی
- Android
- ASP.NET
- AVR
- LINQ
- php
- Workflow
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس
سلام من ربات رو نوشتم و روی کامپیوتر خودم اجراش کردم و ربات به طور کامل و بدون ارور اجرا میشه ولی یه مشکل جدی پیش اومد اونم اینه که من وقتی برنامه رو اجرا میکنم ربات فقط میتونه با یه نفر ارتباط ایجاد کنه به عبارت دیگه با هر بار اجرا ، برنامه فقط میتونه پاسخ یک نفر رو بده نه دو نفر.
سلام. توی انجمن مطرح کنید لطفا
لطفا برام در مورد کدنویسی ربات راهنمایی کنید..به کمک نیاز دارم
سلام
من کمک در مورد کدنویسی ربات تلگرام با C# میخواستم اگه لطف کنین ممنون میشم
چه جوری میشه پست های کانال رو اطلاعاتش رو بدست اورد؟
اگه بتونم به اطلاعات کانالم دسترسی داشته باشم اونوقت میتونم پست هایی که قبلا به کانالم از طریق ربات فرستادم دسترسی داشته باشم، و همینکه میخوام مثلا آخرین پست کانال رو به یه گروه یا شخصی فروارد کنم(خیلی خوب میشه اینجوری اگه بشه).
await Task.Run(() => bot.ForwardMessageAsync(“-12345”, scinstance.ChannelUsername, 30));
مثلا تو متن بالا جابتر اون عدد بالا میخوام شماره آخرین پست کانالم رو بدست بیارم قرار بدم!
البته من رباتی دیدم که از طریقش میشده پست هایی که قبلا به کانال ارسال شدرو ویرایش کرد پس شدنیه! فقط راهش نمیدونم چه جوریه خیلی وقته واسم سواله!
بقیه موارد لازمم رو بلدم.
* من از API اصلی تلگرام (Telegram.Bot) استفاده میکنم نه این API *
سلام
اگه امکانش هست آموزش ساخت ربات تبلیغ گر رو آموزش بدید.
ویژگی های این ربات:
– مطالبی که بهش میدیدم رو تو گروه هایی که عضو شده ارسال میکنه
– میتونه گروه های خودشو با یه ربات دیگه با دستور خاصی به اشتراک بذاره و ….
سلام.ایا میشه پیام های که بهمون میدن رو دریافت کنیم مثلن پیام هایی که نا مفهومه یا کلن گرفتن اطلاعات مثل اسم و …. رو دریافت کرد از طریق ربات؟
سلام برادر واس وردست مدیر کانال هم مشه ربات حرفه ای خودمون درست کنیم
//
سلام ….فوق العاده بود ….اگه امکانش هست یکم گسترده تر مطلب رو ارائه بدید …..متشکر
داداش چطور اینو رو سرور بذارم؟اطلاعات من ابتداییه.لطفا کمکم کن
با سلام خیلی ممنون از آموزش خوبتون
من یک آی پی استاتیک دارم و یک سیستم بعنوان سرور که 24 ساعته روشنه ، میخوام یک روبات روی سرور خودم داشته باشم، حالا با استفاده از c# چه کنم و چطوری برناممو روی سرور قرار بدم که با سرور تلگرام متصل بشه و درخواستهایی رو که در bot خودم میاد بتونم پرداز کنم؟
با تشکر
سلام من برای نوشتن کامنت ها از دستور /setcommand ربات botfather استفاده می کنم ولی وقتی دستور تعیین شده رو برای ربات خودم می فرستم جوابی نمیاد. راه حل چیه ؟
سلام عالی ولی خیلی کم بود، لطفا بیشتر توضیح بدید مخصوصا ذخیره اطلاعات در sql server
سلام
بسیار عالی بود ولی خیلی خیلی کم
خیلی عالی میشه اگه مفصل تر توضیح بدید واقعا نیازه
ممنون
بسیار کاربردی اما نیاز به کار زیادی داره
سلام
وقتی که من کد
Install-Package TelegramBotSharp
در Nuget Console وارد میکنم ارور میده:
Install failed. Rolling back…
Package ‘RestSharp 105.1.0’ does not exist in project ‘Telegram-Bot’
Package ‘RestSharp 105.1.0’ does not exist in folder ‘d:\visual projects\Telegram-Bot\packages’
Install-Package : Could not install package ‘RestSharp 105.1.0’. You are trying to install this package into a project that targets ‘.NETFramework,Version=v2.0’, but the package does not contain any assembly
references or content files that are compatible with that framework. For more information, contact the package author.
At line:1 char:1
+ Install-Package TelegramBotSharp
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Install-Package], Exception
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand
و بعد پکیج رو اضافه نمیکنه.
راهنمایی کنید ممنون میشم …
سلام این بحثتون مثل سایتتون عالی بود اگه امکانش هست با یک پروژه دیگه, مطلب گسترش بدین …ممنون 🙂
سلام
من پروژه م رو با asp.net mvc ساختم. و توی یه حلقه بی نهایت با ارسال مکرر درخواست http ( یعنی روش getUpdate) پیغام ها رو میگیرم.
برنامه رو گذاشتم روی یه هاست رایگان ویندوزی. اما برنامه بعد از راه اندازی فقط چند ساعت اجرا میشه و هاست می بندتش. کلی روش های مختلف امتحان کردم که نذارم session برنامه تموم بشه و هاست، برنامه مو نبنده اما هیچ کدوم کار نمی کنه.
راه حل آخری که برام مونده استفاده از webhook هستش. اگر تجربه خوبی در این مورد دارین لطفا با کدش به اشتراک بذارین مراحلش رو.
(لطفا طریقه گرفتن ssl روی یه دامینی مثل دامین های .tk رو هم مرحله به مرحله توضیح بدین، هیچ جا درست توضیح ندادن!!!!!!)
ببخشید یه سوال، الان این رباته وقتی خروجی گرفته شد ، فایلاشو همینطوری میشه بریزیم روی سرور لینوکس یا اینکه باید سرور ویندوز داشته باشیم؟
سلام دوست من
باید سرور مجازی ویندوز تهیه بفرمایید
دستت درد نکنه عالی بود فقط تابع :
await bot.GetMessages
error میده منبعش رو پیدا نکردم ، راهنمایی می کنید.
سلام دوست من
ابتدا برید بررسی کنید که پکیج به درستی نصب شده باشه
سپس این سه نیم اسپیس رو به برنامتون اضافه کنید
using TelegramBotSharp;
using TelegramBotSharp.Serialization;
using TelegramBotSharp.Types;
انشاالله که درست میشه
با سلام دوباره ایا شما توی تلگرام اکانت دارید برای سوال پرسیدن ؟؟
ba salam babakhsid amozeshe shoma khili mabhame mamnon misham bishtar tozih bedid
سلام دوست من
اگر استقبال از این موضوع زیاد بشه شاید یک اموزش پروژه محور ایجاد کنیم
تا اون موقع اگه سوالی دارید همینجا مطرح کنید