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()); }
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; } } }
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); }
private void EditCardExecuteCommand() { var message = new CardMessage() { Card = this.Card }; message.ParentColumn = this.appContext.BoardRepository.FindColumn(this.Card); Messenger.Default.Send <CardMessage>(message, "EditCardMessage"); }
private void loadCardsMessage(CardMessage cardMessage) { oponentCardCount = 1; ResetGameObjectsWithTag(true); loadPanelCardButtons(cardMessage.initialSetOfCards); loadOpponentPanelCardButtons(currentCardList.Count); }
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); }
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); } }
/// <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); } }
/// <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); }
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)); }
private void EditCardMessageReceived(CardMessage msgData) { this.EditCard = msgData; }
private void RemoveCardMessageReceived(CardMessage msgData) { this.columnRepository.RemoveCard(msgData.Card); this.InitializeCards(); }
private void loadCardsMessage(CardMessage cardMessage) { loadPanelCardButtons(cardMessage.initialSetOfCards, false); loadOpponentPanelCardButtons(currentCardList.Count); }