Ejemplo n.º 1
0
        private static void Main(string[] args)
        {
            var tmpEncoding = Encoding.UTF8;

            System.Console.OutputEncoding = Encoding.Default;
            System.Console.InputEncoding  = Encoding.Default;
            string nickname = "WhatsAPI Test";
            string sender   = "3526********";                // Mobile number with country code (but without + or 00)
            string password = "******"; //v2 password
            string target   = "316********";                 // Mobile number to send the message to

            WhatsApp wa = new WhatsApp(sender, password, nickname, true);

            wa.Connect();
            wa.Login();
            wa.PollMessages();

            wa.Message(target, "Hi this is sent using WhatsApiNet");
            wa.PollMessages();

            ProcessChat(wa, "");

            Console.ReadKey();
        }
Ejemplo n.º 2
0
        private static void ProcessChat(WhatsApp wa, string dst)
        {
            var thRecv = new Thread(t =>
            {
                try
                {
                    while (wa != null)
                    {
                        if (!wa.HasMessages())
                        {
                            wa.PollMessages();
                            Thread.Sleep(100);
                            continue;
                        }
                        var buff = wa.GetAllMessages();
                    }
                }
                catch (ThreadAbortException)
                {
                }
            })
            {
                IsBackground = true
            };

            thRecv.Start();
            WhatsUserManager usrMan = new WhatsUserManager();
            var tmpUser             = usrMan.CreateUser(dst, "User");

            while (true)
            {
                string line = Console.ReadLine();
                if (line == null && line.Length == 0)
                {
                    continue;
                }

                string command = line.Trim();
                switch (command)
                {
                case "/query":
                    //var dst = dst//trim(strstr($line, ' ', FALSE));
                    PrintToConsole("[] Interactive conversation with {0}:", tmpUser);
                    break;

                case "/accountinfo":
                    PrintToConsole("[] Account Info: {0}", wa.GetAccountInfo().ToString());
                    break;

                case "/lastseen":
                    PrintToConsole("[] Request last seen {0}", tmpUser);
                    wa.RequestLastSeen(tmpUser.GetFullJid());
                    break;

                case "/exit":
                    wa = null;
                    thRecv.Abort();
                    return;

                case "/start":
                    wa.WhatsSendHandler.SendComposing(tmpUser.GetFullJid());
                    break;

                case "/pause":
                    wa.WhatsSendHandler.SendPaused(tmpUser.GetFullJid());
                    break;

                case "/register":
                {
                    RegisterAccount();
                    break;
                }

                default:
                    PrintToConsole("[] Send message to {0}: {1}", tmpUser, line);
                    wa.Message(tmpUser.GetFullJid(), line);
                    break;
                }
            }
        }