Exemplo n.º 1
0
        /// <summary>
        /// Upload the received data to blob and returns the address
        /// </summary>
        private async Task HandleMediaAsync(EventMessageType type, string replyToken, string messageId, string blobDirectoryName, string blobName)
        {
            var stream = await messagingClient.GetContentStreamAsync(messageId);

            var ext = GetFileExtension(stream.ContentHeaders.ContentType.MediaType);
            var uri = await blobStorage.UploadFromStreamAsync(stream, blobDirectoryName, blobName + ext);

            ISendMessage reply = null;

            switch (type)
            {
            case EventMessageType.Audio:
                reply = new AudioMessage(uri.ToString(), 100);
                break;

            case EventMessageType.Image:
                reply = new ImageMessage(uri.ToString(), uri.ToString());
                break;

            case EventMessageType.Video:
                reply = new VideoMessage(uri.ToString(), "https://linetestbot123.blob.core.windows.net/linebotcontainer/User_U21d2cd1795be4caa1a32d069fe7b323f/7015056697532.jpeg");
                break;

            case EventMessageType.File:
                reply = new TextMessage(uri.ToString());
                break;
            }
            await messagingClient.ReplyMessageAsync(replyToken, new List <ISendMessage> {
                reply
            });

            //await messagingClient.ReplyMessageAsync(replyToken, uri.ToString());
        }
Exemplo n.º 2
0
        protected override async Task OnMemberJoinAsync(MemberJoinEvent ev)
        {
            if (ev.Source.Id == groupId)
            {
                var User_Name = lineMessagingClient.GetGroupMemberProfileAsync(ev.Source.Id, ev.Joined.Members[0].UserId);

                //入会時
                var messages = new ISendMessage[]
                {
                    new FlexMessage("こんにちは", FlexMessageText.Flex_Greeting(), null, sender_admin)
                };

                await lineMessagingClient.ReplyMessageAsync(ev.ReplyToken, messages);

                //CosmosDB
                await database.MemberAdd(new Member
                {
                    id         = ev.Joined.Members[0].UserId,
                    name       = User_Name.Result.DisplayName,
                    newername  = User_Name.Result.DisplayName,
                    joinedDate = DateTime.UtcNow.AddHours(9).ToString("yyyy/MM/dd h:mm"),
                    leavedDate = null
                });
            }
        }
 public ThirdpartyRatesController(ISendMessage <Contracts.CreateQuote> sender,
                                  IQueryRA <ThirdPartyRate> query, ICommandRA <ThirdPartyRate> command)
 {
     this.sender  = sender;
     this.command = command;
     this.query   = query;
 }
Exemplo n.º 4
0
        public static RabbitMessage ConvertMessageToRabbitMessage(ISendMessage message, IModel model)
        {
            var rabbitMessage = CreateMessage(message.GetDto(), message.GetDtoType(), message.Header.ContentType, model);

            AddMessageDetailsToMessage(message.Header, rabbitMessage);
            return(rabbitMessage);
        }
Exemplo n.º 5
0
        private async Task <IPlayer?> CheckNickname(ISendMessage sendMessage, string playerToEat, bool restrictOnWerefox)
        {
            var playerEaten = CurrentGame.GetByName(playerToEat);

            if (playerEaten == null)
            {
                await sendMessage.SendMessageAsync($":name_badge: no player with the nickname: {playerToEat}.");

                return(null);
            }

            if (playerEaten.State == PlayerState.Dead)
            {
                await sendMessage.SendMessageAsync(
                    $":name_badge: {playerEaten.GetMention()} is {PlayerState.Dead.ToDescription()}. Choose somebody else.");

                return(null);
            }

            if (restrictOnWerefox && playerEaten.Card == Card.Werefox)
            {
                await sendMessage.SendMessageAsync(
                    $":name_badge: {playerEaten.GetMention()} is a {playerEaten.Card.ToDescription()}. Choose somebody else.");

                return(null);
            }

            await sendMessage.SendMessageAsync($":envelope_with_arrow: You vote for: ({playerEaten.GetMention()}) !");

            return(playerEaten);
        }
