示例#1
0
        public async Tasks.Task LoginAsync()
        {
            for (int i = 0; i < bots.Count; i++)
            {
                RcDiBot bot = bots[i];

                try
                {
                    ILoginOption loginOption = loginOptions[i];

                    await bot.ConnectAsync();

                    await bot.LoginAsync(loginOption);

                    await bot.SubscribeAsync <MentionedResponse>(Stream.NotifyUser_Notifications, (provider, b) =>
                    {
                        TaskParser.TaskParserService taskParser = provider.GetService <TaskParser.TaskParserService>();
                        taskParser.Username = b.Driver.Username;
                        return(new MentionedResponse(provider.GetService <ILogger <MentionedResponse> >(), provider.GetService <TaskContext>(), taskParser, this, provider.GetService <RocketChatCache>(), bot.ResponseUrl));
                    }, false);
                }
                catch (Exception ex)
                {
                    logger.LogError(ex, "Could not login bot " + bot.Driver.Username);
                }
            }
        }
示例#2
0
 public MentionedResponse(ILogger <MentionedResponse> logger, TaskContext context, TaskParser.TaskParserService parserService, IPrivateMessenger messenger, RocketChatCache cache, string responseUrl = null)
 {
     this.logger        = logger;
     this.context       = context;
     this.parserService = parserService;
     this.messenger     = messenger;
     this.cache         = cache;
     ResponseUrl        = responseUrl;
 }