проблема с моим кодом заключалась в том, что я зарегистрировал BotServices
в вызове services.AddBot<IBot>
следующим образом
Не работает:
services.AddBot<MyBot>(options =>
{
var botConfig = BotConfiguration.Load(botFilePath ?? @".\MyBot.bot", secretKey);
services.AddSingleton(sp => botConfig ?? throw new InvalidOperationException($"The .bot config file could not be loaded. ({botConfig})"));
var connectedServices = new BotServices(botConfig);
services.AddSingleton<BotServices>(sp => connectedServices);
}
Я сделал это так, потому что переменная botConfig там определена по умолчанию при создании с пустым шаблоном бота, поэтому я переместил его, и он работает!(но я все еще не могу объяснить, почему это не должно работать)
Работает
var botConfig = BotConfiguration.Load(botFilePath ?? @".\MyBot.bot", secretKey);
services.AddSingleton(sp => botConfig ?? throw new InvalidOperationException($"The .bot config file could not be loaded. ({botConfig})"));
var connectedServices = new BotServices(botConfig);
services.AddSingleton<BotServices>(sp => connectedServices);
services.AddBot<MyBot>(options =>
{
//all the bot configuration code
}