Exemplo n.º 6
0
 public async Task Send(ISendMessage message)
 {
     var rabbitMessage = MessageToRabbitMqMessageConvertor.ConvertMessageToRabbitMessage(message, _model);
     await Task.Run(() => {
         _model.BasicPublish(_exchange, _routingKey, rabbitMessage.BasicProperties, rabbitMessage.Body);
     });
 }
 public RegistrationController(
     ILogger <RegistrationController> logger,
     ISendMessage sender
     )
 {
     _logger = logger;
     _sender = sender;
 }
Exemplo n.º 8
0
 public async Task PushLineMessage(ISendMessage replyMessage)
 {
     LineMessagingClient lineMessagingClient = new LineMessagingClient(System.Configuration.ConfigurationManager.AppSettings["ChannelAccessToken"]);
     var debugUserId = System.Configuration.ConfigurationManager.AppSettings["DebugUser"];
     await lineMessagingClient.PushMessageAsync(debugUserId, new List <ISendMessage> {
         replyMessage
     });
 }
Exemplo n.º 9
0
 public async Task ContinueVerification(string Id)
 {
     var mes = new ISendMessage[]
     {
         new TextMessage("継続希望を確認しました", null, sender_admin)
     };
     await lineMessagingClient.PushMessageAsync(Id, mes);
 }
Exemplo n.º 10
0
 public async Task <IMessage> TryQueueSend(ISendMessage message)
 {
     try {
         return(await QueueSend(message).ConfigureAwait(false));
     } catch (IOException e) {
         this.Logger().FormattedWarnException(e);
         return(null);
     }
 }
Exemplo n.º 11
0
 public SalaryApplicationService(
     ILogger <SalaryApplicationService> logger,
     ISendMessage sendMessageService,
     IFinancingService service)
 {
     _logger                  = logger;
     _sendMessageService      = sendMessageService;
     _financingServiceService = service;
 }
Exemplo n.º 12
0
        public static ISendMessage[] Convert(ISendMessage[] messages)
        {
            if (messages.Length > 5)
            {
                throw new InvalidOperationException("The maximum number of messages is 5.");
            }

            ISendMessage[] result = new ISendMessage[messages.Length];

            for (int i = 0; i < messages.Length; i++)
            {
                if (messages[i] == null)
                {
                    throw new InvalidOperationException("The message should not be null.");
                }

                switch (messages[i])
                {
                case ITextMessage textMessage:
                    result[i] = TextMessage.Convert(textMessage);
                    break;

                case IImageMessage imageMessage:
                    result[i] = ImageMessage.Convert(imageMessage);
                    break;

                case IVideoMessage videoMessage:
                    result[i] = VideoMessage.Convert(videoMessage);
                    break;

                case IAudioMessage audioMessage:
                    result[i] = AudioMessage.Convert(audioMessage);
                    break;

                case ILocationMessage locationMessage:
                    result[i] = LocationMessage.Convert(locationMessage);
                    break;

                case IStickerMessage stickerMessage:
                    result[i] = StickerMessage.Convert(stickerMessage);
                    break;

                case IImagemapMessage imagemapMessage:
                    result[i] = ImagemapMessage.Convert(imagemapMessage);
                    break;

                case ITemplateMessage templateMessage:
                    result[i] = TemplateMessage.Convert(templateMessage);
                    break;

                default:
                    throw new NotSupportedException("Invalid message type.");
                }
            }

            return(result);
        }
        public async Task SendMessage(ISendMessage message, string connectionString, string exchange, string routingKey)
        {
            _logger.Information(AppendingPrimaryKeyInfoToMessage("RabbitMQSenderGrain.SendMessage() enter"));

            using (_sender = new RabbitMqQueueSender(connectionString, exchange, routingKey))
            {
                await _sender.Send(message);
            }
            _logger.Information(AppendingPrimaryKeyInfoToMessage("RabbitMQSenderGrain.SendMessage() exit"));
        }
Exemplo n.º 14
0
        private void TrySend(ISendMessage message, EPriority priority)
        {
            if (_sender == null)
            {
                MessageBox.Show("Please connect first", "Connection error");
                return;
            }

            _sender.SendMessage(message, priority);
        }
