From 5d8fc76e53232efd5036f6727029b1885d83bb6c Mon Sep 17 00:00:00 2001 From: Laura Hausmann Date: Mon, 20 Feb 2023 01:52:15 +0100 Subject: [PATCH] Implement missing functionality --- Program.cs | 48 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/Program.cs b/Program.cs index 7e42bbc..8776e52 100644 --- a/Program.cs +++ b/Program.cs @@ -1,13 +1,47 @@ using Telegram.Bot; +using Telegram.Bot.Types.Enums; -if (args.Length != 3) { - Console.WriteLine("Syntax: telegram-send "); - Environment.Exit(1); +var homeDir = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); +var configFile = Path.Join(homeDir, ".telegram-send.conf"); +string config; + +if (args.Length == 0) + PrintSyntaxAndExit(); + +if (args[0] == "--config") { + if (args.Length != 3) + PrintSyntaxAndExit(); + + config = $""" + token={args[1]} + chatId={args[2]} + """; + + File.WriteAllText(configFile, config); + Environment.Exit(0); } -var token = args[0]; -var chatId = args[1]; -var message = args[2]; +if (args.Length > 2) + PrintSyntaxAndExit(); + +config = File.ReadAllText(configFile); +var token = config.Split("\n")[0].Replace("token=", ""); +var chatId = config.Split("\n")[1].Replace("chatId=", ""); +var message = args[0] == "-" ? Console.In.ReadToEnd() : args[0]; var bot = new TelegramBotClient(token); -await bot.SendTextMessageAsync(chatId, message); +if (args.Contains("--pre")) + message = $"```\n{message}\n```"; + +await bot.SendTextMessageAsync(chatId, message, ParseMode.MarkdownV2); + +void PrintSyntaxAndExit() { + Console.WriteLine(""" + Syntax: + telegram-send --config + telegram-send [--pre] + + To read from stdin, pass '-' as message. + """); + Environment.Exit(1); +}