| @@ -1,16 +1,10 @@ | |||||
| public enum Permissions | |||||
| { | |||||
| User, | |||||
| Moderator, | |||||
| Admin | |||||
| } | |||||
| //Usage: say [text] | |||||
| client.CreateCommand("say") | |||||
| .ArgsEqual(1) | |||||
| .MinPermissions((int)Permissions.User) | |||||
| .Do(async e => | |||||
| { | |||||
| string msg = Format.Normal(e.CommandText); | |||||
| await _client.SendMessage(e.Channel, msg); | |||||
| }); | |||||
| //Since we have setup our CommandChar to be '~', we will run this command by typing ~greet | |||||
| commands.CreateCommand("greet") //create command greet | |||||
| .Alias(new string[] { "gr", "hi" }) //add 2 aliases, so it can be run with ~gr and ~hi | |||||
| .Description("Greets a person.") //add description, it will be shown when ~help is used | |||||
| .Parameter("GreetedPerson", ParameterType.Required) //as an argument, we have a person we want to greet | |||||
| .Do(async e => | |||||
| { | |||||
| await client.SendMessage(e.Channel, e.User.Name + " greets " + e.GetArg("GreetedPerson")); | |||||
| //sends a message to channel with the given text | |||||
| }); | |||||
| @@ -1,20 +1,21 @@ | |||||
| client.CreateCommandGroup("invites", invites => | |||||
| { | |||||
| invites.DefaultMinPermissions((int)Permissions.Admin); | |||||
| //Usage: invites accept [inviteCode] | |||||
| invites.CreateCommand("accept") | |||||
| .ArgsEqual(1) | |||||
| .Do(async e => | |||||
| { | |||||
| try | |||||
| { | |||||
| await _client.AcceptInvite(e.Args[0]); | |||||
| await _client.SendMessage(e.Channel, "Invite \"" + e.Args[0] + "\" accepted."); | |||||
| } | |||||
| catch (HttpException ex) | |||||
| { | |||||
| await _client.SendMessage(e.Channel, "Error: " + ex.Message); | |||||
| } | |||||
| }); | |||||
| }); | |||||
| //we would run our commands with ~do greet X and ~do bye X | |||||
| commands.CreateGroup("do", cgb => | |||||
| { | |||||
| cgb.CreateCommand("greet") | |||||
| .Alias(new string[] { "gr", "hi" }) | |||||
| .Description("Greets a person.") | |||||
| .Parameter("GreetedPerson", ParameterType.Required) | |||||
| .Do(async e => | |||||
| { | |||||
| await client.SendMessage(e.Channel, e.User.Name + " greets " + e.GetArg("GreetedPerson")); | |||||
| }); | |||||
| cgb.CreateCommand("bye") | |||||
| .Alias(new string[] { "bb", "gb" }) | |||||
| .Description("Greets a person.") | |||||
| .Parameter("GreetedPerson", ParameterType.Required) | |||||
| .Do(async e => | |||||
| { | |||||
| await client.SendMessage(e.Channel, e.User.Name + " says goodbye to " + e.GetArg("GreetedPerson")); | |||||
| }); | |||||
| }); | |||||
| @@ -0,0 +1,9 @@ | |||||
| //create command service | |||||
| var commandService = new CommandService(new CommandServiceConfig | |||||
| { | |||||
| CommandChar = '~', // prefix char for commands | |||||
| HelpMode = HelpMode.Public | |||||
| }); | |||||
| //add command service | |||||
| var commands = client.AddService(commandService); | |||||