Exemplo n.º 15
0
 private async Task SendSingle(ISendMessage social, string message)
 {
     try
     {
         await social.SendMessageAsync(message);
     }
     catch (Exception ex)
     {
         this.logger.LogError(ex, "Error while publishing. Going on...");
     }
 }
Exemplo n.º 16
0
        private async Task Navigate(object paramter, ViewModelPage view, Frame content)
        {
            await view.Navigate(content, paramter);

            ISendMessage send = view.ViewModel;

            if (send != null)
            {
                send.SendMessageHandler += (sender, message) => ReceiveMessage(sender, message);
            }
        }
Exemplo n.º 17
0
        public async Task SendMessageAsync(IWebSocket socket, ISendMessage message)
        {
            var buffer = deserializer.SerializeToBuffer(message);

            logger.LogInformation($"Sending msg: {message.GetType()}");
            if (socket.State == WebSocketState.Open)
            {
                await socket.SendAsync(buffer, WebSocketMessageType.Text,
                                       true, CancellationToken.None);
            }
        }
Exemplo n.º 18
0
        public virtual void Send(ISendMessage message)
        {
            if (message == null)
            {
                throw new ArgumentNullException("message");
            }

            if (_serialPort.IsOpen)
            {
                MessageResponse = message.ResponseMessage;
                _serialPort.Write(message.ToString());
            }
        }
Exemplo n.º 19
0
 public MessageController(
     IGetMessage getMessage,
     IListMessages listMessages,
     ISendMessage sendMessage,
     IScheduleMessage scheduleMessage,
     IModifyMessage modifyMessage,
     IUnscheduleMessage unscheduleMessage)
 {
     _getMessage        = getMessage;
     _listMessages      = listMessages;
     _sendMessage       = sendMessage;
     _scheduleMessage   = scheduleMessage;
     _modifyMessage     = modifyMessage;
     _unscheduleMessage = unscheduleMessage;
 }
Exemplo n.º 20
0
        public async Task <IMessage> QueueSend(ISendMessage command)
        {
            var tcs = new TaskCompletionSource <IMessage>();

            var done = await TryQueueSend(command, tcs).ConfigureAwait(false);

            if (done)
            {
                lock (_tasks) {
                    _tasks.Add(new SentCommand(tcs, command));
                }
            }

            return(await tcs.Task.ConfigureAwait(false));
        }
Exemplo n.º 21
0
        private async Task HandleTextAsync(string replyToken, string userMessage, string userId)
        {
            userMessage = userMessage.ToLower().Replace(" ", "");
            ISendMessage replyMessage = null;

            if (userMessage == "buttons")
            {
                replyMessage = new TemplateMessage("Button Template",
                                                   new ButtonsTemplate(text: "ButtonsTemplate", title: "Click Buttons.",
                                                                       actions: new List <ITemplateAction> {
                    new MessageTemplateAction("Message Label", "sample data"),
                    new PostbackTemplateAction("Postback Label", "sample data", "sample data"),
                    new UriTemplateAction("Uri Label", "https://github.com/kenakamu")
                }));
            }
        }
Exemplo n.º 22
0
        public SmsSendService(IRedis redis, ISendMessage send, IRepository <SmsConfigs> resp)
        {
            _serverUrl = ConfigurationManager.ConnectionStrings["Signalr"].ConnectionString;

            _timer = new Timer(30000)
            {
                Enabled = true
            };

            _timer.Elapsed += _timer_Elapsed;

            _redis = redis;

            _send = send;

            _resp = resp;
        }
        private static bool IsInvalidMessageType(ISendMessage message)
        {
            if (message is TextMessage)
            {
                return(false);
            }

            if (message is ImageMessage)
            {
                return(false);
            }

            if (message is VideoMessage)
            {
                return(false);
            }

            if (message is AudioMessage)
            {
                return(false);
            }

            if (message is LocationMessage)
            {
                return(false);
            }

            if (message is StickerMessage)
            {
                return(false);
            }

            if (message is ImagemapMessage)
            {
                return(false);
            }

            if (message is TemplateMessage)
            {
                return(false);
            }

            return(true);
        }
