示例#1
0
        /// <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);
 }
示例#3
0
        /// <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>();
        }
示例#4
0
 /// <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;
 }
示例#6
0
 /// <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>();
 }
示例#8
0
 /// <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;
 }
示例#10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="telegramBotServicesContainer"></param>
 public TelegramBotCommandActivator(ITelegramBotServicesProvider telegramBotServicesContainer)
 {
     TelegramBotServicesContainer = telegramBotServicesContainer;
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="servicesProvider"></param>
 public TelegramBotClientManager(ITelegramBotServicesProvider servicesProvider)
 {
     ServicesProvider = servicesProvider;
 }
示例#12
0
 /// <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;
 }