Exemplo n.º 1
0
    public override async Task <Status> Handle(MataloCommandAction action, CancellationToken cancellationToken)
    {
        if (action.IsReply)
        {
            var insult = await _insultService.GetInsult(cancellationToken);

            if (!string.IsNullOrWhiteSpace(insult))
            {
                await NavigatorContext.GetTelegramClient().SendTextMessageAsync(NavigatorContext.GetTelegramChat() !, insult, replyToMessageId: action.Message.ReplyToMessage?.MessageId,
                                                                                cancellationToken: cancellationToken);
            }
        }
        else
        {
            var answer = await _yesNoService.GetNoImage(cancellationToken);

            if (!string.IsNullOrWhiteSpace(answer))
            {
                await NavigatorContext.GetTelegramClient().SendVideoAsync(NavigatorContext.GetTelegramChat() !, answer, replyToMessageId: action.Message.MessageId,
                                                                          cancellationToken: cancellationToken);
            }
        }

        return(Success());
    }
Exemplo n.º 2
0
        public override async Task <Unit> Handle(MataloCommandAction request, CancellationToken cancellationToken)
        {
            if (request.ReplyToMessageId.HasValue)
            {
                var insult = await _insultService.GetInsult(cancellationToken);

                if (!string.IsNullOrWhiteSpace(insult))
                {
                    await Ctx.Client.SendTextMessageAsync(Ctx.GetTelegramChat(), insult, replyToMessageId : request.ReplyToMessageId.Value,
                                                          cancellationToken : cancellationToken);
                }
            }
            else
            {
                var answer = await _yesNoService.GetNoImage(cancellationToken);

                if (!string.IsNullOrWhiteSpace(answer))
                {
                    await Ctx.Client.SendVideoAsync(Ctx.GetTelegramChat(), answer, replyToMessageId : request.MessageId,
                                                    cancellationToken : cancellationToken);
                }
            }

            return(Unit.Value);
        }