ساخت ربات واتساپ با سی شارپ

ساخت ربات واتساپ با سی شارپ

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

استفاده از C# برای ساخت ربات‌های واتساپ به شما امکان می‌دهد تا با استفاده از کتابخانه‌ها و ابزارهای موجود، برنامه‌های اتوماسیونی پیچیده‌تر و کاربردی‌تری را طراحی کنید. با استفاده از مفاهیم پیشرفته C# مانند پویانمایی‌ها و پردازش داده‌ها، می‌توانید برنامه‌های رباتیک واتساپ خود را بهبود دهید و به نیازهای خاص خود پاسخ دهید.

دوره C# Programming در مجتمع فنی تهران

مجتمع فنی تهران به عنوان یکی از پیشتازان آموزش مهارت‌های برنامه‌نویسی، دوره‌ C# Programming را برگزار می‌کند. این دوره‌ها به شما کمک می‌کنند تا با اصول و مفاهیم پایه و پیشرفته C# آشنا شوید و به راحتی بتوانید برنامه‌های کاربردی و رباتیک برای واتساپ ایجاد کنید. استفاده از ابزارها و تکنولوژی‌های جدیدتر در این دوره‌ها، به شما امکان می‌دهد تا با آخرین تغییرات و نیازهای صنعت آشنا شوید و مهارت‌های لازم برای شروع حرفه برنامه‌نویسی خود را کسب کنید.

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

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

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

ساخت ربات واتساپ با سی شارپ

آموزش اتصال واتساپ به سی شارپ

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

سپس شماره موبایل پنل , رمز پنل و شماره خط واتساپ اضافه شده را یادداشت نموده و به ادامه مراحل آموزش بپردازید :

همچنین به منظور ارسال پیام باید 4 پارامتر مهم زیر را تنظیم نمایید :

phoneNumber : شماره موبایل پنل خوتان را در این بخش وارد می‌نمایید .

destPhoneNumbers : شماره های گیرنده پیام واتساپ را در این بخش وارد نموده و همچنین برای ارسال به چند شماره میتوانید از شماره ها با علامت ; از هم جدا نمایید .

text : در این بخش نیز باید متن پیام خود را وارد کنید . همچنین در صورت تمایل به ارسال عکس و یا تصویر باید ابتدا داخل سامانه یک بسته پیام ایجاد نمود و سپس ابتدا علامت # و سپس کد بسته پیام را در این بخش یعنی به جای متن پیام وارد کنید .

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

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

در ادامه میتوانید از نمونه کد زیر برای ارسال پیام واتساپ داخل C# ( سی شارپ ) استفاده نمایید :