Exemplo n.º 24
0
        async Task <bool> TryQueueSend(ISendMessage command, TaskCompletionSource <IMessage> tcs)
        {
            var done = false;

            try {
                await Write(command.ToGameCommand()).ConfigureAwait(false);

                if (!(command is IReceiveMessage))
                {
                    tcs.SetResult(command);
                }
                else
                {
                    done = true;
                }
            } catch (Exception e) {
                tcs.SetException(e);
            }
            return(done);
        }
        public byte[] Generate(ISendMessage command)
        {
            var payload = GetBytes(command.Payload);

            var buffer = new byte[14];

            buffer[0] = (byte)ReceiverFraming.FrameStart;
            buffer[1] = (byte)command.Node;
            buffer[2] = (byte)command.CommandType;

            Buffer.BlockCopy(payload, 0, buffer, 3, payload.Length);

            var crcBytes = CalculateCrc(buffer);

            buffer[11] = crcBytes[0];
            buffer[12] = crcBytes[1];
            buffer[13] = (byte)ReceiverFraming.FrameEnd;

            return(buffer);
        }
Exemplo n.º 26
0
        protected override async Task OnMemberLeaveAsync(MemberLeaveEvent ev)
        {
            if (ev.Source.Id == groupId)
            {
                //CosmosDB
                await database.MemberLeave(ev.Left.Members[0].UserId);

                var mes1 = new ISendMessage[]
                {
                    new TextMessage("グループに参加していただきありがとうございました。このBOTはブロック削除をしてください。", null, sender_admin)
                };
                var mes2 = new ISendMessage[]
                {
                    new TextMessage("誰かが退会しました", null, sender_admin)
                };

                await lineMessagingClient.PushMessageAsync(ev.Left.Members[0].UserId, mes1);

                await lineMessagingClient.PushMessageAsync(Environment.GetEnvironmentVariable("ADMIN_GROUP"), mes2);
            }
        }
