BotFramework - фреймворк, который упрощает процедуру создания ботов за счет абстрагирования над API конкретных месенджеров.
Начало работы:
TSettings - класс, в котором описаны настройки бота. Пример такого класса (данный класс доступен из коробки)
publicclassTelegramSettings{publicTelegramSettings(stringaccessToken){AccessToken=accessToken;}publicTelegramSettings(){}publicstringAccessToken{get;set;}}Задать настройки можно с помощью json файла.
varsettings=newConfigSettingsProvider<TSettings>("filename");Вид JSON конфига для TelegramSettings
{
"AccessToken" : "token"
}Для упрощения процесса разработки, настройки можно получить из строки с токеном
varsettings=newConstSettingsProvider<TSettings>(newTSettings(token));Чтобы добавить команду, ваш класс должен реализовывать интерфейс IBotSyncCommand или IBotAsyncCommand
Пример команды Ping
[BotCommandDescriptor("ping","Answer pong on ping message")]publicclassPingCommand:IBotAsyncCommand{publicResultCanExecute(CommandContainerargs)=>Result.Ok();publicTask<IBotMessage>Execute(CommandContainerargs){IBotMessagemessage=newBotTextMessage("Pong!");returnTask.FromResult(message);}}Пример создания бота с командой Ping
vartelegramToken=string.Empty;varsettings=newConstSettingsProvider<TelegramSettings>(newTelegramSettings(telegramToken));varapi=newTelegramApiProvider(settings);BotManagerbotManager=newBotManagerBuilder().SetPrefix('!').SetCaseSensitive(false).AddCommand(PingCommand.Descriptor).Build(api);botManager.Start();