C#
10
Вклад в тег
public class CommandResult
{
public string Command {get;set;}
}
public class CommandResult<T>:CommandResult
{
public T Data {get;set;}
}
public class FilesList
{
public string[] Files {get;set;}
}
public class UserInfo
{
...
}
public class MyAwesomeController:ApiController
{
public CommandResult<FilesList> GetFilesList(){
...
return new CommandResult<FilesList> (){
Command = "FilesList",
Data = new FilesList(){Files = new []{"file1","file2","file3","file4"}}
};
}
public CommandResult<UserInfo> GetUserInfo(){
...
}
}
public class MyAwesomeCommands
{
private CommandResult<FilesList> _getFilesList(){
...
return new CommandResult<FilesList> (){
Command = "FilesList",
Data = new FilesList(){Files = new []{"file1","file2","file3","file4"}}
};
}
public string GetFilesList(){
var data = getFilesList();
return JsonConvert.SerializeObject(data);
}
public string GetUserInfo(){
...
}
}
//пример для WebApi2:
//телеграм не дает возможности как-то проверять что запрос пришел от самого телеграма
//так что в официальном факе рекомендовано создавать сложный адрес
//так как такой адрес известен только разработчику и телеграму
//никто не сможет подделать запросы
[RoutePrefix("api/myveryawesomebot123802539483")]
public MyTelegramBotController:ApiController
{
[HttpPost]
[Route("sdfsdf2342f2q")]
public void Update([FromBody] UpdateModel model)
{
...
}
}