public async Task Execute(Message message)
        {
            var chatId = message.Chat.Id;
            var path   = Path.Combine(Environment.CurrentDirectory, "Photo");
            var files  = Directory.GetFiles(path).Select(x => Path.GetFileName(x)).ToArray();

            await telegramBotClient.SendTextMessageAsync(chatId, string.Join("\n", files));

            await messageInfoHub.SendMessage(
                new MessageInfo
            {
                Id       = message.MessageId,
                UserName = message.From.FirstName,
                DateTime = message.Date,
                Text     = new[] { message.Text }
            });

            await messageInfoHub.SendMessage(
                new MessageInfo
            {
                UserName = "******",
                DateTime = DateTime.Now,
                Text     = files
            });
        }
        public async Task Execute(Message message)
        {
            var document = message.Document;
            var action   = $"Home/DownloadFile?fileName={document.FileName}";
            var id       = document.FileId;
            var path     = Path.Combine(Environment.CurrentDirectory, "Photo", document.FileName);

            await messageInfoHub.SendMessage(
                new MessageInfo
            {
                Id       = message.MessageId,
                UserName = message.From.FirstName,
                DateTime = message.Date,
                Text     = new[] { $"Bot сохранил файл {document.FileName}." },
                Path     = action
            });

            if (System.IO.File.Exists(path))
            {
                await telegramBotClient.SendTextMessageAsync(message.Chat.Id, $"Файл с именем {document.FileName} уже существует");

                await messageInfoHub.SendMessage(
                    new MessageInfo
                {
                    UserName = "******",
                    DateTime = DateTime.Now,
                    Text     = new[] { $"Файл с именем {document.FileName} уже существует" },
                });

                return;
            }

            using (var writeStream = new FileStream(path, FileMode.Create))
            {
                var info = await telegramBotClient.GetInfoAndDownloadFileAsync(id, writeStream);
            }

            await telegramBotClient.SendTextMessageAsync(message.Chat.Id, $"Файл с именем {document.FileName} загружет на диск");

            await messageInfoHub.SendMessage(
                new MessageInfo
            {
                UserName = "******",
                DateTime = DateTime.Now,
                Text     = new[] { $"Файл с именем {document.FileName} загружет на диск" }
            });
        }
예제 #3
0
        public async Task Execute(Message message)
        {
            var chatId        = message.Chat.Id;
            var resiveMessage = "Hello I'm ASP.NET Core Bot";
            await telegramBotClient.SendTextMessageAsync(chatId, resiveMessage, parseMode : Telegram.Bot.Types.Enums.ParseMode.Markdown);

            await messageInfoHub.SendMessage(
                new MessageInfo
            {
                Id       = message.MessageId,
                UserName = message.From.FirstName,
                DateTime = message.Date,
                Text     = new[] { message.Text }
            });

            await messageInfoHub.SendMessage(
                new MessageInfo
            {
                UserName = "******",
                DateTime = DateTime.Now,
                Text     = new[] { resiveMessage }
            });
        }
예제 #4
0
        public async Task Execute(Message message)
        {
            var commands      = serviceProvider.GetServices <ICommand>();
            var chatId        = message.Chat.Id;
            var resiveMessage = commands.Select(c => c.GetHelp()).ToArray();
            await telegramBotClient.SendTextMessageAsync(chatId, string.Join("\n", resiveMessage), parseMode : Telegram.Bot.Types.Enums.ParseMode.Default);

            await messageInfoHub.SendMessage(
                new MessageInfo
            {
                Id       = message.MessageId,
                UserName = message.From.FirstName,
                DateTime = message.Date,
                Text     = new[] { message.Text }
            });

            await messageInfoHub.SendMessage(
                new MessageInfo
            {
                UserName = "******",
                DateTime = DateTime.Now,
                Text     = resiveMessage
            });
        }
예제 #5
0
        public async Task Execute(Message message)
        {
            var chatId       = message.Chat.Id;
            var commandParts = message.Text.Split(" ");

            await messageInfoHub.SendMessage(
                new MessageInfo
            {
                Id       = message.MessageId,
                UserName = message.From.FirstName,
                DateTime = message.Date,
                Text     = new[] { message.Text }
            });

            if (commandParts.Length != 2)
            {
                var text = $"Некоректная команда: {message.Text}";
                await telegramBotClient.SendTextMessageAsync(chatId, text);

                await messageInfoHub.SendMessage(
                    new MessageInfo
                {
                    UserName = "******",
                    DateTime = DateTime.Now,
                    Text     = new[] { text }
                });

                return;
            }

            var command  = _rotates[commandParts[0]];
            var fileName = commandParts[1];
            var path     = Path.Combine(Environment.CurrentDirectory, "Photo", fileName);

            if (!System.IO.File.Exists(path))
            {
                var text = $"Файл не найден: {fileName}";

                await telegramBotClient.SendTextMessageAsync(chatId, text);

                await messageInfoHub.SendMessage(
                    new MessageInfo
                {
                    UserName = "******",
                    DateTime = DateTime.Now,
                    Text     = new[] { text }
                });

                return;
            }

            var bitmap = Image.FromFile(path);

            bitmap.RotateFlip(command);

            using (var writeStream = new MemoryStream())
            {
                bitmap.Save(writeStream, ImageFormat.Png);
                using (var readStream = new MemoryStream(writeStream.GetBuffer()))
                {
                    var file = new InputOnlineFile(readStream, fileName);
                    await telegramBotClient.SendDocumentAsync(chatId, file);
                }
            }

            await messageInfoHub.SendMessage(
                new MessageInfo
            {
                UserName = "******",
                DateTime = DateTime.Now,
                Text     = new[] { $"Bot выполнил операцию {commandParts[0]} с файлом: {fileName}" }
            });
        }