예제 #1
0
        static void Main(string[] args)
        {
            Console.OutputEncoding = System.Text.Encoding.UTF8;
            Console.WriteLine("Hello World!");
            var token = File.ReadAllText(AppContext.BaseDirectory + "token").Trim();

            Handlers = new List <BaseHandler>()
            {
                new ConsoleWriterHandler()
            }
            .Concat(ReflectiveEnumerator.GetListOfType <BaseHandler>().Where(a => !(a is ConsoleWriterHandler)))
            .ToList();
            for (int i = 0; i < Handlers.Count - 1; i++)
            {
                Handlers[i].NextHandler = Handlers[i + 1];
            }
            _client                  = new TelegramBotClient(token);
            _client.OnMessage       += OnMessage;
            _client.OnMessageEdited += OnMessage;
            AppDomain.CurrentDomain.UnhandledException += async(object sender, UnhandledExceptionEventArgs args2) =>
            {
                await _client.SendTextMessageAsync(new ChatId(91740825), $"Unhandled exception!\n{args2.ExceptionObject}\n{(args2.ExceptionObject as Exception).InnerException?.Message}", disableNotification : true);
            };
            _client.StartReceiving(new[] { UpdateType.EditedMessage, UpdateType.Message });
            Console.ReadLine();
        }