Example #1
0
        public async Task <HttpResponseMessage> SendCardMessage(CardMessage cardMessage)
        {
            ResponseBase <IList <MMPro.MM.NewSendMsgRespone> > response = new ResponseBase <IList <MMPro.MM.NewSendMsgRespone> >();

            try
            {
                IList <MMPro.MM.NewSendMsgRespone> list = new List <MMPro.MM.NewSendMsgRespone>();
                cardMessage.CardNickName = string.IsNullOrEmpty(cardMessage.CardNickName) ? cardMessage.CardWxId : cardMessage.CardNickName;
                string appMessageFormat = $"<?xml version=\"1.0\"?>\n<msg bigheadimgurl=\"\" smallheadimgurl=\"\" username=\"{cardMessage.CardWxId}\" nickname=\"{cardMessage.CardNickName}\" fullpy=\"\" shortpy=\"\" alias=\"{cardMessage.CardAlias}\" imagestatus=\"0\" scene=\"17\" province=\"\" city=\"\" sign=\"\" sex=\"2\" certflag=\"0\" certinfo=\"\" brandIconUrl=\"\" brandHomeUrl=\"\" brandSubscriptConfigUrl=\"\" brandFlags=\"0\" regionCode=\"CN\" />\n";
                foreach (var item in cardMessage.ToWxIds)
                {
                    var result = wechat.SendNewMsg(cardMessage.WxId, item, appMessageFormat, 42);
                    list.Add(result);
                }
                response.Data = list;
            }
            catch (ExpiredException ex)
            {
                response.Success = false;
                response.Code    = "401";
                response.Message = ex.Message;
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Code    = "500";
                response.Message = ex.Message;
            }
            return(await response.ToHttpResponseAsync());
        }
Example #2
0
    void OnMessageReceive(NetworkMessage netMsg)
    {
        Log("Received message: " + netMsg.msgType);

        switch (netMsg.msgType)
        {
        case MsgType.Connect:
        {
            Log("Connected to the server");
            break;
        }

        case REQUEST:
        {
            Debug.Log("Received Golem");
            var         message = netMsg.ReadMessage <StringMessage>();
            CardMessage golem   = JsonUtility.FromJson <CardMessage>(message.value);
            if (golem.success == 1)
            {
                golemGenerator.GenerateGolem(golem, golemPosition);
            }
            else
            {
                GameObject.Find("NetworkManager").GetComponent <AudioSource>().Play();
            }
            break;
        }
        }
    }
Example #3
0
        private static AvailabilityMessageModel CreateResponseMessages(IntentRequest request, GetAvailabilityResponse availability, string hotelId)
        {
            var roomsAvailable = availability.Data.Any();
            var model          = new AvailabilityMessageModel(request, availability);

            if (string.IsNullOrEmpty(hotelId))
            {
                model.FulFillmentMessage = $"I could not find {model.HotelName} in my database.";

                return(model);
            }

            var ifNumberOfPeopleProvided = request.QueryResult.Parameters.Adults > 1 ? $" for {request.QueryResult.Parameters.Adults} people" : string.Empty;

            if (roomsAvailable)
            {
                var roomsWithRates = availability.Data.Where(d => d.Attributes.Rates.Any()).ToList();
                var allRates       = roomsWithRates.Select(r => (r, r.Attributes.Rates.First())).ToList();
                allRates = allRates.OrderBy(o => (int)Math.Round(o.Item2.PricePerNight.LocalCurrency.Amount)).ToList();
                var(bestRate, pricePerNight) = allRates.First();

                var roomString = availability.Data.Count == 1 ? "a room" : "rooms";
                model.FulFillmentMessage = $"{model.HotelName} has {roomString} available{ifNumberOfPeopleProvided} between {model.CheckInDate} and {model.CheckoutDate}. The best price is {pricePerNight.PricePerNight.LocalCurrency.Amount}Sek per night.";
                var cardMessage = new CardMessage
                {
                    Title    = $"{model.HotelName} room availability",
                    SubTitle = model.FulFillmentMessage
                };
                model.CardMessages.Add(cardMessage);


                var assistantSimpleResponse = new Simpleresponse
                {
                    TextToSpeech = model.FulFillmentMessage
                };
                model.SimpleResponses.Add(assistantSimpleResponse);
            }
            else
            {
                model.FulFillmentMessage = $"{model.HotelName} has no available rooms{ifNumberOfPeopleProvided} between {model.CheckInDate} and {model.CheckoutDate}.";
                var cardMessage = new CardMessage
                {
                    Title    = $"{model.HotelName} room availability",
                    SubTitle = model.FulFillmentMessage
                };
                model.CardMessages.Add(cardMessage);


                var assistantSimpleResponse = new Simpleresponse
                {
                    TextToSpeech = model.FulFillmentMessage
                };
                model.SimpleResponses.Add(assistantSimpleResponse);
            }

            return(model);
        }
