public async Task MakeActionByPayload(Postback postback, long senderId) { var state = StateHelper.GetState(postback.Payload); switch (state) { case State.START: await _messagingService.GetStarted(senderId); break; case State.DEPARTURE_TO: await _messagingService.HandleDepartureTo(senderId); break; case State.DEPARTURE_TO_COUNTRIES: await _messagingService.HandleDepartureToCountries(senderId, postback.Title); break; case State.DEPARTURE_TO_CITIES: await _messagingService.HandleDepartureToCities(senderId, postback.Title); break; } }
public void FindPostbackTest() { Postback postback = transaction.Postbacks.FindAll(new Postback()).FirstOrDefault(); Postback postbackReturned = transaction.Postbacks.Find(postback.Id); Assert.IsNotNull(postbackReturned.Id); }
public DialogConfiguration(HtmlHelper htmlHelper, string target, RouteValueDictionary url, Postback postback) { _postback = postback; _url = url; _htmlHelper = htmlHelper; Target = target; }
public void RedeliverPostbackTest() { Postback postback = transaction.Postbacks.FindAll(new Postback()).FirstOrDefault(); postback.Redeliver(); Assert.IsTrue(postback.Status == PostbackStatus.PendingRetry); }
private async Task ProcessPostBack(string userId, string username, Postback postback) { if (postback.Payload == _quickReplyPayload_IsNotUserMsg) { await _Bot.SendApi.SendTextAsync(userId, $"Sorry about that {username}, try sending something else."); } else if (postback.Payload == _quickReplyPayload_IsUserMsg) { await _Bot.SendApi.SendTextAsync(userId, $"Yay! We got it."); } }
private void _executePostback() { var postback = new Postback { Currency = "USD", PaymentCode = "001122", PaymentDate = DateTime.UtcNow, PaymentSuccessful = true, Amount = double.Parse("100"), TransactionId = oauth_verifier }; PostbackApi.Create(postback); }
public PostbackEvent(WebhookEventSource source, long timestamp, string replyToken, Postback postback, string mode, string webhookEventId, DeliveryContext deliveryContext) : base(WebhookEventType.Postback, source, timestamp, replyToken, mode, webhookEventId, deliveryContext) { Postback = postback; }
public PostbackEvent(WebhookEventSource source, long timestamp, string replyToken, Postback postback, string mode) : base(WebhookEventType.Postback, source, timestamp, replyToken, mode) { Postback = postback; }
internal static WebhookEvent CreateFrom(dynamic dynamicObject) { if (dynamicObject == null) { throw new ArgumentNullException(nameof(dynamicObject)); } var eventSource = WebhookEventSource.CreateFrom(dynamicObject?.source); if (eventSource == null) { return(null); } if (!Enum.TryParse((string)dynamicObject.type, true, out WebhookEventType eventType)) { return(null); } switch (eventType) { case WebhookEventType.Message: EventMessage eventMessage = EventMessage.CreateFrom(dynamicObject); if (eventMessage == null) { return(null); } return(new MessageEvent(eventSource, (long)dynamicObject.timestamp, eventMessage, (string)dynamicObject.replyToken)); case WebhookEventType.Follow: return(new FollowEvent(eventSource, (long)dynamicObject.timestamp, (string)dynamicObject.replyToken)); case WebhookEventType.Unfollow: return(new UnfollowEvent(eventSource, (long)dynamicObject.timestamp)); case WebhookEventType.Join: return(new JoinEvent(eventSource, (long)dynamicObject.timestamp, (string)dynamicObject.replyToken)); case WebhookEventType.Leave: return(new LeaveEvent(eventSource, (long)dynamicObject.timestamp)); case WebhookEventType.Postback: var postback = new Postback( (string)dynamicObject.postback?.data, (string)dynamicObject.postback?.@params?.date, (string)dynamicObject.postback?.@params?.time, (string)dynamicObject.postback?.@params?.datetime); return(new PostbackEvent(eventSource, (long)dynamicObject.timestamp, (string)dynamicObject.replyToken, postback)); case WebhookEventType.Beacon: if (!Enum.TryParse((string)dynamicObject.beacon.type, true, out BeaconType beaconType)) { return(null); } return(new BeaconEvent(eventSource, (long)dynamicObject.timestamp, (string)dynamicObject.replyToken, (string)dynamicObject.beacon.hwid, beaconType, (string)dynamicObject.beacon.dm)); case WebhookEventType.AccountLink: var link = new Link((string)dynamicObject.link?.result, (string)dynamicObject.link?.nonce); return(new AccountLinkEvent(eventSource, (long)dynamicObject.timestamp, (string)dynamicObject.replyToken, link)); case WebhookEventType.Things: var thingsType = (ThingsType)Enum.Parse(typeof(ThingsType), (string)dynamicObject.things?.type, true); var things = new Things((string)dynamicObject.things?.deviceId, thingsType); return(DeviceEvent.Create(eventSource, (long)dynamicObject.timestamp, things)); case WebhookEventType.MemberJoined: var joinedMembers = new List <WebhookEventSource>(); foreach (var member in dynamicObject.joined.members) { joinedMembers.Add(WebhookEventSource.CreateFrom(member)); } return(new MemberJoinEvent(eventSource, (long)dynamicObject.timestamp, (string)dynamicObject.replyToken, joinedMembers)); case WebhookEventType.MemberLeft: var leftMembers = new List <WebhookEventSource>(); foreach (var member in dynamicObject.left.members) { leftMembers.Add(WebhookEventSource.CreateFrom(member)); } return(new MemberLeaveEvent(eventSource, (long)dynamicObject.timestamp, leftMembers)); default: return(null); } }