Exemplo n.º 27
0
        private async Task HandleTextAsync(string replyToken, string userMessage, string userId)
        {
            userMessage = userMessage.ToLower().Replace(" ", "");
            ISendMessage replyMessage = null;

            if (userMessage == "buttons")
            {
                replyMessage = new TemplateMessage("Button Template",
                                                   new ButtonsTemplate(text: "ButtonsTemplate", title: "Click Buttons.",
                                                                       actions: new List <ITemplateAction> {
                    new MessageTemplateAction("Message Label", "sample data"),
                    //new PostbackTemplateAction("Postback Label", "sample data", "sample data"),
                    new PostbackTemplateAction("Postback Label", "sample data"),
                    new UriTemplateAction("Uri Label", "https://github.com/kenakamu")
                }));
            }
            else if (userMessage == "confirm")
            {
                replyMessage = new TemplateMessage("Confirm Template",
                                                   new ConfirmTemplate("ConfirmTemplate", new List <ITemplateAction> {
                    new MessageTemplateAction("Yes", "Yes"),
                    new MessageTemplateAction("No", "No")
                }));
            }
            else if (userMessage == "carousel")
            {
                List <ITemplateAction> actions1 = new List <ITemplateAction>();
                List <ITemplateAction> actions2 = new List <ITemplateAction>();

                // Add actions.
                actions1.Add(new MessageTemplateAction("Message Label", "sample data"));
                actions1.Add(new PostbackTemplateAction("Postback Label", "sample data", "sample data"));
                actions1.Add(new UriTemplateAction("Uri Label", "https://github.com/kenakamu"));

                // Add datetime picker actions
                actions2.Add(new DateTimePickerTemplateAction("DateTime Picker", "DateTime",
                                                              DateTimePickerMode.Datetime, "2017-07-21T13:00", null, null));
                actions2.Add(new DateTimePickerTemplateAction("Date Picker", "Date",
                                                              DateTimePickerMode.Date, "2017-07-21", null, null));
                actions2.Add(new DateTimePickerTemplateAction("Time Picker", "Time",
                                                              DateTimePickerMode.Time, "13:00", null, null));

                replyMessage = new TemplateMessage("Button Template",
                                                   new CarouselTemplate(new List <CarouselColumn> {
                    new CarouselColumn("Casousel 1 Text", "https://github.com/apple-touch-icon.png",
                                       "Casousel 1 Title", actions1),
                    new CarouselColumn("Casousel 1 Text", "https://github.com/apple-touch-icon.png",
                                       "Casousel 1 Title", actions2)
                }));
            }
            else if (userMessage == "imagecarousel")
            {
                UriTemplateAction action = new UriTemplateAction("Uri Label", "https://github.com/namhoaingo");

                replyMessage = new TemplateMessage("ImageCarouselTemplate",
                                                   new ImageCarouselTemplate(new List <ImageCarouselColumn> {
                    new ImageCarouselColumn("https://github.com/apple-touch-icon.png", action),
                    new ImageCarouselColumn("https://github.com/apple-touch-icon.png", action),
                    new ImageCarouselColumn("https://github.com/apple-touch-icon.png", action),
                    new ImageCarouselColumn("https://github.com/apple-touch-icon.png", action),
                    new ImageCarouselColumn("https://github.com/apple-touch-icon.png", action)
                }));
            }
            else if (userMessage == "imagemap")
            {
                replyMessage = new ImagemapMessage("https://d412efff.ngrok.io/api/image/DeathStar2",
                                                   "Image has some problem to load",
                                                   new ImagemapSize(1040, 1040),
                                                   new List <IImagemapAction> {
                    new UriImagemapAction(
                        new ImagemapArea(0, 0, 520, 1040), "https://24aa4e3a.ngrok.io/account/Signin/" + userId),
                    new MessageImagemapAction(
                        new ImagemapArea(520, 0, 520, 1040), "https://www.diffnow.com/"),
                }
                                                   );
            }
            else if (userMessage == "addrichmenu")
            {
                throw new NotImplementedException();
            }
            else if (userMessage == "deleterichmenu")
            {
                // Get Rich Menu for the user
                var richMenuId = await messagingClient.GetRichMenuIdOfUserAsync(userId);

                await messagingClient.UnLinkRichMenuFromUserAsync(userId);

                await messagingClient.DeleteRichMenuAsync(richMenuId);

                replyMessage = new TextMessage("Rich menu deleted");
            }
            else if (userMessage == "deleteallrichmenu")
            {
                // Get Rich Menu for the user
                var richMenuList = await messagingClient.GetRichMenuListAsync();

                foreach (var richMenu in richMenuList)
                {
                    await messagingClient.DeleteRichMenuAsync(richMenu.RichMenuId);
                }
                replyMessage = new TextMessage("All rich menu added");
            }
            else if (userMessage == "hello,world")
            {
                return;
            }
            else
            {
                //replyMessage = new TextMessage("https://d412efff.ngrok.io/Assets/DeathStar2.jpg");
                return;
            }

            await messagingClient.ReplyMessageAsync(replyToken, new List <ISendMessage> {
                replyMessage
            });
        }