Example #4
0
        private void EditCardExecuteCommand()
        {
            var message = new CardMessage()
            {
                Card = this.Card
            };

            message.ParentColumn = this.appContext.BoardRepository.FindColumn(this.Card);
            Messenger.Default.Send <CardMessage>(message, "EditCardMessage");
        }
Example #5
0
    private void loadCardsMessage(CardMessage cardMessage)
    {
        oponentCardCount = 1;

        ResetGameObjectsWithTag(true);

        loadPanelCardButtons(cardMessage.initialSetOfCards);

        loadOpponentPanelCardButtons(currentCardList.Count);
    }
Example #6
0
        private void AppMessaging_Click(object sender, AGConnectAppMessagingOnClickEventArgs e)
        {
            //You can get App message data from AGConnectAppMessagingOnDisplayEventArgs
            AppMessage message = e.AppMessage;

            if (message.MessageType == MessageType.Banner)
            {
                //Cast app message to BannerMessage
                BannerMessage banner = (BannerMessage)message;
                //Get banner detail
                Banner detail = banner.GetBanner();

                string title               = detail.Title;
                string pictureUrl          = detail.PictureUrl;
                int    bodyColorOpen       = detail.BodyColorOpenness;
                string bodyColor           = detail.BodyColor;
                string body                = detail.Body;
                int    backgroundColorOpen = detail.BackgroundColorOpenness;
                string actionUrl           = detail.ActionUrl;
                string titleColor          = detail.TitleColor;
                string backgroundColor     = detail.BackgroundColor;
                int    titleColorOpen      = detail.TitleColorOpenness;
            }
            else if (message.MessageType == MessageType.Picture)
            {
                //Cast app message to PictureMessage
                PictureMessage banner = (PictureMessage)message;
                //Get picture detail
                Picture detail = banner.GetPicture();

                string pictureUrl = detail.PictureUrl;
                string sctionUrl  = detail.ActionUrl;
            }
            else if (message.MessageType == MessageType.Card)
            {
                //Cast app message to CardMessage
                CardMessage banner = (CardMessage)message;
                //Get card detail
                Card detail = banner.GetCard();

                CardMessage.Button majorButton = detail.MajorButton;
                CardMessage.Button minorButton = detail.MinorButton;

                string text              = majorButton.Text;
                string actionUrl         = majorButton.ActionUrl;
                string textColor         = majorButton.TextColor;
                int    textColorOpenness = majorButton.TextColorOpenness;
            }
            SetAppMessageDetails(message);
        }
Example #7
0
    void OnAnswerClicked(bool answer)
    {
        CardMessage        cardMessage;
        TriviaCardsManager triviaCardsManager = gameObject.GetComponentInParent <TriviaCardsManager>();

        if (answer)
        {
            cardMessage = new CardMessage(gameObject, true);
            triviaCardsManager.SendMessage("CardMessageWhenClicked", cardMessage);
        }
        else if (!answer)
        {
            cardMessage = new CardMessage(gameObject, false);
            triviaCardsManager.SendMessage("CardMessageWhenClicked", cardMessage);
        }
    }
