public CommandHandler( DiscordSocketClient discord, CommandService commands, Configuration config, IServiceProvider provider, FloraDebugLogger logger, Reactions reactions, FloraRandom random) { _discord = discord; _commands = commands; _provider = provider; _config = config; _logger = logger; _reactions = reactions; _random = random; _ownerChannels = new List <AsyncLazy <IDMChannel> >(); //Set up DM channels for owners foreach (ulong ownerID in _config.Owners) { _ownerChannels.Add(new AsyncLazy <IDMChannel>(async() => await _discord.GetUser(ownerID).GetOrCreateDMChannelAsync())); } _discord.MessageReceived += OnMessageReceivedAsync; }
public Administration(FloraRandom random, FloraDebugLogger logger, DiscordSocketClient client, Configuration config, BotGameHandler botGames) { _random = random; _logger = logger; _client = client; _botGames = botGames; _config = config; }
public InfiniteDie(FloraRandom random, FloraDebugLogger logger, Cooldowns cooldowns) { _random = random; _logger = logger; _cooldowns = cooldowns; _cooldowns.GetOrSetupCommandCooldowns("InfiniteDieCreate"); }
public Misc(FloraRandom random, FloraDebugLogger logger, Configuration config, NameLocker nameLocker) { _client = new HttpClient(); _random = random; _logger = logger; _config = config; _nameLocker = nameLocker; }
public Games(FloraRandom random, FloraDebugLogger logger, BotGameHandler botGames, WoodcuttingLocker woodcuttingLocker, Configuration config, HeartLocker heartLocker) { _random = random; _logger = logger; _botGames = botGames; _config = config; _woodcuttingLocker = woodcuttingLocker; _healthLocker = heartLocker; }
public async Task AsyncMain() { _config = JsonConvert.DeserializeObject <Configuration>(File.ReadAllText(@"data/config.json")); _config.Shutdown = false; _random = new FloraRandom(); _reactions = new Reactions(_random); await _reactions.LoadReactionsFromDatabase(); _botGames = new BotGameHandler(_random, _client, _logger); await _botGames.LoadBotGamesFromDB(); //Services InitServices(); var provider = _map.BuildServiceProvider(); //Command Setup await InitCommands(provider); _commands.Log += Log; await _client.LoginAsync(TokenType.Bot, _config.Token); await _client.StartAsync(); provider.GetRequiredService <CommandHandler>(); //provider.GetRequiredService<StartupHandler>(); provider.GetRequiredService <ReactionHandler>(); provider.GetRequiredService <ImageRateLimitHandler>(); provider.GetRequiredService <ReactionHandler>(); _logger.Log("Updating User List", "Startup"); foreach (SocketGuild guild in _client.Guilds) { await guild.DownloadUsersAsync(); } if (_config.RotatingGames) { _logger.Log("Starting game rotation", "RotatingGames"); WorkingTask(); } //Block task until program is closed await Task.Delay(-1); }
public async Task EndGameInChannel(IGuild guild, IMessageChannel ChannelID, FloraRandom _random) { RNGGame game = StopRNGG(ChannelID.Id); if (game != null) { int roll = _random.Next(game.MinGuess, game.MaxGuess + 1); if (game.Guesses.Select(x => x.GuessIndex == roll).FirstOrDefault()) { var winnerID = game.Guesses.First(x => x.GuessIndex == roll); IGuildUser user = await guild.GetUserAsync(winnerID.UserID); await ChannelID.BlankEmbedAsync(new EmbedBuilder().WithOkColour() .AddField(new EmbedFieldBuilder().WithName("🎲 Roll").WithValue(roll)) .AddField(new EmbedFieldBuilder().WithName("🎉 Winner").WithValue(user.Username)).Build()); } else { await ChannelID.BlankEmbedAsync(new EmbedBuilder().WithErrorColour() .AddField(new EmbedFieldBuilder().WithName("🎲 Roll").WithValue(roll)) .AddField(new EmbedFieldBuilder().WithName("🎉 Winner").WithValue("Nobody. That's sad.")).Build()); } } }
public CustomRoles(FloraRandom random, FloraDebugLogger logger) { _random = random; _logger = logger; }
public NoLifes(FloraRandom random) { _random = random; }
public DnD(FloraRandom random, FloraDebugLogger logger, DiscordSocketClient client) { _random = random; _logger = logger; _client = client; }
public Money(FloraRandom random, FloraDebugLogger logger, Configuration config) { _random = random; _logger = logger; _config = config; }
public CustomReactions(FloraRandom random, FloraDebugLogger logger, Reactions reactions) { _random = random; _logger = logger; _reactions = reactions; }
public Cyphers(FloraRandom random, FloraDebugLogger logger) { _random = random; _logger = logger; }