Exemplo n.º 28
0
        private async Task HandleTextAsync(string replyToken, string userMessage, string userId)
        {
            userMessage = userMessage.ToLower().Replace(" ", "");
            ISendMessage replyMessage = null;

            if (userMessage == "buttons")
            {
                replyMessage = new TemplateMessage("Button Template",
                                                   new ButtonsTemplate(text: "ButtonsTemplate", title: "Click Buttons.",
                                                                       actions: new List <ITemplateAction> {
                    new MessageTemplateAction("Message Label", "sample data"),
                    new PostbackTemplateAction("Postback Label", "sample data", "sample data"),
                    new UriTemplateAction("Uri Label", "https://github.com/kenakamu")
                }));
            }
            else if (userMessage == "confirm")
            {
                replyMessage = new TemplateMessage("Confirm Template",
                                                   new ConfirmTemplate("ConfirmTemplate", new List <ITemplateAction> {
                    new MessageTemplateAction("Yes", "Yes"),
                    new MessageTemplateAction("No", "No")
                }));
            }
            else if (userMessage == "carousel")
            {
                List <ITemplateAction> actions1 = new List <ITemplateAction>();
                List <ITemplateAction> actions2 = new List <ITemplateAction>();

                // Add actions.
                actions1.Add(new MessageTemplateAction("Message Label", "sample data"));
                actions1.Add(new PostbackTemplateAction("Postback Label", "sample data", "sample data"));
                actions1.Add(new UriTemplateAction("Uri Label", "https://github.com/kenakamu"));

                // Add datetime picker actions
                actions2.Add(new DateTimePickerTemplateAction("DateTime Picker", "DateTime",
                                                              DateTimePickerMode.Datetime, "2017-07-21T13:00", null, null));
                actions2.Add(new DateTimePickerTemplateAction("Date Picker", "Date",
                                                              DateTimePickerMode.Date, "2017-07-21", null, null));
                actions2.Add(new DateTimePickerTemplateAction("Time Picker", "Time",
                                                              DateTimePickerMode.Time, "13:00", null, null));

                replyMessage = new TemplateMessage("Button Template",
                                                   new CarouselTemplate(new List <CarouselColumn> {
                    new CarouselColumn("Casousel 1 Text", "https://github.com/apple-touch-icon.png",
                                       "Casousel 1 Title", actions1),
                    new CarouselColumn("Casousel 1 Text", "https://github.com/apple-touch-icon.png",
                                       "Casousel 1 Title", actions2)
                }));
            }
            else if (userMessage == "imagecarousel")
            {
                UriTemplateAction action = new UriTemplateAction("Uri Label", "https://github.com/kenakamu");

                replyMessage = new TemplateMessage("ImageCarouselTemplate",
                                                   new ImageCarouselTemplate(new List <ImageCarouselColumn> {
                    new ImageCarouselColumn("https://github.com/apple-touch-icon.png", action),
                    new ImageCarouselColumn("https://github.com/apple-touch-icon.png", action),
                    new ImageCarouselColumn("https://github.com/apple-touch-icon.png", action),
                    new ImageCarouselColumn("https://github.com/apple-touch-icon.png", action),
                    new ImageCarouselColumn("https://github.com/apple-touch-icon.png", action)
                }));
            }
            else if (userMessage == "imagemap")
            {
                var url      = HttpContext.Current.Request.Url;
                var imageUrl = $"{url.Scheme}://{url.Host}:{url.Port}/images/githubicon";
                replyMessage = new ImagemapMessage(
                    imageUrl,
                    "GitHub",
                    new ImagemapSize(1040, 1040), new List <IImagemapAction>
                {
                    new UriImagemapAction(new ImagemapArea(0, 0, 520, 1040), "http://github.com"),
                    new MessageImagemapAction(new ImagemapArea(520, 0, 520, 1040), "I love LINE!")
                });
            }
            else if (userMessage == "addrichmenu")
            {
                // Create Rich Menu
                RichMenu richMenu = new RichMenu()
                {
                    Size        = ImagemapSize.RichMenuLong,
                    Selected    = false,
                    Name        = "nice richmenu",
                    ChatBarText = "touch me",
                    Areas       = new List <ActionArea>()
                    {
                        new ActionArea()
                        {
                            Bounds = new ImagemapArea(0, 0, ImagemapSize.RichMenuLong.Width, ImagemapSize.RichMenuLong.Height),
                            Action = new PostbackTemplateAction("ButtonA", "Menu A", "Menu A")
                        }
                    }
                };

                var richMenuId = await messagingClient.CreateRichMenuAsync(richMenu);

                var image = new MemoryStream(File.ReadAllBytes(HttpContext.Current.Server.MapPath(@"~\Images\richmenu.PNG")));
                // Upload Image
                await messagingClient.UploadRichMenuPngImageAsync(image, richMenuId);

                // Link to user
                await messagingClient.LinkRichMenuToUserAsync(userId, richMenuId);

                replyMessage = new TextMessage("Rich menu added");
            }
            else if (userMessage == "deleterichmenu")
            {
                // Get Rich Menu for the user
                var richMenuId = await messagingClient.GetRichMenuIdOfUserAsync(userId);

                await messagingClient.UnLinkRichMenuFromUserAsync(userId);

                await messagingClient.DeleteRichMenuAsync(richMenuId);

                replyMessage = new TextMessage("Rich menu deleted");
            }
            else if (userMessage == "deleteallrichmenu")
            {
                // Get Rich Menu for the user
                var richMenuList = await messagingClient.GetRichMenuListAsync();

                foreach (var richMenu in richMenuList)
                {
                    await messagingClient.DeleteRichMenuAsync(richMenu.RichMenuId);
                }
                replyMessage = new TextMessage("All rich menu added");
            }
            else if (userMessage == "quickreply")
            {
                var quickReply = new QuickReply();
                quickReply.Items.Add(new QuickReplyButtonObject(
                                         new PostbackTemplateAction("postback", "postback_data", "postback display", true), "https://github.com/apple-touch-icon.png"));
                quickReply.Items.Add(new QuickReplyButtonObject(
                                         new MessageTemplateAction("message", "message"), "https://github.com/apple-touch-icon.png"));
                quickReply.Items.Add(new QuickReplyButtonObject(
                                         new DateTimePickerTemplateAction("timepicker", "DATETIME", DateTimePickerMode.Datetime, DateTime.Now), "https://github.com/apple-touch-icon.png"));
                quickReply.Items.Add(new QuickReplyButtonObject(
                                         new CameraTemplateAction("Launch Camera")));
                quickReply.Items.Add(new QuickReplyButtonObject(
                                         new CameraRollTemplateAction("Launch Camera Roll")));
                quickReply.Items.Add(new QuickReplyButtonObject(
                                         new LocationTemplateAction("Launch Location")));
                replyMessage = new TextMessage("Select menu from Quick Reply", quickReply);
            }
            else
            {
                replyMessage = new TextMessage(userMessage);
            }

            await messagingClient.ReplyMessageAsync(replyToken, new List <ISendMessage> {
                replyMessage
            });
        }
