Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Discord;
- using Discord.Commands;
- using System;
- using System.IO;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Timers;
- namespace DiscordTestBot
- {
- class MyBot
- {
- DiscordClient discord;
- CommandService commands;
- public MyBot()
- {
- discord = new DiscordClient(x =>
- {
- x.LogLevel = LogSeverity.Info; //Defines log
- x.LogHandler = Log;
- });
- discord.UsingCommands(x =>
- {
- x.PrefixChar = '-';
- x.AllowMentionPrefix = true; //Initiates the '-' prefix for commands and allows mentions
- x.HelpMode = HelpMode.Public; //Allows the help command
- });
- commands = discord.GetService<CommandService>();
- RegisterEveryoneAntiAbuseCommand(); //Command calls
- RegisterSpamLiamCommand();
- RegisterWinsCommand();
- RegisterTicksCommand();
- RegisterAddWinCommand();
- RegisterUndoWinCommand();
- RegisterAddTickCommand();
- RegisterUndoTickCommand();
- RegisterAddUserCommand();
- RegisterDeleteUserCommand();
- RegisterPermTestCommand();
- RegisterTimeCommand();
- RegisterUserProfileCommand();
- RegisterPlanBCommand();
- RegisterChangeNameCommand();
- RegisterDiceRollCommand();
- RegisterPersonalMessageCommand();
- discord.ExecuteAndWait(async () =>
- {
- await discord.Connect("MzQ4MTI4MTE0ODg4NTQwMTYw.DHiquQ.LqC8cykUC3eICxKYVHqHN3m_Wjc", TokenType.Bot); //Accesses the correct discord bot ID
- Game g = new Game("REEEEEEEEEEEEEE", GameType.Twitch, "https://www.twitch.tv/forsenlol");
- discord.SetGame(g);
- });
- }
- public static string messageToSend;
- private void RegisterSpamLiamCommand() //Spam Liam for fun
- {
- /*
- commands.CreateCommand("spamliam")
- .Description("Spams Liam.")
- .Do(async (e) =>
- {
- for (int i = 1; i <= 5; i++)
- {
- await e.Channel.SendMessage("<@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee <@281578558210441216> REEeee");
- }
- });
- */
- }
- private void RegisterEveryoneAntiAbuseCommand() //Anti-Liam Measures
- {
- discord.MessageReceived += async (s, e) => {
- // Check to make sure that the bot is not the author
- if ((!e.Message.IsAuthor) && (e.User.Id == 281578558210441216) && (e.Message.ToString().Contains("@everyone"))) //Liam's ID: 281578558210441216
- {
- for (int i = 1; i <= 5; i++)
- {
- await e.Channel.SendMessage("<@281578558210441216> REEeee");
- }
- }
- };
- }
- private void RegisterWinsCommand() //Displays the wins of a specified player
- {
- commands.CreateCommand("wins")
- .Description("Specifies the amount of wins a player has. Usage: '-wins <player_name>'")
- .Parameter("player", ParameterType.Unparsed)
- .Do(async (e) =>
- {
- var playerName = $"{e.GetArg("player")}";
- string playerWins;
- char playerExist = 'T';
- StreamReader sr;
- try
- {
- sr = new StreamReader("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt");
- sr.Close();
- }
- catch(IOException)
- {
- playerExist = 'F';
- }
- switch(playerExist)
- {
- case 'T':
- sr = new StreamReader("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt");
- playerWins = sr.ReadLine();
- sr.Close();
- switch (playerWins)
- {
- case "1":
- await e.Channel.SendMessage(playerName + " has " + playerWins + " win.");
- break;
- default:
- await e.Channel.SendMessage(playerName + " has " + playerWins + " wins.");
- break;
- }
- break;
- case 'F':
- await e.Channel.SendMessage("You have entered an invalid name.");
- break;
- default:
- await e.Channel.SendMessage("An unexpected error has occured.");
- break;
- }
- });
- }
- private void RegisterTicksCommand() //Displays the ticks of a specified player
- {
- commands.CreateCommand("ticks")
- .Description("Specifies the amount of ticks a player has. Usage: '-ticks <player_name>'")
- .Parameter("player", ParameterType.Unparsed)
- .Do(async (e) =>
- {
- var playerName = $"{e.GetArg("player")}";
- string playerTicks;
- char playerExist = 'T';
- StreamReader sr;
- try
- {
- sr = new StreamReader("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt");
- sr.Close();
- }
- catch (IOException)
- {
- playerExist = 'F';
- }
- switch (playerExist)
- {
- case 'T':
- sr = new StreamReader("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt");
- playerTicks = sr.ReadLine();
- playerTicks = sr.ReadLine();
- sr.Close();
- switch (playerTicks)
- {
- case "1":
- await e.Channel.SendMessage(playerName + " has " + playerTicks + " tick.");
- break;
- default:
- await e.Channel.SendMessage(playerName + " has " + playerTicks + " ticks.");
- break;
- }
- break;
- case 'F':
- await e.Channel.SendMessage("You have entered an invalid name.");
- break;
- default:
- await e.Channel.SendMessage("An unexpected error has occured.");
- break;
- }
- });
- }
- private void RegisterAddWinCommand() //Adds a win to a player's profile file
- {
- commands.CreateCommand("addwin")
- .Description("Adds a win to a player's current win count. Usage: '-addwin <player_name>'")
- .Parameter("player", ParameterType.Unparsed)
- .Do(async (e) =>
- {
- var playerName = $"{e.GetArg("player")}";
- string strOldWins;
- int intOldWins;
- int intNewWins;
- string ticksHeldValue;
- char playerExist = 'T';
- StreamReader sr;
- StreamWriter sw;
- switch (e.User.Id)
- {
- case 176815679599542274: //Jared
- case 170671108675076108: //Thomas
- case 175755733395046400: //Colin
- if (playerName != "Better Thomas")
- {
- try
- {
- sr = new StreamReader("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt");
- sr.Close();
- }
- catch (IOException)
- {
- playerExist = 'F';
- }
- switch (playerExist)
- {
- case 'T':
- sr = new StreamReader("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt");
- strOldWins = sr.ReadLine();
- ticksHeldValue = sr.ReadLine();
- intOldWins = Int32.Parse(strOldWins);
- intNewWins = intOldWins + 1;
- sr.Close();
- sw = new StreamWriter("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt", false);
- sw.WriteLine(intNewWins);
- sw.WriteLine(ticksHeldValue);
- sw.Close();
- sw = new StreamWriter("C:\\Users\\Jared\\Documents\\Bot_Log\\Log.txt", true);
- sw.WriteLine("[" + DateTime.Now.ToString() + "] " + playerName + " +1 Win");
- sw.Close();
- switch (intNewWins)
- {
- case 1:
- await e.Channel.SendMessage("Value updated. " + playerName + " now currently has " + intNewWins + " win.");
- break;
- default:
- await e.Channel.SendMessage("Value updated. " + playerName + " now currently has " + intNewWins + " wins.");
- break;
- }
- break;
- case 'F':
- await e.Channel.SendMessage("You have entered an invalid name.");
- break;
- default:
- await e.Channel.SendMessage("An unexpected error has occured.");
- break;
- }
- }
- else
- {
- await e.Channel.SendMessage("Wins could not be added. The selected user already has too many wins.");
- }
- break;
- default:
- await e.Channel.SendMessage("You do not have permission to use this command.");
- break;
- }
- });
- }
- private void RegisterUndoWinCommand() //Subtracts a win from a player's profile file
- {
- commands.CreateCommand("undowin")
- .Description("Subtracts a win from a player's current win count. Usage: '-undowin <player_name>'")
- .Parameter("player", ParameterType.Unparsed)
- .Do(async (e) =>
- {
- var playerName = $"{e.GetArg("player")}";
- string strOldWins;
- int intOldWins;
- int intNewWins;
- string ticksHeldValue;
- char playerExist = 'T';
- StreamReader sr;
- StreamWriter sw;
- switch (e.User.Id)
- {
- case 176815679599542274: //Jared
- case 170671108675076108: //Thomas
- case 175755733395046400: //Colin
- if (playerName != "Better Thomas")
- {
- try
- {
- sr = new StreamReader("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt");
- sr.Close();
- }
- catch (IOException)
- {
- playerExist = 'F';
- }
- switch (playerExist)
- {
- case 'T':
- sr = new StreamReader("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt");
- strOldWins = sr.ReadLine();
- ticksHeldValue = sr.ReadLine();
- intOldWins = Int32.Parse(strOldWins);
- intNewWins = intOldWins - 1;
- sr.Close();
- sw = new StreamWriter("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt", false);
- sw.WriteLine(intNewWins);
- sw.WriteLine(ticksHeldValue);
- sw.Close();
- sw = new StreamWriter("C:\\Users\\Jared\\Documents\\Bot_Log\\Log.txt", true);
- sw.WriteLine("[" + DateTime.Now.ToString() + "] " + playerName + " -1 Win");
- sw.Close();
- switch (intNewWins)
- {
- case 1:
- await e.Channel.SendMessage("Value updated. " + playerName + " now currently has " + intNewWins + " win.");
- break;
- default:
- await e.Channel.SendMessage("Value updated. " + playerName + " now currently has " + intNewWins + " wins.");
- break;
- }
- break;
- case 'F':
- await e.Channel.SendMessage("You have entered an invalid name.");
- break;
- default:
- await e.Channel.SendMessage("An unexpected error has occured.");
- break;
- }
- }
- else
- {
- await e.Channel.SendMessage("Wins could not be removed. The selected user already has too many wins.");
- }
- break;
- default:
- await e.Channel.SendMessage("You do not have permission to use this command.");
- break;
- }
- });
- }
- private void RegisterAddTickCommand() //Adds a tick to a player's profile file
- {
- commands.CreateCommand("addtick")
- .Description("Adds a tick to a player's current tick count. Usage: '-addtick <player_name>'")
- .Parameter("player", ParameterType.Unparsed)
- .Do(async (e) =>
- {
- var playerName = $"{e.GetArg("player")}";
- string strOldTicks;
- int intOldTicks;
- int intNewTicks;
- string winsHeldValue;
- char playerExist = 'T';
- StreamReader sr;
- StreamWriter sw;
- switch (e.User.Id)
- {
- case 176815679599542274: //Jared
- case 170671108675076108: //Thomas
- case 175755733395046400: //Colin
- try
- {
- sr = new StreamReader("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt");
- sr.Close();
- }
- catch (IOException)
- {
- playerExist = 'F';
- }
- switch (playerExist)
- {
- case 'T':
- sr = new StreamReader("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt");
- winsHeldValue = sr.ReadLine();
- strOldTicks = sr.ReadLine();
- intOldTicks = Int32.Parse(strOldTicks);
- intNewTicks = intOldTicks + 1;
- sr.Close();
- sw = new StreamWriter("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt", false);
- sw.WriteLine(winsHeldValue);
- sw.WriteLine(intNewTicks);
- sw.Close();
- sw = new StreamWriter("C:\\Users\\Jared\\Documents\\Bot_Log\\Log.txt", true);
- sw.WriteLine("[" + DateTime.Now.ToString() + "] " + playerName + " +1 Tick");
- sw.Close();
- switch (intNewTicks)
- {
- case 1:
- await e.Channel.SendMessage("Value updated. " + playerName + " now currently has " + intNewTicks + " tick.");
- break;
- default:
- await e.Channel.SendMessage("Value updated. " + playerName + " now currently has " + intNewTicks + " ticks.");
- break;
- }
- break;
- case 'F':
- await e.Channel.SendMessage("You have entered an invalid name.");
- break;
- default:
- await e.Channel.SendMessage("An unexpected error has occured.");
- break;
- }
- break;
- default:
- await e.Channel.SendMessage("You do not have permission to use this command.");
- break;
- }
- });
- }
- private void RegisterUndoTickCommand() //Subtracts a tick from a player's profile file
- {
- commands.CreateCommand("undotick")
- .Description("Subtracts a tick from a player's current tick count. Usage: '-undotick <player_name>'")
- .Parameter("player", ParameterType.Unparsed)
- .Do(async (e) =>
- {
- var playerName = $"{e.GetArg("player")}";
- string strOldTicks;
- int intOldTicks;
- int intNewTicks;
- string winsHeldValue;
- char playerExist = 'T';
- StreamReader sr;
- StreamWriter sw;
- switch (e.User.Id)
- {
- case 176815679599542274: //Jared
- case 170671108675076108: //Thomas
- case 175755733395046400: //Colin
- try
- {
- sr = new StreamReader("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt");
- sr.Close();
- }
- catch (IOException)
- {
- playerExist = 'F';
- }
- switch (playerExist)
- {
- case 'T':
- sr = new StreamReader("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt");
- winsHeldValue = sr.ReadLine();
- strOldTicks = sr.ReadLine();
- intOldTicks = Int32.Parse(strOldTicks);
- intNewTicks = intOldTicks - 1;
- sr.Close();
- sw = new StreamWriter("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt", false);
- sw.WriteLine(winsHeldValue);
- sw.WriteLine(intNewTicks);
- sw.Close();
- sw = new StreamWriter("C:\\Users\\Jared\\Documents\\Bot_Log\\Log.txt", true);
- sw.WriteLine("[" + DateTime.Now.ToString() + "] " + playerName + " -1 Tick");
- sw.Close();
- switch (intNewTicks)
- {
- case 1:
- await e.Channel.SendMessage("Value updated. " + playerName + " now currently has " + intNewTicks + " tick.");
- break;
- default:
- await e.Channel.SendMessage("Value updated. " + playerName + " now currently has " + intNewTicks + " ticks.");
- break;
- }
- break;
- case 'F':
- await e.Channel.SendMessage("You have entered an invalid name.");
- break;
- default:
- await e.Channel.SendMessage("An unexpected error has occured.");
- break;
- }
- break;
- default:
- await e.Channel.SendMessage("You do not have permission to use this command.");
- break;
- }
- });
- }
- private void RegisterAddUserCommand() //Creates a new player profile file
- {
- commands.CreateCommand("adduser")
- .Description("Adds a user to the player database. Usage: '-adduser <user_name>'")
- .Parameter("user", ParameterType.Unparsed)
- .Do(async (e) =>
- {
- var userName = $"{e.GetArg("user")}";
- string filePath = "C:\\Users\\Jared\\Documents\\Player_Profiles\\" + userName + ".txt";
- switch (e.User.Id)
- {
- case 176815679599542274: //Jared
- case 170671108675076108: //Thomas
- case 175755733395046400: //Colin
- if (!File.Exists(filePath))
- {
- using (StreamWriter sw = File.CreateText(filePath))
- {
- sw.WriteLine("0");
- sw.WriteLine("0");
- sw.Close();
- }
- await e.Channel.SendMessage("The user '" + userName + "' has been successfully created.");
- }
- else
- {
- await e.Channel.SendMessage("This user already exists.");
- }
- break;
- default:
- await e.Channel.SendMessage("You do not have permission to use this command.");
- break;
- }
- });
- }
- private void RegisterDeleteUserCommand() //Deletes an existing player profile file
- {
- commands.CreateCommand("deluser")
- .Description("Deletes a user from the player database. Usage: '-deluser <user_name>'")
- .Parameter("user", ParameterType.Unparsed)
- .Do(async (e) =>
- {
- var userName = $"{e.GetArg("user")}";
- string filePath = "C:\\Users\\Jared\\Documents\\Player_Profiles\\" + userName + ".txt";
- switch (e.User.Id)
- {
- case 176815679599542274: //Jared
- case 170671108675076108: //Thomas
- case 175755733395046400: //Colin
- if (File.Exists(filePath))
- {
- File.Delete(filePath);
- await e.Channel.SendMessage("The user '" + userName + "' has been successfully deleted.");
- }
- else
- {
- await e.Channel.SendMessage("That user does not exist.");
- }
- break;
- default:
- await e.Channel.SendMessage("You do not have permission to use this command.");
- break;
- }
- });
- }
- private void RegisterPermTestCommand() //Test command to check permissions
- {
- commands.CreateCommand("permtest")
- .Description("Checks to see what your command permissions are.")
- .Do(async (e) =>
- {
- switch (e.User.Id)
- {
- case 176815679599542274: //Jared
- case 170671108675076108: //Thomas
- case 175755733395046400: //Colin
- await e.Channel.SendMessage("You have elevated priveleges.");
- break;
- default:
- await e.Channel.SendMessage("Oy vey, check your privelege!");
- break;
- }
- });
- }
- private void RegisterTimeCommand() //Checks the time
- {
- commands.CreateCommand("time")
- .Description("Displays the current time and date.")
- .Do(async (e) =>
- {
- await e.Channel.SendMessage(DateTime.Now.ToString());
- });
- }
- private void RegisterUserProfileCommand() //Checks a user's profile
- {
- commands.CreateCommand("profile")
- .Description("Checks the statistics of a certain user. Usage: 'profile <user_name>'")
- .Parameter("player", ParameterType.Unparsed)
- .Do(async (e) =>
- {
- var playerName = $"{e.GetArg("player")}";
- string playerWins;
- string playerTicks;
- char playerExist = 'T';
- StreamReader sr;
- try
- {
- sr = new StreamReader("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt");
- sr.Close();
- }
- catch (IOException)
- {
- playerExist = 'F';
- }
- switch (playerExist)
- {
- case 'T':
- sr = new StreamReader("C:\\Users\\Jared\\Documents\\Player_Profiles\\" + playerName + ".txt");
- playerWins = sr.ReadLine();
- playerTicks = sr.ReadLine();
- sr.Close();
- switch (playerWins)
- {
- case "1":
- switch (playerTicks)
- {
- case "1":
- await e.Channel.SendMessage("Profile for user " + "'" + playerName + "':\n" + playerWins + " win\n" + playerTicks + " tick");
- break;
- default:
- await e.Channel.SendMessage("Profile for user " + "'" + playerName + "':\n" + playerWins + " win\n" + playerTicks + " ticks");
- break;
- }
- break;
- default:
- switch (playerTicks)
- {
- case "1":
- await e.Channel.SendMessage("Profile for user " + "'" + playerName + "':\n" + playerWins + " wins\n" + playerTicks + " tick");
- break;
- default:
- await e.Channel.SendMessage("Profile for user " + "'" + playerName + "':\n" + playerWins + " wins\n" + playerTicks + " ticks");
- break;
- }
- break;
- }
- break;
- case 'F':
- await e.Channel.SendMessage("You have entered an invalid name.");
- break;
- default:
- await e.Channel.SendMessage("An unexpected error has occured.");
- break;
- }
- });
- }
- private void RegisterPlanBCommand() //Recovers from Thomas attacks
- {
- commands.CreateCommand("dontworryaboutit")
- .Description("null")
- .Do(async (e) =>
- {
- var userName = e.User;
- switch (e.User.Id)
- {
- case 176815679599542274: //Jared
- //new ChannelPermissionOverrides(sendMessages: PermValue.Deny);
- //await Channel.AddPermissionsRule(e.User, NewOverwrites);
- //await Channel.AddPermissionsRule(e.User, sendMessages);
- break;
- default:
- await e.Channel.SendMessage("null");
- break;
- }
- });
- }
- private void RegisterChangeNameCommand() //Changes someone's name
- {
- commands.CreateCommand("setnick")
- .Description("Changes, or sets, the nickname of the specified user. Usage: 'setnick <user_name> <new_name>'")
- .Parameter("user")
- .Parameter("newname", ParameterType.Unparsed)
- .Do(async (e) =>
- {
- switch (e.User.Id)
- {
- case 176815679599542274: //Jared
- case 170671108675076108: //Thomas
- case 175755733395046400: //Colin
- var user = e.Channel.FindUsers(e.GetArg("user")).FirstOrDefault();
- string newname = e.GetArg("newname");
- await user.Edit(nickname: newname).ConfigureAwait(false);
- break;
- default:
- await e.Channel.SendMessage("You do not have permission to use this command.");
- break;
- }
- });
- }
- private void RegisterDiceRollCommand() //Rolls a die
- {
- commands.CreateCommand("roll")
- .Description("Rolls a die and gives the result to the user. Usage: 'roll <max_number>'")
- .Parameter("number")
- .Do(async (e) =>
- {
- int randomMax = 0;
- var pickedNumber = $"{e.GetArg("number")}";
- char errorOccurred = 'F';
- try
- {
- randomMax = Convert.ToInt32(pickedNumber);
- }
- catch (FormatException)
- {
- await e.Channel.SendMessage("You did not enter a number.");
- errorOccurred = 'T';
- }
- catch (OverflowException)
- {
- await e.Channel.SendMessage("The number you entered is too large.");
- errorOccurred = 'T';
- }
- if (randomMax > 0)
- {
- Random rnd = new Random();
- int randomRoll = rnd.Next(1, randomMax);
- await e.Channel.SendMessage("You rolled a " + randomRoll + ".");
- }
- else if (errorOccurred == 'F')
- {
- await e.Channel.SendMessage("You entered an invalid number.");
- }
- });
- }
- private void RegisterPersonalMessageCommand() //Sends a personal message to people
- {
- commands.CreateCommand("funcommand")
- .Description("It's amazing. Who knows what it does?")
- .Parameter("target", ParameterType.Required)
- .Parameter("message", ParameterType.Required)
- .Parameter("timestospam", ParameterType.Required)
- .Do(async (e) =>
- {
- ulong id;
- User u = null;
- char errorOccurred = 'F';
- long timesToSpam = 0;
- string findUser = e.GetArg("target");
- messageToSend = e.GetArg("message");
- string tempTimes = e.GetArg("timestospam");
- try //Testing the number for conversion errors
- {
- timesToSpam = Convert.ToInt32(tempTimes);
- }
- catch (FormatException)
- {
- await e.Channel.SendMessage("You did not enter a number.");
- errorOccurred = 'T';
- }
- catch (OverflowException)
- {
- await e.Channel.SendMessage("The number you entered does not fit into the data type.");
- errorOccurred = 'T';
- }
- if (timesToSpam < 1) //Too small of a number
- {
- await e.Channel.SendMessage("The number you entered is too large.");
- errorOccurred = 'T';
- }
- if ((findUser == "Rook") || (findUser == "fishlunatic") || (findUser == "JardTheBard"))
- {
- await e.Channel.SendMessage("This user cannot be targeted.");
- errorOccurred = 'T';
- }
- if (errorOccurred == 'F')
- {
- switch (e.User.Id)
- {
- case 176815679599542274: //Jared
- case 170671108675076108: //Thomas
- case 175755733395046400: //Colin
- if (!string.IsNullOrWhiteSpace(findUser))
- {
- if (e.Message.MentionedUsers.Count() == 1)
- u = e.Message.MentionedUsers.FirstOrDefault();
- else if (e.Server.FindUsers(findUser).Any())
- u = e.Server.FindUsers(findUser).FirstOrDefault();
- else if (ulong.TryParse(findUser, out id))
- u = e.Server.GetUser(id);
- for (int i = 1; i <= timesToSpam; i++)
- {
- await u.SendMessage(messageToSend);
- }
- }
- break;
- default:
- await e.Channel.SendMessage("You do not have permission to use this command.");
- break;
- }
- }
- });
- }
- private void Log(object sender, LogMessageEventArgs e) //Sends error and information logs to the console
- {
- Console.WriteLine(e.Message);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement