Exemplo n.º 1
0
        static void Main(string[] args)
        {
            string uuid         = "<bot uuid>";
            string access_token = "<bot access_token>";

            // Create avaamo client using websocket
            Avaamo.Client avaamo = new Avaamo.Client(uuid, access_token, false);

            // Using https polling
            // Avaamo.Client avaamo = new Avaamo.Client(uuid, access_token, true);

            // Assign the message handler
            avaamo.MessageHandeler += new Avaamo.MessageHandeler(ProcessMessage);

            // Assign Read Acknowledgemt handler
            avaamo.ReadAckHandler += new Avaamo.ReadAckHandler(ProcessReadAck);

            // Assign User Visited handler
            avaamo.UserVisitedHandler += new Avaamo.UserVisitedHandler(HandleOnUserVisited);

            // Connect to avaamo server
            avaamo.Connect();
        }
Exemplo n.º 2
0
        static void ProcessMessage(object sender, Avaamo.MessageArgs e)
        {
            string imagePath    = "C:\\Users\\User1\\Downloads\\rocket.jpg";
            string filePath     = "C:\\Users\\User1\\Downloads\\notes.pdf";
            string DownloadPath = "C:\\Users\\User1\\Downloads\\assets\\";

            Avaamo.IncomingMessage incoming_message = e.Message();
            Avaamo.Message         message          = incoming_message.message;
            Avaamo.Client          client           = e.Client();
            switch (message.content_type)
            {
            case "text":
                switch (message.content.ToLower())
                {
                case "text":
                    // Send text message
                    client.SendTextMessage(message.conversation, "Hello");
                    break;

                case "image":
                    // Send Image Attachment without caption
                    Avaamo.Image img = new Avaamo.Image(new Uri("http://shepherdspiehole.typepad.com/.a/6a0167621b7ded970b017d3eba4c8a970c-pi"));
                    // OR
                    //Avaamo.Image img = new Avaamo.Image(imagePath);
                    client.SendAttachment(message.conversation, img);
                    break;

                case "image and caption":
                    // Send Image Attachment with caption
                    Avaamo.Image img1 = new Avaamo.Image(imagePath);
                    img1.setCaption("Just an caption");
                    client.SendAttachment(message.conversation, img1);
                    break;

                case "file":
                    Avaamo.File file = new Avaamo.File(filePath);
                    client.SendAttachment(message.conversation, file);
                    break;

                case "card":
                    Avaamo.Card card = new Avaamo.Card("Hello", "descriptions <b>lols</b>");

                    // Add showcase image for card
                    Avaamo.Image showcase_image = new Avaamo.Image(new Uri("http://shepherdspiehole.typepad.com/.a/6a0167621b7ded970b017d3eba4c8a970c-pi"));
                    card.addShowCaseImage(showcase_image);

                    // Add Web page link to the card
                    Avaamo.Links.Web web_link = new Avaamo.Links.Web("Google", "https://google.com");
                    card.addLink(web_link);

                    // Add Link which posts the message to the conversation
                    Avaamo.Links.SendMessage message_link = new Avaamo.Links.SendMessage("Post Message", "Sample");
                    card.addLink(message_link);

                    // Add link which opens the form and submit in the same conversation
                    Avaamo.Links.FormLink form_link = new Avaamo.Links.FormLink("Submit Form", "8e893b85-f206-4156-ae49-e917d584bcf3", "Rate Me");
                    card.addLink(form_link);

                    client.SendCard(message.conversation, card);
                    break;

                default:
                    client.SendTextMessage(message.conversation, "Please type one of the following: \ntext\nimage\nimage and caption\nfile\ncard");
                    break;
                }
                break;

            case "form_response":
                Console.WriteLine(message.form_response.uuid);
                foreach (Avaamo.FormQuestion q in message.form_response.questions)
                {
                    Console.WriteLine(q.title);
                    Console.WriteLine(q.answer);
                    if (q.title == "Rating")
                    {
                        if (Int32.Parse(q.answer) < 4)
                        {
                            client.SendTextMessage(message.conversation, "Why so less?");
                        }
                        else
                        {
                            client.SendTextMessage(message.conversation, String.Format("Thank you for rating us with {0} stars", q.answer));
                        }
                    }
                    var files = q.Files();
                    Console.WriteLine("Assets Count: " + files.Count);
                    for (int i = 0; i < files.Count; i++)
                    {
                        var asset = files[i];
                        asset.Download(DownloadPath + asset.file_name);
                    }
                    Console.WriteLine("***********");
                }
                break;

            case "photo":
            case "video":
            case "file":
            case "audio":
                Console.WriteLine(message.content_type + " recieved.");
                var ast = message.attached_asset;
                ast.Download(DownloadPath + ast.file_name);
                break;
            }
        }