- // Create a module with no prefix
- public class InfoModule : ModuleBase<SocketCommandContext>
- {
- // ~say hello world -> hello world
- [Command("say")]
- [Summary("Echoes a message.")]
- public Task SayAsync([Remainder] [Summary("The text to echo")] string echo)
- => ReplyAsync(echo);
-
- // ReplyAsync is a method on ModuleBase
- }
-
- // Create a module with the 'sample' prefix
- [Group("sample")]
- public class SampleModule : ModuleBase<SocketCommandContext>
- {
- // ~sample square 20 -> 400
- [Command("square")]
- [Summary("Squares a number.")]
- public async Task SquareAsync(
- [Summary("The number to square.")]
- int num)
- {
- // We can also access the channel from the Command Context.
- await Context.Channel.SendMessageAsync($"{num}^2 = {Math.Pow(num, 2)}");
- }
-
- // ~sample userinfo --> foxbot#0282
- // ~sample userinfo @Khionu --> Khionu#8708
- // ~sample userinfo Khionu#8708 --> Khionu#8708
- // ~sample userinfo Khionu --> Khionu#8708
- // ~sample userinfo 96642168176807936 --> Khionu#8708
- // ~sample whois 96642168176807936 --> Khionu#8708
- [Command("userinfo")]
- [Summary
- ("Returns info about the current user, or the user parameter, if one passed.")]
- [Alias("user", "whois")]
- public async Task UserInfoAsync(
- [Summary("The (optional) user to get info from")]
- SocketUser user = null)
- {
- var userInfo = user ?? Context.Client.CurrentUser;
- await ReplyAsync($"{userInfo.Username}#{userInfo.Discriminator}");
- }
- }
|