Exemplo n.º 1
0
        public IActionResult Callback([FromBody] Updates updates)
        {
            // TODO
            // реализовать проверку security-key

            // Тип события
            switch (updates.Type)
            {
            // Ключ-подтверждение
            case "confirmation":

                //return new OkObjectResult(_configuration["Config:Confirmation"]);
                return(new OkObjectResult("dcf06e03"));

            // Новое сообщение
            case "message_new":

                var api = new VkApi();

                api.Authorize(new ApiAuthParams()
                {
                    AccessToken = MyAppToken
                });

                var dialog = new RootDialog(JsonConvert.DeserializeObject <Message>(updates.Object.ToString()));

                api.Messages.Send(dialog.Response());

                return(new OkObjectResult("ok"));

                //// Десериализация
                //var msg = JsonConvert.DeserializeObject<Message>(updates.Object.ToString());

                //var api = new VkApi();

                //api.Authorize(new ApiAuthParams() { AccessToken = MyAppToken });


                ////var keyboard = new KeyboardBuilder(/*"text", false*/).AddButton("Расписание", "расписание", KeyboardButtonColor.Positive);
                ////keyboard.AddButton("Расписание", "расписание", KeyboardButtonColor.Negative);
                ////keyboard.AddLine();
                ////keyboard.AddButton("Расписание", "расписание", KeyboardButtonColor.Primary);
                ////keyboard.AddButton("Расписание", "расписание");

                //api.Messages.Send(new MessagesSendParams()
                //{
                //    PeerId = -(long)(MyGroupId),
                //    ChatId = msg.ChatId,
                //    UserId = msg.FromId,
                //    //StickerId = a.Message.
                //    Message = msg.Text,
                //    RandomId = (int)msg.Id + 1,
                //    //StickerId = msg.
                //    //Keyboard = keyboard.Build()
                //});
            }

            return(new OkObjectResult("ok"));
        }