/// <summary> /// /// </summary> public virtual void Run() { var options = TelegramBotConfig.GetOptions(AppConfig.OptionsName); if (options == null) { throw new Exception($"Telegram bot options not configured! Options name: {AppConfig.OptionsName}"); } _container = options.Container; _servicesProvider = options.ServicesProvider; options.ServicesRegistrator?.Register(_container, options); _container.Initialize(); var commandFactory = _servicesProvider.GetService <ITelegramBotCommandFactory>(); commandFactory.Initialize(); AppConfig.Configure(this); var clientManager = _servicesProvider.GetService <ITelegramBotClientManager>(); clientManager.Token = AppConfig.Token; clientManager.Initialize(); }
/// <summary> /// /// </summary> /// <param name="servicesProvider"></param> public virtual void Initialize(ITelegramBotServicesProvider servicesProvider) { ServicesProvider = servicesProvider; Client = ServicesProvider.GetService <ITelegramBotClientManager>().Client; UserService = ServicesProvider.GetService <ITelegramBotUserService>(); MessageService = ServicesProvider.GetService <ITelegramBotMessageService>(); CommandService = new TelegramBotCommandService(this, ServicesProvider); }
/// <summary> /// /// </summary> /// <param name="command"></param> /// <param name="servicesProvider"></param> public TelegramBotCommandService(ITelegramBotCommand command, ITelegramBotServicesProvider servicesProvider) { Command = command; TelegramBotServicesProvider = servicesProvider; TelegramBotCommandFactory = servicesProvider.GetService <ITelegramBotCommandFactory>(); Info = TelegramBotCommandFactory.GetCommandInfo(command.GetType()); MessageService = TelegramBotServicesProvider.GetService <ITelegramBotMessageService>(); }
/// <summary> /// /// </summary> public TelegramBotMessageHandlerManager(ITelegramBotServicesProvider servicesContainer) { HandlerTypes = new List <Type>(); AddHandler <BackCommandMessageHandler>(); AddHandler <HighestCommandMessageHandler>(); AddHandler <PriorityCommandHandler>(); AddHandler <NearCommandMessageHandler>(); AddHandler <LowPriorityCommandMessageHandler>(); AddHandler <CurrentCommandMessageHandler>(); AddHandler <PublicCommandMessageHandler>(); AddHandler <UnknownMessageHandler>(); this.servicesContainer = servicesContainer; }
/// <summary> /// /// </summary> /// <param name="container"></param> public void Initialize(ITelegramBotServicesProvider container) { TelegramBotServicesContainer = container; }
/// <summary> /// /// </summary> /// <param name="servicesProvider"></param> public TelegramBotCommandFactory(ITelegramBotServicesProvider servicesProvider) { TelegramBotServicesProvider = servicesProvider; }
/// <summary> /// /// </summary> /// <param name="servicesProvider"></param> public virtual void Initialize(ITelegramBotServicesProvider servicesProvider) { ServicesProvider = servicesProvider; TelegramBotCommandFactory = servicesProvider.GetService <ITelegramBotCommandFactory>(); }
/// <summary> /// /// </summary> /// <param name="servicesProvider"></param> public override void Initialize(ITelegramBotServicesProvider servicesProvider) { base.Initialize(servicesProvider); CallbackQueryService = servicesProvider.GetService <ITelegramBotCallbackQueryService>(); }
/// <summary> /// /// </summary> /// <param name="telegramBotServicesContainer"></param> /// <param name="telegramBotCommandFactory"></param> public TelegramBotCallbackQueryHandler(ITelegramBotServicesProvider telegramBotServicesContainer, ITelegramBotCommandFactory telegramBotCommandFactory) { TelegramBotServicesContainer = telegramBotServicesContainer; TelegramBotCommandFactory = telegramBotCommandFactory; }
/// <summary> /// /// </summary> /// <param name="telegramBotServicesContainer"></param> public TelegramBotCommandActivator(ITelegramBotServicesProvider telegramBotServicesContainer) { TelegramBotServicesContainer = telegramBotServicesContainer; }
/// <summary> /// /// </summary> /// <param name="servicesProvider"></param> public TelegramBotClientManager(ITelegramBotServicesProvider servicesProvider) { ServicesProvider = servicesProvider; }
/// <summary> /// /// </summary> public TelegramBotCommandName(ITelegramBotServicesProvider telegramBotServicesContainer) { Names = new Dictionary <string, string>(); TelegramBotServicesContainer = telegramBotServicesContainer; }
/// <summary> /// /// </summary> public TelegramBotCommandFactoryInitializer(ITelegramBotServicesProvider telegramBotServicesContainer) { _dbCommands = TelegramBotDb.Commands.FindAll().ToList(); TelegramBotServicesContainer = telegramBotServicesContainer; }