public async Task <IActionResult> Callbacks() { using (StreamReader reader = new StreamReader(Request.Body)) { var commands = Commands.Get(); var client = new VKClient { Token = _configuration["VKConfig:Token"], Uri = new Uri(_configuration["VKConfig:Uri"]) }; string strRequest = await reader.ReadToEndAsync(); JToken responseObject = JToken.Parse(strRequest); switch (responseObject.Value <string>("type")) { case "confirmation": Confirmation conf = JsonConvert.DeserializeObject <Confirmation>(strRequest); return(Ok(_configuration["VKConfig:Confirmation"])); case "message_new": Message msg = JsonConvert.DeserializeObject <Message>(strRequest); var command = commands.FirstOrDefault(x => x.Contains(msg.users.Body)); if (command == null) { return(Ok("ok")); } command.Execute(client, new VKMessage { User_Id = msg.users.Id, Body = "" }); return(Ok("ok")); default: return(Ok("ok")); } } }
public Users() { client = new VKClient(); }