Exemplo n.º 1
0
    public static SlackOptions ReadFromConfiguration(IConfiguration config)
    {
        var options = new SlackOptions();

        var oAuth = config.GetConnectionString("OAuth").ParseConnectionString();

        options.SlackId     = oAuth.GetString(nameof(options.SlackId));
        options.SlackSecret = oAuth.GetString(nameof(options.SlackSecret));

        return(options);
    }
Exemplo n.º 2
0
        public SlackService(IHttpClientFactory httpClientFactory, IOptions <SlackOptions> options, ILogger <SlackService> logger)
        {
            _httpClientFactory = httpClientFactory;
            _options           = options.Value;
            _logger            = logger;

            if (string.IsNullOrWhiteSpace(_options.Url))
            {
                throw new ArgumentNullException(nameof(_options.Url));
            }
        }
Exemplo n.º 3
0
        public static AppOptions ReadFromConfiguration(IConfiguration config)
        {
            var options = new AppOptions();

            options.BaseURL                = config.GetValue <string>(nameof(options.BaseURL))?.TrimEnd('/');
            options.InternalProjectId      = config.GetValue(nameof(options.InternalProjectId), "54b56e480ef9605a88a13153");
            options.ExceptionlessApiKey    = config.GetValue <string>(nameof(options.ExceptionlessApiKey));
            options.ExceptionlessServerUrl = config.GetValue <string>(nameof(options.ExceptionlessServerUrl));

            options.AppMode            = config.GetValue(nameof(options.AppMode), AppMode.Production);
            options.AppScope           = config.GetValue(nameof(options.AppScope), options.AppMode.ToScope());
            options.RunJobsInProcess   = config.GetValue(nameof(options.RunJobsInProcess), options.AppMode == AppMode.Development);
            options.JobsIterationLimit = config.GetValue(nameof(options.JobsIterationLimit), -1);
            options.BotThrottleLimit   = config.GetValue(nameof(options.BotThrottleLimit), 25).NormalizeValue();

            options.ApiThrottleLimit        = config.GetValue(nameof(options.ApiThrottleLimit), options.AppMode == AppMode.Development ? Int32.MaxValue : 3500).NormalizeValue();
            options.EnableArchive           = config.GetValue(nameof(options.EnableArchive), true);
            options.EnableSampleData        = config.GetValue(nameof(options.EnableSampleData), options.AppMode != AppMode.Development);
            options.EventSubmissionDisabled = config.GetValue(nameof(options.EventSubmissionDisabled), false);
            options.DisabledPipelineActions = config.GetValueList(nameof(options.DisabledPipelineActions));
            options.DisabledPlugins         = config.GetValueList(nameof(options.DisabledPlugins));
            options.MaximumEventPostSize    = config.GetValue(nameof(options.MaximumEventPostSize), 200000).NormalizeValue();
            options.MaximumRetentionDays    = config.GetValue(nameof(options.MaximumRetentionDays), 180).NormalizeValue();

            options.GoogleGeocodingApiKey = config.GetValue <string>(nameof(options.GoogleGeocodingApiKey));
            options.MaxMindGeoIpKey       = config.GetValue <string>(nameof(options.MaxMindGeoIpKey));

            options.BulkBatchSize = config.GetValue(nameof(options.BulkBatchSize), 1000);

            options.EnableRepositoryNotifications = config.GetValue(nameof(options.EnableRepositoryNotifications), true);
            options.EnableWebSockets = config.GetValue(nameof(options.EnableWebSockets), true);

            try {
                var versionInfo = FileVersionInfo.GetVersionInfo(typeof(AppOptions).Assembly.Location);
                options.Version = versionInfo.FileVersion;
                options.InformationalVersion = versionInfo.ProductVersion;
            }
            catch { }

            options.CacheOptions         = CacheOptions.ReadFromConfiguration(config, options);
            options.MessageBusOptions    = MessageBusOptions.ReadFromConfiguration(config, options);
            options.MetricOptions        = MetricOptions.ReadFromConfiguration(config);
            options.QueueOptions         = QueueOptions.ReadFromConfiguration(config, options);
            options.StorageOptions       = StorageOptions.ReadFromConfiguration(config, options);
            options.EmailOptions         = EmailOptions.ReadFromConfiguration(config, options);
            options.ElasticsearchOptions = ElasticsearchOptions.ReadFromConfiguration(config, options);
            options.IntercomOptions      = IntercomOptions.ReadFromConfiguration(config);
            options.SlackOptions         = SlackOptions.ReadFromConfiguration(config);
            options.StripeOptions        = StripeOptions.ReadFromConfiguration(config);
            options.AuthOptions          = AuthOptions.ReadFromConfiguration(config);

            return(options);
        }
