Exemplo n.º 1
0
        public BotMachine(long UserId, TelegramMessageSender sender, Type InitStateType, TelegramFSMBot Bot)
        {
            this.UserId        = UserId;
            this.Sender        = sender;
            this.InitStateType = InitStateType;
            this.Bot           = Bot;
            BotState state = Activator.CreateInstance(InitStateType, UserId, this) as BotState;

            ActiveState = state;
            SubscribeActiveStateEvents();
        }
        public async Task <IActionResult> NotifyChats(Notify notifyContent, [FromServices] TelegramMessageSender botClient, [FromServices] IRepository repository)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            _logger.LogInformation("Start to send accepted message to all active chats.");
            if (notifyContent.ChatId.HasValue)
            {
                await botClient.SendMessageAsync(notifyContent.ChatId.Value, notifyContent.Message);
            }
            else
            {
                var chats = await repository.GetActiveChatsAsync();

                foreach (var chat in chats)
                {
                    await botClient.SendMessageAsync(chat.Id, notifyContent.Message);
                }
            }

            return(Ok());
        }
Exemplo n.º 3
0
 /// <summary>
 /// Create an instance of <see cref="StartCommand"/>.
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="repository"></param>
 /// <param name="messageSender"></param>
 public StartCommand(ILogger <StartCommand> logger, IRepository repository, TelegramMessageSender messageSender)
 {
     _logger        = logger;
     _repository    = repository;
     _messageSender = messageSender;
 }
 /// <summary>
 /// Create an instance of <see cref="ThresholdCommand"/>.
 /// </summary>
 /// <param name="repository"></param>
 /// <param name="messageSender"></param>
 public ThresholdCommand(IRepository repository, TelegramMessageSender messageSender)
 {
     _repository    = repository;
     _messageSender = messageSender;
 }
Exemplo n.º 5
0
 public TestMachine(long UserId, TelegramMessageSender sender, Type InitStateType, TelegramFSMBot Bot) : base(UserId, sender, InitStateType, Bot)
 {
 }