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} загружет на диск" } }); }
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 } }); }
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 }); }
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}" } }); }