public PublisherService(DiscordSocketClient client, DatabaseService databaseService, Settings.Deserialized.Settings settings) { _client = client; _databaseService = databaseService; _verificationCodes = new Dictionary <uint, string>(); _settings = settings; }
public DatabaseService(ILoggingService logging, Settings.Deserialized.Settings settings) { ConnectionString = settings.DbConnectionString; _logging = logging; DbConnection c = null; try { c = new MySqlConnection(ConnectionString); _connection = c.As <IServerUserRepo>(); } catch (Exception e) { Console.WriteLine(e); throw; } try { _connection.TestConnection(); } catch (Exception) { Console.WriteLine("Table 'users' does not exist, attempting to generate.."); c.ExecuteSql( $"CREATE TABLE `users` (`ID` int(11) UNSIGNED NOT NULL, `UserID` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, `Karma` int(11) UNSIGNED NOT NULL DEFAULT 0, `KarmaGiven` int(11) UNSIGNED NOT NULL DEFAULT 0, `Exp` bigint(11) UNSIGNED NOT NULL DEFAULT 0, `Level` int(11) UNSIGNED NOT NULL DEFAULT 0) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"); c.ExecuteSql($"ALTER TABLE `users` ADD PRIMARY KEY (`ID`,`UserID`), ADD UNIQUE KEY `UserID` (`UserID`)"); c.ExecuteSql($"ALTER TABLE `users` MODIFY `ID` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1"); } }
public ModerationService(DiscordSocketClient client, Settings.Deserialized.Settings settings, ILoggingService loggingService) { _settings = settings; _loggingService = loggingService; client.MessageDeleted += MessageDeleted; }
public TicketModule(Settings.Deserialized.Settings settings, CommandHandlingService commandHandlingService) { _settings = settings; Task.Run(async() => { var commands = await commandHandlingService.GetCommandList("TicketModule", true, true, false); _commandList = commands.MessageSplitToSize(); }); }
public CasinoService(ILoggingService logging, UpdateService updateService, DatabaseService databaseService, Settings.Deserialized.Settings settings) { _loggingService = logging; _updateService = updateService; _databaseService = databaseService; _settings = settings; _random = new Random(); LoadData(); UpdateLoop(); }
public ModerationModule(ILoggingService logging, PublisherService publisher, UpdateService update, UserService user, DatabaseService database, Rules rules, Settings.Deserialized.Settings settings) { _logging = logging; _publisher = publisher; _update = update; _user = user; _database = database; _rules = rules; _settings = settings; }
public ReactRoleService(DiscordSocketClient client, ILoggingService logging, Settings.Deserialized.Settings settings) { _loggingService = logging; _settings = settings; _client = client; _client.ReactionAdded += ReactionAdded; _client.ReactionRemoved += ReactionRemoved; // Event so we can Initialize _client.Ready += ClientIsReady; }
public UpdateService(DiscordSocketClient client, DatabaseService databaseService, Settings.Deserialized.Settings settings, FeedService feedService) { _client = client; _databaseService = databaseService; _feedService = feedService; _settings = settings; _token = new CancellationToken(); UpdateLoop(); }
public UserModule(LoggingService loggingService, DatabaseService databaseService, UserService userService, PublisherService publisherService, UpdateService updateService, Rules rules , Settings.Deserialized.Settings settings) { _loggingService = loggingService; _databaseService = databaseService; _userService = userService; _publisherService = publisherService; _updateService = updateService; _rules = rules; _settings = settings; }
public UpdateService(DiscordSocketClient client, LoggingService loggingService, PublisherService publisherService, DatabaseService databaseService, AnimeService animeService, Settings.Deserialized.Settings settings) { _client = client; _loggingService = loggingService; _publisherService = publisherService; _databaseService = databaseService; _animeService = animeService; _settings = settings; _token = new CancellationToken(); _random = new Random(); UpdateLoop(); }
public ModerationModule(ILoggingService logging, UserService user, DatabaseService database, Rules rules, Settings.Deserialized.Settings settings, CommandHandlingService commandHandlingService) { _logging = logging; _user = user; _database = database; _rules = rules; _settings = settings; Task.Run(async() => { var commands = await commandHandlingService.GetCommandList("ModerationModule", true, true, false); _commandList = commands.MessageSplitToSize(); }); }
public CommandHandlingService( DiscordSocketClient client, CommandService commandService, IServiceProvider services, Settings.Deserialized.Settings settings ) { _client = client; _commandService = commandService; _services = services; _settings = settings; /* * Event subscriptions */ _client.MessageReceived += HandleCommand; }
public UserModule(IServiceProvider serviceProvider, Settings.Deserialized.Settings settings, Rules rules) { _databaseService = serviceProvider.GetService <DatabaseService>(); _userService = serviceProvider.GetService <UserService>(); _publisherService = serviceProvider.GetService <PublisherService>(); _updateService = serviceProvider.GetService <UpdateService>(); _currencyService = serviceProvider.GetService <CurrencyService>(); _rules = rules; _settings = settings; var commandHandlingService = serviceProvider.GetService <CommandHandlingService>(); Task.Run(async() => { var commands = await commandHandlingService.GetCommandList("UserModule", false, true, false); //TODO Work out a decent way to remove duplicates? _commandList = commands.MessageSplitToSize(); }); }
public DatabaseService(ILoggingService logging, Settings.Deserialized.Settings settings) { _settings = settings; _connection = _settings.DbConnectionString; _logging = logging; }
public AudioService(ILoggingService logging, DiscordSocketClient client, Settings.Deserialized.Settings settings) { _logging = logging; _client = client; _settings = settings; }
public AnimeService(DiscordSocketClient client, LoggingService loggingService, Settings.Deserialized.Settings settings) { _client = client; _loggingService = loggingService; _settings = settings; }
public CasinoModule(CasinoService casinoService, Settings.Deserialized.Settings settings) { _casinoService = casinoService; _settings = settings; }
public LoggingService(DiscordSocketClient client, Settings.Deserialized.Settings settings) { _client = client; _settings = settings; }
//TODO: Add custom commands for user after (30karma ?/limited to 3 ?) public UserService(DatabaseService databaseService, LoggingService loggingService, UpdateService updateService, Settings.Deserialized.Settings settings, UserSettings userSettings) { rand = new Random(); _databaseService = databaseService; _loggingService = loggingService; _updateService = updateService; _settings = settings; _userSettings = userSettings; _mutedUsers = new Dictionary <ulong, DateTime>(); _xpCooldown = new Dictionary <ulong, DateTime>(); _canEditThanks = new HashSet <ulong>(32); _thanksCooldown = new Dictionary <ulong, DateTime>(); _thanksReminderCooldown = new Dictionary <ulong, DateTime>(); _codeReminderCooldown = new Dictionary <ulong, DateTime>(); _noXpChannels = new List <ulong> { _settings.BotCommandsChannel.Id, _settings.CasinoChannel.Id, _settings.MusicCommandsChannel.Id }; /* * Init font for the profile card */ _fontCollection = new FontCollection(); /*_defaultFont = _fontCollection * .Install(SettingsHandler.LoadValueString("serverRootPath", JsonFile.Settings) + * "/fonts/OpenSans-Regular.ttf") * .CreateFont(16);*/ _nameFont = _fontCollection .Install($"{_settings.ServerRootPath}/fonts/Consolas.ttf") .CreateFont(22); _xpFont = _fontCollection .Install($"{_settings.ServerRootPath}/fonts/Consolas.ttf") .CreateFont(12); _ranksFont = _fontCollection .Install($"{_settings.ServerRootPath}/fonts/Consolas.ttf") .CreateFont(16); _levelTextFont = _fontCollection .Install($"{_settings.ServerRootPath}/fonts/ConsolasBold.ttf") .CreateFont(22); _levelNumberFont = _fontCollection .Install($"{_settings.ServerRootPath}/fonts/ConsolasBold.ttf") .CreateFont(30); _subtitlesWhiteFont = _fontCollection .Install($"{_settings.ServerRootPath}/fonts/OpenSansEmoji.ttf") .CreateFont(75); /* * Init XP */ _xpMinPerMessage = _userSettings.XpMinPerMessage; _xpMaxPerMessage = _userSettings.XpMaxPerMessage; _xpMinCooldown = _userSettings.XpMinCooldown; _xpMaxCooldown = _userSettings.XpMaxCooldown; /* * Init thanks */ StringBuilder sbThanks = new StringBuilder(); var thx = _userSettings.Thanks; sbThanks.Append("(?i)\\b("); foreach (var t in thx) { sbThanks.Append(t).Append("|"); } sbThanks.Length--; //Efficiently remove the final pipe that gets added in final loop, simplifying loop sbThanks.Append(")\\b"); _thanksRegex = sbThanks.ToString(); _thanksCooldownTime = _userSettings.ThanksCooldown; _thanksReminderCooldownTime = _userSettings.ThanksReminderCooldown; _thanksMinJoinTime = _userSettings.ThanksMinJoinTime; /* * Init Code analysis */ _codeReminderCooldownTime = _userSettings.CodeReminderCooldown; _codeFormattingExample = ( @"\`\`\`cs" + Environment.NewLine + "Write your code on new line here." + Environment.NewLine + @"\`\`\`" + Environment.NewLine); _codeReminderFormattingExample = ( _codeFormattingExample + Environment.NewLine + "Simple as that! If you'd like me to stop reminding you about this, simply type \"!disablecodetips\""); LoadData(); UpdateLoop(); }
//TODO: Add custom commands for user after (30karma ?/limited to 3 ?) public UserService(DiscordSocketClient client, DatabaseService databaseService, ILoggingService loggingService, UpdateService updateService, Settings.Deserialized.Settings settings, UserSettings userSettings, Rules rules) { _client = client; rand = new Random(); _databaseService = databaseService; _loggingService = loggingService; _updateService = updateService; _settings = settings; _userSettings = userSettings; _rules = rules; _mutedUsers = new Dictionary <ulong, DateTime>(); _xpCooldown = new Dictionary <ulong, DateTime>(); _canEditThanks = new HashSet <ulong>(32); _thanksCooldown = new Dictionary <ulong, DateTime>(); _thanksReminderCooldown = new Dictionary <ulong, DateTime>(); _codeReminderCooldown = new Dictionary <ulong, DateTime>(); _noXpChannels = new List <ulong> { _settings.BotCommandsChannel.Id, _settings.CasinoChannel.Id, _settings.MusicCommandsChannel.Id }; /* * Init XP */ _xpMinPerMessage = _userSettings.XpMinPerMessage; _xpMaxPerMessage = _userSettings.XpMaxPerMessage; _xpMinCooldown = _userSettings.XpMinCooldown; _xpMaxCooldown = _userSettings.XpMaxCooldown; /* * Init thanks */ StringBuilder sbThanks = new StringBuilder(); var thx = _userSettings.Thanks; sbThanks.Append("(?i)\\b("); foreach (var t in thx) { sbThanks.Append(t).Append("|"); } sbThanks.Length--; //Efficiently remove the final pipe that gets added in final loop, simplifying loop sbThanks.Append(")\\b"); _thanksRegex = sbThanks.ToString(); _thanksCooldownTime = _userSettings.ThanksCooldown; _thanksReminderCooldownTime = _userSettings.ThanksReminderCooldown; _thanksMinJoinTime = _userSettings.ThanksMinJoinTime; /* * Init Code analysis */ _codeReminderCooldownTime = _userSettings.CodeReminderCooldown; _codeFormattingExample = ( @"\`\`\`cs" + Environment.NewLine + "Write your code on new line here." + Environment.NewLine + @"\`\`\`" + Environment.NewLine); _codeReminderFormattingExample = ( _codeFormattingExample + Environment.NewLine + "Simple as that! If you'd like me to stop reminding you about this, simply type \"!disablecodetips\""); /* * Event subscriptions */ _client.MessageReceived += UpdateXp; _client.MessageReceived += Thanks; _client.MessageUpdated += ThanksEdited; _client.MessageReceived += CodeCheck; _client.MessageReceived += ScoldForAtEveryoneUsage; _client.UserJoined += UserJoined; _client.GuildMemberUpdated += UserUpdated; _client.UserLeft += UserLeft; LoadData(); UpdateLoop(); }
public TicketModule(Settings.Deserialized.Settings settings) { _settings = settings; }
public FeedService(DiscordSocketClient client, Settings.Deserialized.Settings settings) { _settings = settings; _client = client; }
public UserService(DiscordSocketClient client, DatabaseService databaseService, ILoggingService loggingService, UpdateService updateService, Settings.Deserialized.Settings settings, UserSettings userSettings) { _client = client; _rand = new Random(); _databaseService = databaseService; _loggingService = loggingService; _updateService = updateService; _settings = settings; MutedUsers = new Dictionary <ulong, DateTime>(); _xpCooldown = new Dictionary <ulong, DateTime>(); _canEditThanks = new HashSet <ulong>(32); _thanksCooldown = new Dictionary <ulong, DateTime>(); CodeReminderCooldown = new Dictionary <ulong, DateTime>(); //TODO We should make this into a config file that we can confiure during runtime. _noXpChannels = new List <ulong> { _settings.BotCommandsChannel.Id }; /* * Init XP */ _xpMinPerMessage = userSettings.XpMinPerMessage; _xpMaxPerMessage = userSettings.XpMaxPerMessage; _xpMinCooldown = userSettings.XpMinCooldown; _xpMaxCooldown = userSettings.XpMaxCooldown; /* * Init thanks */ var sbThanks = new StringBuilder(); var thx = userSettings.Thanks; sbThanks.Append("(?i)\\b("); foreach (var t in thx) { sbThanks.Append(t).Append("|"); } sbThanks.Length--; //Efficiently remove the final pipe that gets added in final loop, simplifying loop sbThanks.Append(")\\b"); _thanksRegex = sbThanks.ToString(); _thanksCooldownTime = userSettings.ThanksCooldown; _thanksMinJoinTime = userSettings.ThanksMinJoinTime; /* * Init Code analysis */ _codeReminderCooldownTime = userSettings.CodeReminderCooldown; CodeFormattingExample = @"\`\`\`cs" + Environment.NewLine + "Write your code on new line here." + Environment.NewLine + @"\`\`\`" + Environment.NewLine; CodeReminderFormattingExample = CodeFormattingExample + Environment.NewLine + "Simple as that! If you'd like me to stop reminding you about this, simply type \"!disablecodetips\""; /* Make sure folders we require exist */ if (!Directory.Exists($"{_settings.ServerRootPath}/images/profiles/")) { Directory.CreateDirectory($"{_settings.ServerRootPath}/images/profiles/"); } /* * Event subscriptions */ _client.MessageReceived += UpdateXp; _client.MessageReceived += Thanks; _client.MessageUpdated += ThanksEdited; _client.MessageReceived += CodeCheck; _client.MessageReceived += ScoldForAtEveryoneUsage; _client.UserJoined += UserJoined; _client.GuildMemberUpdated += UserUpdated; _client.UserLeft += UserLeft; LoadData(); UpdateLoop(); }