public static void Main(string[] args) { var appSettingsCollection = new CouchDbStore <ApplicationSettings>(ApplicationSettings.CouchDbUrl); var accountCollection = new CouchDbStore <Account>(ApplicationSettings.CouchDbUrl); var appSettings = appSettingsCollection.GetAsync().Result.FirstOrDefault()?.Value; var account = accountCollection.GetAsync("account-email", "*****@*****.**").Result.FirstOrDefault()?.Value; if (appSettings == null || account == null) { Console.WriteLine("Settings could not be found..."); return; } var app = new KungBot(appSettings, account); try { app.Initialize(); app.Configure(); } catch (Exception e) { Console.WriteLine($"Configuration failed. \n{e.Message}\n{e.StackTrace}"); } app.RunBotAsync().GetAwaiter().GetResult(); }
public void SetupTests() { var settingsCollection = new CouchDbStore <ApplicationSettings>(ApplicationSettings.CouchDbUrl); var settings = settingsCollection.FindAsync("9c3131ee7b9fb97491e8551211495381").GetAwaiter().GetResult(); _seClient = new StreamElementsService(settings); }
public void CreateDatabaseAndViews() { _applicationSettingsCollection = new CouchDbStore <ApplicationSettings>(ApplicationSettings.CouchDbUrl); _applicationSettingsCollection.CreateDatabase().GetAwaiter().GetResult(); _applicationSettingsCollection.CreateDesignDocument().GetAwaiter().GetResult(); _applicationSettingsCollection.CreateView("applicationsettings").GetAwaiter().GetResult(); }
public static void Init(TwitchClient client, TwitchPubSub pubsubClient, ApplicationSettings appSettings, Account account, CouchDbStore <Viewer> viewerCollection, List <Command> settings) { _client = client; _account = account; _viewerCollection = viewerCollection; _commandSettings = settings; _twitchService = new TwitchService(appSettings); _client.OnJoinedChannel += OnJoinedChannel; _client.OnMessageReceived += OnMessageReceived; _client.OnWhisperReceived += OnWhisperReceived; _client.OnNewSubscriber += OnNewSubscriber; _client.OnLog += OnLog; _client.OnConnectionError += OnConnectionError; _client.OnChatCommandReceived += OnChatCommandReceived; _client.OnUserTimedout += OnUserTimedOut; _client.OnUserBanned += ClientOnUserBanned; pubsubClient.OnPubSubServiceConnected += TwitchPubSubOnOnPubSubServiceConnected; pubsubClient.OnPubSubServiceClosed += TwitchPubSubOnOnPubSubServiceClosed; pubsubClient.OnChannelSubscription += TwitchPubSubOnOnChannelSubscription; pubsubClient.OnFollow += TwitchPubSubOnOnFollow; pubsubClient.OnEmoteOnly += TwitchPubSubOnOnEmoteOnly; pubsubClient.OnEmoteOnlyOff += TwitchPubSubOnOnEmoteOnlyOff; pubsubClient.ListenToFollows(appSettings?.Keys.Twitch.ChannelId); pubsubClient.ListenToSubscriptions(appSettings?.Keys.Twitch.ChannelId); pubsubClient.ListenToChatModeratorActions(_account?.TwitchBotSettings.Username, appSettings?.Keys.Twitch.ChannelId); }
public void CreateDatabaseAndViews() { _tokenCollection = new CouchDbStore <Token>(ApplicationSettings.CouchDbUrl); _tokenCollection.CreateDatabase().GetAwaiter().GetResult(); _tokenCollection.CreateDesignDocument().GetAwaiter().GetResult(); _tokenCollection.CreateView("token").GetAwaiter().GetResult(); _tokenCollection.CreateView("token", "accountid", "doc.accountid").GetAwaiter().GetResult(); }
public void SetupTests() { //TODO: Put default couchdburl in appsettings and transform during CI/CD var settingsCollection = new CouchDbStore <ApplicationSettings>(ApplicationSettings.CouchDbUrl); var settings = settingsCollection.FindAsync("9c3131ee7b9fb97491e8551211495381").GetAwaiter().GetResult(); _seClient = new StreamElementsService(settings); }
public void SetUpTests() { var settingsCollection = new CouchDbStore <ApplicationSettings>(ApplicationSettings.CouchDbUrl); var settings = settingsCollection.FindAsync("9c3131ee7b9fb97491e8551211495381").GetAwaiter().GetResult(); _vodCollection = new CouchDbStore <Vod>(ApplicationSettings.CouchDbUrl); _twitchService = new TwitchService(settings); }
public void SetupTests() { var settingsCollection = new CouchDbStore <ApplicationSettings>(ApplicationSettings.CouchDbUrl); var settings = settingsCollection.GetAsync().Result.FirstOrDefault()?.Value; _seClient = new StreamElementsService(settings); _viewerCollection = new CouchDbStore <Viewer>(ApplicationSettings.CouchDbUrl); }
public void CreateDatabaseAndViews() { _accountCollection = new CouchDbStore <Account>(ApplicationSettings.CouchDbUrl); _accountCollection.CreateDatabase().GetAwaiter().GetResult(); _accountCollection.CreateDesignDocument().GetAwaiter().GetResult(); _accountCollection.CreateView("account").GetAwaiter().GetResult(); _accountCollection.CreateView("account", "email", "doc.email").GetAwaiter().GetResult(); _accountCollection.CreateView("account", "username", "doc.username").GetAwaiter().GetResult(); }
public BaseApiController(IConfiguration configuration) { Configuration = configuration; var configSettings = Configuration.GetSection("Settings"); var settingCollection = new CouchDbStore <ApplicationSettings>(configSettings.GetSection("CouchDbUri").Value); TokenCollection = new CouchDbStore <Token>(configSettings.GetSection("CouchDbUri").Value); _settings = settingCollection.GetAsync().GetAwaiter().GetResult().FirstOrDefault()?.Value; GoogleClient = new GoogleService(_settings); }
public KungBot(TwitchClient client, TwitchPubSub twitchPubSub) { _client = client; _twitchPubSub = twitchPubSub; var appSettingsCollection = new CouchDbStore <ApplicationSettings>(ApplicationSettings.CouchDbUrl); var accountCollection = new CouchDbStore <Account>(ApplicationSettings.CouchDbUrl); _appSettings = appSettingsCollection.GetAsync().Result.FirstOrDefault()?.Value; _account = accountCollection.GetAsync().Result.FirstOrDefault()?.Value; _viewerCollection = new CouchDbStore <Viewer>(ApplicationSettings.CouchDbUrl); var commandCollection = new CouchDbStore <Command>(ApplicationSettings.CouchDbUrl); _commandSettings = commandCollection.GetAsync().Result.Select(row => row.Value).ToList(); }
public void Perform(TwitchClient client, TwitchService service, ChatCommand chatCommand, Command command) { if (!command.IsActive) { return; } var _viewerCollection = new CouchDbStore <Viewer>(ApplicationSettings.CouchDbUrl); var _viewerRankCollection = new CouchDbStore <ViewerRank>(ApplicationSettings.CouchDbUrl); var dbViewer = (_viewerCollection.GetAsync("viewer-username", chatCommand.ChatMessage.Username).GetAwaiter().GetResult()).FirstOrDefault()?.Value; var viewRanks = _viewerRankCollection.GetAsync().GetAwaiter().GetResult(); if (dbViewer != null) { var viewerRank = viewRanks .LastOrDefault(r => r.Value.ExperienceRequired <= dbViewer.Points)?.Value.RankName; client.SendMessage(chatCommand.ChatMessage.Channel, $"{chatCommand.ChatMessage.Username}, Your rank is {viewerRank}! You have {dbViewer.Points} experience! kungraHYPERS"); } }
public AccountController(IConfiguration configuration) : base(configuration) { _accountCollection = new CouchDbStore <Account>(ApplicationSettings.CouchDbUrl); }
public void SetUpTests() { _viewersCollection = new CouchDbStore <Viewer>(ApplicationSettings.CouchDbUrl); }
public void SetUpTests() { _accountsCollection = new CouchDbStore <Account>(ApplicationSettings.CouchDbUrl); _viewerRankCollection = new CouchDbStore <ViewerRank>(ApplicationSettings.CouchDbUrl); }
public TwitchCommands() { var settingsCollection = new CouchDbStore <ApplicationSettings>(ApplicationSettings.CouchDbUrl); _settings = settingsCollection.GetAsync().Result.FirstOrDefault()?.Value; }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddOptions(); services.Configure <ApplicationSettings>(Configuration); var configSettings = Configuration.GetSection("Settings"); var settingsCollection = new CouchDbStore <ApplicationSettings>(configSettings.GetSection("CouchDbUri").Value); var settings = settingsCollection.GetAsync().GetAwaiter().GetResult().FirstOrDefault()?.Value; services.AddResponseCaching(options => { options.UseCaseSensitivePaths = true; options.MaximumBodySize = 1024; }); services.AddApiVersioning(api => { api.DefaultApiVersion = new ApiVersion(1, 0); api.AssumeDefaultVersionWhenUnspecified = true; api.ReportApiVersions = true; }); services.AddAuthentication(options => { options.DefaultAuthenticateScheme = "JwtBearer"; options.DefaultChallengeScheme = "JwtBearer"; }) .AddJwtBearer("JwtBearer", jwtBearerOptions => { jwtBearerOptions.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(settings?.Keys.JWTSecurityKey)), ValidateIssuer = true, ValidIssuer = "kungraseri-api", ValidateAudience = true, ValidAudience = "kungraseri-audience", ValidateLifetime = true, ClockSkew = TimeSpan.FromMinutes(5) }; }); services.Configure <IISOptions>("api.kungraseri.ninja", options => { }); services.AddMvc(options => { options.CacheProfiles.Add("Default", new CacheProfile { Duration = 60 }); options.CacheProfiles.Add("Never", new CacheProfile { Location = ResponseCacheLocation.None, NoStore = true }); }); services.AddWebSocketManager(); }
public TwitchController(IConfiguration configuration) : base(configuration) { _twitchClient = new TwitchService(_settings); _vodCollection = new CouchDbStore <Vod>(Data.Models.ApplicationSettings.CouchDbUrl); _googleService = new GoogleService(_settings); }
public AuthController(IConfiguration configuration) : base(configuration) { _accountCollection = new CouchDbStore <Account>(ApplicationSettings.CouchDbUrl); _cryptoService = new Crypto(_settings.CookieToken); }