static async Task SendMsg()

        {

            //Fill body of post request

            var values = new Dictionary

              {

                  { “phoneNumber”, “09121111111” },   //your user name

                  { “passWord”, “12345678” }, //your password

                { “destPhoneNumbers”, DestinationNumber }, // destination number(s)

                { “text”, Message },    //Massege

                { “lines”, “09133333333” } // Your registered Whats-App line number(s)

              };

 

            var content = new FormUrlEncodedContent(values);

 

            //url for send message

            var response = await client.PostAsync(“http://whatspanel.ir/Api/SendMessage.php”, content);// wait for send request

 

            var responseString = await response.Content.ReadAsStringAsync();//wait for get response

 

            //deserialize json response

            ResponseMsgSendJson jsonDes = JsonConvert.DeserializeObject(responseString);

 

            return jsonDes;

        }

نمونه دریافت وضعیت پیام ارسالی

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

به این منظور باید یک Request به آدرس زیر ارسال نمود تا در جواب آن وضعیت پیام برای شما ارسال شود .

پارامترهای این Request هم به شرح زیر است :

phoneNumber : شماره موبایل سامانه ثبت نام کرده

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

static async Task GetMsgStatus(string msgId)

        {

            //fill post request body

            var values = new Dictionary

              {

                  { “phoneNumber”, “09121111111” }, //your user name

                  { “passWord”, “12345678” }, // your password

                { “messageId”, msgId }, // the message id given by send massage request

              };

 

            var content = new FormUrlEncodedContent(values);

 

            //wait for send request

            var response = await client.PostAsync(“http://whatspanel.ir/Api/MessageStatus.php”, content);

 

            //wait for response

            var responseString = await response.Content.ReadAsStringAsync();

            //some possible resonses

            //{“messageStatus”:”approve”,”messageReport”:[],”status”:100}

            //{“messageStatus”:”approve”,”messageReport”:[{“DestPhoneNumber”:”0913xxxxxxx”,”Status”:”sending”}],”status”:100}

            try

            {

                ResponseMsgStatusJson jsonDes = JsonConvert.DeserializeObject(responseString);

                return jsonDes;

            }

            catch

            {

                return null;

            }

        }

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

using Newtonsoft.Json;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Net.Http;

using System.Text;

using System.Threading.Tasks;

 

namespace jarin_whatsapp_csharp

 

 

    internal class Program

   

 

        private static string DestinationNumber=”09122222222″; // Destination Number you want to send to!

        private static string Message = “Hello World!”; //Message you want to send

 

        private static readonly HttpClient client = new HttpClient();

        static async Task Main(string[] args)

        {

            ResponseMsgSendJson jsonDes = await SendMsg(); // send message request

            Console.WriteLine(string.Format(“Status:{0}”, jsonDes.status)); // write status to console

 

            if (jsonDes.status == “100”) // If the status is 100 it means every thing is ok!

            {

                int timeout = 120; // About 120 seconds wait for sending message

                while (true)

                {

                    ResponseMsgStatusJson jsonDes2 = await GetMsgStatus(jsonDes.code);// Get status of message request

                    Console.WriteLine(jsonDes2.ToString()); // Write request response to console

                    if (jsonDes2.status==”100″ && jsonDes2.messageReport != null && jsonDes2.messageReport.Count > 0) // If any report is present

                    {

                        //If our destination phone number reached!

                        if (jsonDes2.messageReport.Find(x => x.DestPhoneNumber == DestinationNumber && x.Status == “sent”) != null)

                        {

                            Console.WriteLine(“ALL OK!!!!”);

                            break;

                        }

                    }

                    await Task.Delay(1000);// 1 s delay for next request

                    timeout–;

                    if(timeout==0)//Check for timeout

                    {

                        Console.WriteLine(“Timeout!”);

                        break;

                    }

                }

 

            }

 

            Console.ReadLine();

        }

 

        class ResponseMsgSendJson

        {

            public string code;

            public string status;

        }

 

        static async Task SendMsg()

        {

            //Fill body of post request

            var values = new Dictionary

              {

                  { “phoneNumber”, “09121111111” },   //your user name

                  { “passWord”, “12345678” }, //your password

                { “destPhoneNumbers”, DestinationNumber }, // destination number(s)

                { “text”, Message },    //Massege

                { “lines”, “09133333333” } // Your registered Whats-App line number(s)

              };

 

            var content = new FormUrlEncodedContent(values);

 

            //url for send message

            var response = await client.PostAsync(“http://whatspanel.ir/Api/SendMessage.php”, content);// wait for send request

 

            var responseString = await response.Content.ReadAsStringAsync();//wait for get response

 

            //deserialize json response

            ResponseMsgSendJson jsonDes = JsonConvert.DeserializeObject(responseString);

 

            return jsonDes;

        }

 

        class messageReport

        {

            public string DestPhoneNumber;

            public string Status;

        }

 

        class ResponseMsgStatusJson

       

            public string messageStatus;

            public List messageReport;

            public string status;

 

            public override string ToString()

           

                string reports = “”;

                if(messageReport != null && messageReport.Count>0)

               

                    foreach(var report in messageReport)

                   

                        reports+=string.Format(“{0}:{1}

               

                else

                {

                    reports = “No Reports”;

                }

 

                string str = string.Format(“Status:{0} , MsgStatus:{1} , reports:{{{2}}}”,status ,messageStatus,reports);

 

                return str;

           

       

 

        static async Task GetMsgStatus(string msgId)

        {

            //fill post request body

            var values = new Dictionary

              {

                  { “phoneNumber”, “09121111111” }, //your user name

                  { “passWord”, “12345678” }, // your password

                { “messageId”, msgId }, // the message id given by send massage request

              };

 

            var content = new FormUrlEncodedContent(values);

 

            //wait for send request

            var response = await client.PostAsync(“http://whatspanel.ir/Api/MessageStatus.php”, content);

 

            //wait for response

            var responseString = await response.Content.ReadAsStringAsync();

            //some possible resonses

            //{“messageStatus”:”approve”,”messageReport”:[],”status”:100}

            //{“messageStatus”:”approve”,”messageReport”:[{“DestPhoneNumber”:”0913xxxxxxx”,”Status”:”sending”}],”status”:100}

            try

            {

                ResponseMsgStatusJson jsonDes = JsonConvert.DeserializeObject(responseString);

                return jsonDes;

            }

            catch

            {

                return null;

            }

        }

ساخت ربات واتساپ با سی شارپ

فقط در انتهای این مقاله , نیاز به بیان این نکته بسیار مهم است که ابتدا باید از بخش NuGet کتابخانه‌های زیر را حتما نصب نمایید :

  • Newtonsoft.Json
  • System.Net.Http

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

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