public async Task <string> FunctionHandler(ILambdaContext context)
        {
            Console.WriteLine("Function started");
            try
            {
                TelegramSenderManager sender = new TelegramSenderManager();
                sender.Init();
                try
                {
                    RssGrabber rssGrabber  = new RssGrabber();
                    var        itemsToPost = await rssGrabber.GrabUrls();

                    foreach (var itemToPost in itemsToPost)
                    {
                        sender.SendUrlWithButtonsToOwner(itemToPost.Url);
                        sender.SendMessageToDebug($"{itemToPost.Url} : {string.Join(',', itemToPost.Occurrences)}");
                    }

                    return("done : " + itemsToPost.Count);
                }
                catch (Exception e)
                {
                    sender.SendMessageToDebug(e.ToString());
                    throw;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
Ejemplo n.º 2
0
        public static async Task MainAsync(string[] args)
        {
            var webhook = JsonConvert.DeserializeObject <Telegram.Bot.Types.Update>(System.IO.File.ReadAllText("./webhook.test.json"));
            var s       = new TelegramSenderManager();

            s.Init();
            s.HandleWebhookUpdate(webhook);
        }
        public APIGatewayProxyResponse FunctionHandler(JObject input, ILambdaContext context)
        {
            Console.WriteLine("Function started");

            try
            {
                TelegramSenderManager sender = new TelegramSenderManager();
                sender.Init();

                try
                {
                    Update webhookData = JsonConvert.DeserializeObject <Update>(input["body"].ToString());

                    sender.HandleWebhookUpdate(webhookData);
                }
                catch (Exception ex)
                {
                    sender.SendMessageToDebug(ex.ToString());
                    sender.SendMessageToDebug(input["body"].ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            var response = new APIGatewayProxyResponse
            {
                StatusCode = (int)HttpStatusCode.OK,
                Body       = JsonConvert.SerializeObject(new { msg = "Welcome to Belarus! :)" }),
                Headers    = new Dictionary <string, string> {
                    { "Content-Type", "application/json" }
                }
            };

            return(response);
        }