Exemplo n.º 29
0
 private void HandleMessage(ISendMessage message)
 {
     _receivedMessages.OnNext(_messageReceiver.Receive(_me.Identity, message.Contents));
 }
Exemplo n.º 30
0
 private ISendMessage SendMessage(ISendMessage message, String contents, IMessageTarget sender, 
     ReplyForm replyForm)
 {
     if(replyForm == ReplyForm.Reply)
         contents = sender.Name + ": " + contents;
     return message.Connection.Client.CreateSendMessage(message, contents);
 }
Exemplo n.º 31
0
        private IEnumerable<String> SplitMessage(ISendMessage message)
        {
            int headerLength = message.PrefixHeader.Length + message.PostfixHeader.Length;
            int contentLength = message.Contents.Length;
            int maxContentLength = MAX_MESSAGE_LENGTH - headerLength - _moreMessagesReservedLength;

            if(contentLength > maxContentLength)
            {
                if(!_data.UseMores)
                {
                    yield return message.Contents.Substring(0, maxContentLength);
                }
                else
                {
                    ushort numMessages = Math.Min((ushort)Math.Ceiling((float)contentLength / (float)maxContentLength),
                        _data.MaxMores);

                    for(ushort i = 0; i < numMessages; ++i)
                    {
                        int offset = i * maxContentLength;
                        //int length = Math.Min(message.Contents.Length)
                        yield return String.Concat(message.Contents.Substring(offset, maxContentLength),
                            MoreMessages((ushort)(numMessages - i - 1)));
                    }
                }
            }
            else
            {
                yield return message.Contents;
            }
        }
Exemplo n.º 32
0
        public SendMessageBase(ISendMessage sendMessage, string mesaj)
        {
            _ISendMessage = sendMessage;

            _text = _ISendMessage.SendNotification(mesaj);
        }
Exemplo n.º 33
0
 public static ISendMessage CreateSendMessage(this IClient client, ISendMessage message, String newContents)
 {
     return client.CreateSendMessage(message.Connection, message.PrefixHeader, newContents,
         message.PostfixHeader, message.Type, message.Receivers);
 }
 public DomainService(ApplicationDbContext context, ISendMessage send)
 {
     _context = context;
     _send    = send;
 }
Exemplo n.º 35
0
 public SendMessageEventArgs(ISendMessage message)
 {
     this.Message = message;
 }