Exemplo n.º 4
0
        public static IServiceCollection AddSlackClient(this IServiceCollection services,
                                                        [NotNull] Action <SlackOptions> options)
        {
            var slackOptions = new SlackOptions();

            options(slackOptions);
            SlackClientConfiguration.Options = slackOptions;
            services.AddHttpClient <ISlackClient, SlackClient>(client => {
                client.BaseAddress = new Uri(slackOptions.SlackApi);
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", slackOptions.AppToken);
            });
            services.AddTransient <ISlackClient, SlackClient>();

            return(services);
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            var options = new SlackOptions
            {
                BotUserToken = MySlackBotToken
            };

            var adapter = new SlackAdapter(options)
                          .Use(new SlackMessageTypeMiddleware());

            var myBot = new MyBot();

            adapter.ProcessActivityBySocketAsync(async(turnContext, cancellationToken) =>
            {
                await myBot.OnTurnAsync(turnContext, cancellationToken);
            }).Wait();
        }
Exemplo n.º 6
0
        public static IServiceCollection AddSlackClient(this IServiceCollection services, Action <SlackOptions> options)
        {
            var slackOptions = new SlackOptions();

            options(slackOptions);
            services.Configure <SlackOptions>(o =>
            {
                o.ClientId     = slackOptions.ClientId;
                o.ClientSecret = slackOptions.ClientSecret;
                o.AppToken     = slackOptions.AppToken;
                o.SlackApi     = slackOptions.SlackApi;
            });
            services.AddHttpClient <ISlackClient, SlackClient>(client => {
                client.BaseAddress = new Uri(slackOptions.SlackApi);
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", slackOptions.AppToken);
            });
            services.AddTransient <ISlackClient, SlackClient>();

            return(services);
        }
 public WeatherController(IWeatherService weatherService, IOptions <SlackOptions> slackOptions)
 {
     _weatherService = weatherService;
     _slackOptions   = slackOptions?.Value ?? throw new ArgumentNullException(nameof(slackOptions));
 }
Exemplo n.º 8
0
 public SlackClient(
     SlackOptions options)
 {
     _options = options;
 }
Exemplo n.º 9
0
 public HelpManagerOptions()
 {
     SlackOptions    = new SlackOptions();
     HelpDeskOptions = new HelpDeskOptions();
 }
Exemplo n.º 10
0
 public JokesController(IJokeService jokeService, IOptions <SlackOptions> slackOptions)
 {
     _jokeService  = jokeService;
     _slackOptions = slackOptions?.Value ?? throw new ArgumentNullException(nameof(slackOptions));
 }
Exemplo n.º 11
0
 public SlackService(IOptions <SlackOptions> options, IHttpClientFactory httpClientFactory)
 {
     _options           = options.Value;
     _httpClientFactory = httpClientFactory;
 }
Exemplo n.º 12
0
 public SlackClient(IHttpClientFactory httpClientFactory, IOptions <SlackOptions> options, ILogger logger = null)
 {
     this.httpClientFactory = httpClientFactory;
     this.logger            = logger ?? new NullLogger <ISlackClient>();
     Options = options.Value;
 }
Exemplo n.º 13
0
 public Scheduler(IOptions <SlackOptions> options, IHttpClientFactory clientFactory, LuisService luisService)
 {
     _luisService = luisService;
     _options     = options.Value ?? throw new AggregateException(nameof(options));
 }
Exemplo n.º 14
0
 public SettingsController(SlackOptions slackOptions, UnityOptions unityOptions)
 {
     _slackOptions = slackOptions;
     _unityOptions = unityOptions;
 }
Exemplo n.º 15
0
 public SlackService(IHttpClient httpClient,
                     IOptions <SlackOptions> slackOptions)
 {
     _slackOptions = slackOptions.Value;
     _httpClient   = httpClient;
 }
 public SlackExtensionConfigProvider(IOptions <SlackOptions> options, ISlackHttpClient slackHttpClient, ILoggerFactory loggerFactory)
 {
     _slackHttpClient = slackHttpClient;
     _options         = options.Value;
     _slackLogger     = loggerFactory.CreateLogger("SlackExtension");
 }
Exemplo n.º 17
0
 public SlackService(IOptions <SlackOptions> options, IHttpClientFactory httpClientFactory, ILogger <SlackService> logger)
 {
     _options           = options.Value;
     _httpClientFactory = httpClientFactory;
     _logger            = logger;
 }