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

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

با استفاده از 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

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

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