public async Task MatchAndProcessAsync(SlackEventBody slackEventBody, CancellationToken cancellationToken)
        {
            var eventMatchResult = await _eventMatcher.EventMatchesAsync(slackEventBody);

            if (eventMatchResult.Success)
            {
                await _actionExecutor.ExecuteActionAsync(
                    slackEventBody,
                    eventMatchResult.MatchItems,
                    cancellationToken);
            }
        }
Пример #2
0
        public async Task <OperationResult> HandleUpdateAsync(CallbackData update)
        {
            if (update?.Event != EventType.Message || update.Message?.Type != MessageType.Text || update.Sender == null)
            {
                return(new OperationResult(Constants.IncomingMessageIsNull));
            }

            if (!(update.Message is TextMessage message))
            {
                return(new OperationResult(Constants.IncomingMessageIsNull));
            }

            return(await _actionExecutor.ExecuteActionAsync(
                       new ViberCommand(message.Text.Replace(" ", string.Empty))
            {
                Receiver = update.Sender.Id
            }));
        }
Пример #3
0
        public async Task <OperationResult> HandleUpdateAsync(Update telegramUpdate)
        {
            if (telegramUpdate?.Message?.Chat == null)
            {
                return(new OperationResult(Constants.IncomingMessageIsNull));
            }

            var command = GetTelegramCommand(telegramUpdate.Message);

            var text = telegramUpdate.Message.Text ?? command.CommandName;

            command.ChatId         = telegramUpdate.Message.Chat.Id;
            command.Text           = text;
            command.MessageId      = telegramUpdate.Message.MessageId;
            command.SenderUsername = telegramUpdate.Message.From.Username;
            command.UserId         = telegramUpdate.Message.From.Id;

            return(await _actionExecutor.ExecuteActionAsync(command));
        }
 private async void OnChangeItemChecked(int id, bool hasChecked)
 {
     await _actionExecutor.ExecuteActionAsync(c => ChangeItemStateAsync(id, hasChecked, c), _view, () => _view.ChangeCompleted(id, !hasChecked));
 }