Example #8
0
        /// <summary>
        /// 메시지 수신 Handler
        /// </summary>
        /// <param name="session"></param>
        /// <param name="message"></param>
        public override void MessageReceived(IoSession session, Object message)
        {
            try
            {
                Message baseMessage = (Message)message;
                Console.WriteLine(String.Format("{0} : ", baseMessage.getSender().nickName));

                Type msgType = message.GetType();
                if (msgType == typeof(String))
                {
                    Console.WriteLine(message);
                }
                else if (msgType == typeof(PostStarMessage))
                {
                    PostStarMessage starMessage = (PostStarMessage)message;
                    Console.WriteLine(String.Format("{0}", starMessage.text));

                    PostStarMessage reStarMessage = new PostStarMessage(baseMessage.getSender());
                    reStarMessage.text = "잘 받았어요.";
                    session.Write(reStarMessage);
                }
                else if (msgType == typeof(CardMessage))
                {
                    CardMessage cardMessage = (CardMessage)message;
                    Console.WriteLine(String.Format("CARD TITLE : {0}", cardMessage.cardTitle));
                    Console.WriteLine(String.Format("CARD BODY : {0}", cardMessage.cardBody));
                }
                else
                {
                    throw new Exception("알 수 없는 메시지 형식입니다.");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                session.Close(false);
            }
        }
Example #9
0
        /// <summary>
        /// Card message is created and added to the message collection.
        /// </summary>
        /// <param name="activity">Activity that contains card attachments.</param>
        private void AddCardMessage(Activity activity)
        {
            CardMessage cardMessage = new CardMessage();

            cardMessage.Text   = activity.Text;
            cardMessage.Author = this.ViewModel.Bot;
            ObservableCollection <Card> cards = new ObservableCollection <Card>();

            System.Collections.Generic.IList <Microsoft.Bot.Schema.Attachment> attachments = activity.Attachments as System.Collections.Generic.IList <Microsoft.Bot.Schema.Attachment>;
            HeroCard heroCard = new HeroCard();

            foreach (Attachment attachment in attachments)
            {
                var type = attachment.ContentType;
                if (type == "application/vnd.microsoft.card.hero")
                {
                    var temp = JsonConvert.SerializeObject(attachment.Content);
                    heroCard = JsonConvert.DeserializeObject <HeroCard>(temp);
                }

                WebClient Client    = new WebClient();
                var       byteArray = Client.DownloadData(heroCard.Images[0].Url.ToString());
                Card      card      = new Card()
                {
                    Title       = heroCard.Title.ToString(),
                    Description = heroCard.Text.ToString(),
                    Image       = ImageSource.FromStream(() => new MemoryStream(byteArray))
                };

                card.Buttons.Add(new CardButton()
                {
                    Value = heroCard.Buttons[0].Value.ToString(), Title = heroCard.Buttons[0].Title
                });
                cards.Add(card);
            }

            cardMessage.Cards = cards;
            this.ViewModel.Messages?.Add(cardMessage);
        }
Example #10
0
 protected virtual void ReceiveCardMessage(IoSession session, CardMessage cardMessage)
 {
     Console.WriteLine(String.Format("CARD TITLE : {0}", cardMessage.cardTitle));
     Console.WriteLine(String.Format("CARD BODY : {0}", cardMessage.cardBody));
 }
Example #11
0
 private void EditCardMessageReceived(CardMessage msgData)
 {
     this.EditCard = msgData;
 }
Example #12
0
 private void RemoveCardMessageReceived(CardMessage msgData)
 {
     this.columnRepository.RemoveCard(msgData.Card);
     this.InitializeCards();
 }
Example #13
0
    private void loadCardsMessage(CardMessage cardMessage)
    {
        loadPanelCardButtons(cardMessage.initialSetOfCards, false);

        loadOpponentPanelCardButtons(currentCardList.Count);
    }