<commit_before>﻿using Discord;
using Discord.Commands;
using Discord.Commands.Permissions.Levels;
using Discord.Modules;
using ChihiroBot.Modules.Gif;
using ChihiroBot.Modules.N_des;
using ChihiroBot.Modules.StarlightStage;
using System;
using System.IO;
using System.Linq;

namespace ChihiroBot.Modules.Random
{
    internal class RandomModule : IModule
    {
        private ModuleManager _manager;
        private DiscordClient _client;
        private System.Random x = new System.Random();
        private GifModule gif = new GifModule();
        private N_desModule nudes = new N_desModule();
        private StarlightStageModule ss = new StarlightStageModule();
        private string dropboxFolderPath;

        void IModule.Install(ModuleManager manager)
        {
            _manager = manager;
            _client = _manager.Client;

            FindDropboxFolder();

            manager.CreateCommands("", group =>
            {
                group.CreateCommand("hi")
                       .Description("Say hi!")
                       .Do(async e =>
                       {
                           await e.Channel.SendIsTyping();
                           switch (x.Next(2))
                           {
                               case 0:
                                   await e.Channel.SendMessage($"hi :)");
                                   break;
                               case 1:
                                   await e.Channel.SendMessage($"hello :D");
                                   break;
                               default:
                                   await e.Channel.SendMessage($"hi :)");
                                   break;
                           }

                       });
                group.CreateCommand("backup")
                       .Parameter("file(s)", ParameterType.Required)
                       .Description("Backup json config files to the Dropbox folder")
                       .MinPermissions((int)PermissionLevel.BotOwner)
                       .Do(async e =>
                       {
                           await e.Channel.SendIsTyping();
                           await e.Channel.SendMessage($"{Backup(e)}");

                       });
                group.CreateCommand("restore")
                       .Parameter("file(s)", ParameterType.Required)
                       .Description("Restore json config files from the Dropbox folder")
                       .MinPermissions((int)PermissionLevel.BotOwner)
                       .Do(async e =>
                       {
                           await e.Channel.SendIsTyping();
                           await e.Channel.SendMessage($"{Restore(e)}");

                       });
                group.CreateCommand("getlogs")
                       .Parameter("count", ParameterType.Optional)
                       .Description("Gets UmiBot [count] log messages via private message")
                       .MinPermissions((int)PermissionLevel.BotOwner)
                       .Do(e =>
                       {
                           PmLogs(e);
                       });
                group.CreateCommand("bad pull")
                       .Description("For when you get a bad pull...")
                       .Do(async e =>
                       {
                           await e.Channel.SendIsTyping();
                           switch (x.Next(3))
                           {
                               case 0:
                                   await e.Channel.SendMessage($"http://i.imgur.com/OpQjMan.gif");
                                   break;
                               case 1:
                                   await e.Channel.SendMessage($"http://i.imgur.com/5hfeKVU.gif");
                                   break;
                               case 2:
                                   await e.Channel.SendMessage($"http://i.imgur.com/zBnDDQ0.gif");
                                   break;
                               default:
                                   await e.Channel.SendMessage($"http://i.imgur.com/zBnDDQ0.gif");
                                   break;
                           }
                       });
                group.CreateCommand("jew")
                       .Description("A picture of a Jew")
                       .Do(async e =>
                       {
                           await e.Channel.SendIsTyping();
                           await e.Channel.SendMessage($"http://i.imgur.com/wkst8sI.jpg");
                       });
                group.CreateCommand("basic")
                       .Description("The most basic things around")
                       .Do(async e =>
                       {
                           await e.Channel.SendIsTyping();
                           await e.Channel.SendMessage($"http://i.imgur.com/1XCRsrm.jpg");
                       });<commit_msg>Add nonbasic and how to roll/gacha help commands, update basic<commit_after>﻿using Discord;
using Discord.Commands;
using Discord.Commands.Permissions.Levels;
using Discord.Modules;
using ChihiroBot.Modules.Gif;
using ChihiroBot.Modules.N_des;
using ChihiroBot.Modules.StarlightStage;
using System;
using System.IO;
using System.Linq;

namespace ChihiroBot.Modules.Random
{
    internal class RandomModule : IModule
    {
        private ModuleManager _manager;
        private DiscordClient _client;
        private System.Random x = new System.Random();
        private GifModule gif = new GifModule();
        private N_desModule nudes = new N_desModule();
        private StarlightStageModule ss = new StarlightStageModule();
        private string dropboxFolderPath;

        void IModule.Install(ModuleManager manager)
        {
            _manager = manager;
            _client = _manager.Client;

            FindDropboxFolder();

            manager.CreateCommands("", group =>
            {
                group.CreateCommand("hi")
                       .Description("Say hi!")
                       .Do(async e =>
                       {
                           await e.Channel.SendIsTyping();
                           switch (x.Next(2))
                           {
                               case 0:
                                   await e.Channel.SendMessage($"hi :)");
                                   break;
                               case 1:
                                   await e.Channel.SendMessage($"hello :D");
                                   break;
                               default:
                                   await e.Channel.SendMessage($"hi :)");
                                   break;
                           }

                       });
                group.CreateCommand("backup")
                       .Parameter("file(s)", ParameterType.Required)
                       .Description("Backup json config files to the Dropbox folder")
                       .MinPermissions((int)PermissionLevel.BotOwner)
                       .Do(async e =>
                       {
                           await e.Channel.SendIsTyping();
                           await e.Channel.SendMessage($"{Backup(e)}");

                       });
                group.CreateCommand("restore")
                       .Parameter("file(s)", ParameterType.Required)
                       .Description("Restore json config files from the Dropbox folder")
                       .MinPermissions((int)PermissionLevel.BotOwner)
                       .Do(async e =>
                       {
                           await e.Channel.SendIsTyping();
                           await e.Channel.SendMessage($"{Restore(e)}");

                       });
                group.CreateCommand("getlogs")
                       .Parameter("count", ParameterType.Optional)
                       .Description("Gets UmiBot [count] log messages via private message")
                       .MinPermissions((int)PermissionLevel.BotOwner)
                       .Do(e =>
                       {
                           PmLogs(e);
                       });
                group.CreateCommand("bad pull")
                       .Description("For when you get a bad pull...")
                       .Do(async e =>
                       {
                           await e.Channel.SendIsTyping();
                           switch (x.Next(3))
                           {
                               case 0:
                                   await e.Channel.SendMessage($"http://i.imgur.com/OpQjMan.gif");
                                   break;
                               case 1:
                                   await e.Channel.SendMessage($"http://i.imgur.com/5hfeKVU.gif");
                                   break;
                               case 2:
                                   await e.Channel.SendMessage($"http://i.imgur.com/zBnDDQ0.gif");
                                   break;
                               default:
                                   await e.Channel.SendMessage($"http://i.imgur.com/zBnDDQ0.gif");
                                   break;
                           }
                       });
                group.CreateCommand("jew")
                       .Description("A picture of a Jew")
                       .Do(async e =>
                       {
                           await e.Channel.SendIsTyping();
                           await e.Channel.SendMessage($"http://i.imgur.com/wkst8sI.jpg");
                       });
                group.CreateCommand("basic")
                       .Description("Literally the most basic")
                       .Do(async e =>
                       {
                           await e.Channel.SendIsTyping();
                           switch (x.Next(2))
                           {
                               case 0:
                                   await e.Channel.SendMessage($"http://i.imgur.com/1XCRsrm.jpg");
                                   break;
                               case 1:
                                   await e.Channel.SendMessage($"http://i.imgur.com/Kb1ZqNB.jpg");
                                   break;
                               default:
                                   await e.Channel.SendMessage($"http://i.imgur.com/1XCRsrm.jpg");
                                   break;
                           }
                       });
                group.CreateCommand("nonbasic")
                       .Description("Totes not basic")
                       .Do(async e =>
                       {
                           await e.Channel.SendIsTyping();
                           switch (x.Next(2))
                           {
                               case 0:
                                   await e.Channel.SendMessage($"http://i.imgur.com/OFB8ymR.jpg");
                                   break;
                               case 1:
                                   await e.Channel.SendMessage($"http://i.imgur.com/jpgYUeg.jpg");
                                   break;
                               default:
                                   await e.Channel.SendMessage($"http://i.imgur.com/jpgYUeg.jpg");
                                   break;
                           }
                       });
                group.CreateCommand("how to roll")
                       .Description("How to roll gacha")
                       .Do(async e =>
                       {
                           await e.Channel.SendIsTyping();
                           await e.Channel.SendMessage($"http://i.imgur.com/jWrJbuR.jpg");
                       });
                group.CreateCommand("gacha help")
                       .Description("How to roll gacha")
                       .Do(async e =>
                       {
                           await e.Channel.SendIsTyping();
                           await e.Channel.SendMessage($"http://i.imgur.com/jWrJbuR.jpg");
                       });
{'fraction_non_alphanumeric': 0.09162455471791899, 'fraction_numerical': 0.002733824869521995, 'mean_word_length': 0.8575165410063087, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 22, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 40, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5887755', 'n_tokens_mistral': 2734, 'n_tokens_neox': 2628, 'n_words': 465}