diff --git a/NadekoBot/Modules/Help/Commands/HelpCommand.cs b/NadekoBot/Modules/Help/Commands/HelpCommand.cs index 21ef73a9..512799b6 100644 --- a/NadekoBot/Modules/Help/Commands/HelpCommand.cs +++ b/NadekoBot/Modules/Help/Commands/HelpCommand.cs @@ -30,7 +30,7 @@ namespace NadekoBot.Classes.Help.Commands }; public static string HelpString { get { - var str = string.IsNullOrWhiteSpace(NadekoBot.Creds.ClientId) && !NadekoBot.Config.DontJoinServers + var str = !string.IsNullOrWhiteSpace(NadekoBot.Creds.ClientId) && !NadekoBot.Config.DontJoinServers ? String.Format("To add me to your server, use this link -> \n", NadekoBot.Creds.ClientId) : ""; return str + String.Format(NadekoBot.Config.HelpString, NadekoBot.Config.CommandPrefixes.Help); diff --git a/NadekoBot/Modules/Music/MusicModule.cs b/NadekoBot/Modules/Music/MusicModule.cs index 98f4fafe..1cf194e3 100644 --- a/NadekoBot/Modules/Music/MusicModule.cs +++ b/NadekoBot/Modules/Music/MusicModule.cs @@ -368,7 +368,8 @@ namespace NadekoBot.Modules.Music musicPlayer.MoveToVoiceChannel(voiceChannel); }); - cgb.CreateCommand("rm") + cgb.CreateCommand("remove") + .Alias("rm") .Description("Remove a song by its # in the queue, or 'all' to remove whole queue.\n**Usage**: `!m rm 5`") .Parameter("num", ParameterType.Required) .Do(async e => @@ -399,6 +400,41 @@ namespace NadekoBot.Modules.Music await e.Channel.SendMessage($"🎵**Track {song.PrettyName} at position `#{num}` has been removed.**").ConfigureAwait(false); }); + //var msRegex = new Regex(@"(?\d+)>(?\d+)", RegexOptions.Compiled); + cgb.CreateCommand("movesong") + .Alias("ms") + .Description($"Moves a song from one position to another.\n**Usage**: `{Prefix} ms` 5>3") + .Parameter("fromto") + .Do(async e => + { + MusicPlayer musicPlayer; + if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) + { + return; + } + var fromto = e.GetArg("fromto").Trim(); + var fromtoArr = fromto.Split('>'); + + int n1; + int n2; + + var playlist = musicPlayer.Playlist as List ?? musicPlayer.Playlist.ToList(); + + if (fromtoArr.Length != 2 || !int.TryParse(fromtoArr[0], out n1) || + !int.TryParse(fromtoArr[1], out n2) || n1 < 1 || n2 < 1 || n1 == n2 || + n1 > playlist.Count || n2 > playlist.Count) + { + await e.Channel.SendMessage("`Invalid input.`"); + return; + } + + var s = playlist[n1 - 1]; + playlist.Insert(n2 - 1, s); + + await e.Channel.SendMessage($"🎵`Moved` {s.PrettyName} `from #{n1} to #{n2}`"); + + }); + cgb.CreateCommand("cleanup") .Description("Cleans up hanging voice connections. **Bot Owner Only!**\n**Usage**: `!m cleanup`") .AddCheck(SimpleCheckers.OwnerOnly()) diff --git a/NadekoBot/Modules/Permissions/PermissionsModule.cs b/NadekoBot/Modules/Permissions/PermissionsModule.cs index 9b7012c1..4a0c4b30 100644 --- a/NadekoBot/Modules/Permissions/PermissionsModule.cs +++ b/NadekoBot/Modules/Permissions/PermissionsModule.cs @@ -637,7 +637,7 @@ namespace NadekoBot.Modules.Permissions cgb.CreateCommand(Prefix + "allrolecmds").Alias(Prefix + "arc") .Parameter("module", ParameterType.Required) .Parameter("bool", ParameterType.Required) - .Parameter("channel", ParameterType.Unparsed) + .Parameter("role", ParameterType.Unparsed) .Description("Sets permissions for all commands from a certain module at the role level.\n**Usage**: ;arc [module_name] [enable/disable] [role_name]") .Do(async e => { @@ -645,12 +645,27 @@ namespace NadekoBot.Modules.Permissions { var state = PermissionHelper.ValidateBool(e.GetArg("bool")); var module = PermissionHelper.ValidateModule(e.GetArg("module")); - var role = PermissionHelper.ValidateRole(e.Server, e.GetArg("channel")); - foreach (var command in NadekoBot.Client.GetService().AllCommands.Where(c => c.Category == module)) + if (e.GetArg("role")?.ToLower() == "all") { - PermissionsHandler.SetRoleCommandPermission(role, command.Text, state); + foreach (var role in e.Server.Roles) + { + foreach (var command in NadekoBot.Client.GetService().AllCommands.Where(c => c.Category == module)) + { + PermissionsHandler.SetRoleCommandPermission(role, command.Text, state); + } + } + await e.Channel.SendMessage($"All commands from the **{module}** module have been **{(state ? "enabled" : "disabled")}** for **all roles** role.").ConfigureAwait(false); + } + else + { + var role = PermissionHelper.ValidateRole(e.Server, e.GetArg("role")); + + foreach (var command in NadekoBot.Client.GetService().AllCommands.Where(c => c.Category == module)) + { + PermissionsHandler.SetRoleCommandPermission(role, command.Text, state); + } + await e.Channel.SendMessage($"All commands from the **{module}** module have been **{(state ? "enabled" : "disabled")}** for **{role.Name}** role.").ConfigureAwait(false); } - await e.Channel.SendMessage($"All commands from the **{module}** module have been **{(state ? "enabled" : "disabled")}** for **{role.Name}** role.").ConfigureAwait(false); } catch (ArgumentException exArg) { diff --git a/NadekoBot/Modules/Searches/SearchesModule.cs b/NadekoBot/Modules/Searches/SearchesModule.cs index 543f50a8..7c0750a0 100644 --- a/NadekoBot/Modules/Searches/SearchesModule.cs +++ b/NadekoBot/Modules/Searches/SearchesModule.cs @@ -30,7 +30,6 @@ namespace NadekoBot.Modules.Searches commands.Add(new RedditCommand(this)); commands.Add(new WowJokeCommand(this)); commands.Add(new CalcCommand(this)); - commands.Add(new WowJokeCommand(this)); rng = new Random(); } diff --git a/commandlist.md b/commandlist.md index df56fa32..9c71b275 100644 --- a/commandlist.md +++ b/commandlist.md @@ -2,7 +2,17 @@ ######You can donate on paypal: `nadekodiscordbot@gmail.com` or Bitcoin `17MZz1JAqME39akMLrVT4XBPffQJ2n1EPa` #NadekoBot List Of Commands -Version: `NadekoBot v0.9.5994.39626` +Version: `NadekoBot v0.9.6015.37609` +### Help +Command and aliases | Description | Usage +----------------|--------------|------- +`-h`, `-help`, `@BotName help`, `@BotName h`, `~h` | Either shows a help for a single command, or PMs you help link if no arguments are specified. | '-h !m q' or just '-h' +`-hgit` | Generates the commandlist.md file. **Bot Owner Only!** +`-readme`, `-guide` | Sends a readme and a guide links to the channel. +`-donate`, `~donate` | Instructions for helping the project! +`-modules`, `.modules` | List all bot modules. +`-commands`, `.commands` | List all of the bot's commands from a certain module. + ### Administration Command and aliases | Description | Usage ----------------|--------------|------- @@ -14,9 +24,9 @@ Command and aliases | Description | Usage `.byepm` | Toggles whether the good bye messages will be sent in a PM or in the text channel. `.greetpm` | Toggles whether the greet messages will be sent in a PM or in the text channel. `.spmom` | Toggles whether mentions of other offline users on your server will send a pm to them. -`.logserver` | Toggles logging in this channel. Logs every message sent/deleted/edited on the server. **Owner Only!** -`.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. **Owner Only!** -`.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. **Owner Only!** +`.logserver` | Toggles logging in this channel. Logs every message sent/deleted/edited on the server. **Bot Owner Only!** +`.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. +`.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. `.repeatinvoke`, `.repinv` | Immediately shows the repeat message and restarts the timer. `.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. Requires manage messages. | `.repeat 5 Hello there` `.rotateplaying`, `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. @@ -24,114 +34,105 @@ Command and aliases | Description | Usage `.listplaying`, `.lipl` | Lists all playing statuses with their corresponding number. `.removeplaying`, `.repl`, `.rmpl` | Removes a playing string on a given number. `.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. -`.cleanv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk.** -`.v+t`, `.voice+text` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. +`.cleanv+t`, `.cv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk.** +`.voice+text`, `.v+t` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. `.scsc` | Starts an instance of cross server channel. You will get a token as a DMthat other people will use to tune in to the same instance `.jcsc` | Joins current channel to an instance of cross server channel using the token. `.lcsc` | Leaves Cross server channel instance from this channel `.asar` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. | .asar Gamer `.rsar` | Removes a specified role from the list of self-assignable roles. -`.lsar` | Lits all self-assignable roles. +`.lsar` | Lists all self-assignable roles. `.iam` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. | .iam Gamer -`.iamn`, `.iamnot` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. | .iamn Gamer +`.iamnot`, `.iamn` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. | .iamn Gamer `.remind` | Sends a message to you or a channel after certain amount of time. First argument is me/here/'channelname'. Second argument is time in a descending order (mo>w>d>h>m) example: 1w5d3h10m. Third argument is a (multiword)message. | `.remind me 1d5h Do something` or `.remind #general Start now!` -`.remindmsg` | Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. **Owner only!** -`.sinfo`, `.serverinfo` | Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. | .sinfo Some Server -`.cinfo`, `.channelinfo` | Shows info about the channel. If no channel is supplied, it defaults to current one. | .cinfo #some-channel -`.uinfo`, `.userinfo` | Shows info about the user. If no user is supplied, it defaults a user running the command. | .uinfo @SomeUser -`.addcustomreaction`, `.acr` | Add a custom reaction. Guide here: **Owner Only!** | .acr "hello" I love saying hello to %user% -`.listcustomreactions`, `.lcr` | Lists all current custom reactions (paginated with 5 commands per page). | .lcr 1 -`.deletecustomreaction`, `.dcr` | Deletes a custom reaction with given name (and index) -`.aar`, `.autoassignrole` | Automaticaly assigns a specified role to every user who joins the server. Type `.aar` to disable, `.aar Role Name` to enable +`.remindmsg` | Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. **Bot Owner Only!** +`.serverinfo`, `.sinfo` | Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. | .sinfo Some Server +`.channelinfo`, `.cinfo` | Shows info about the channel. If no channel is supplied, it defaults to current one. | .cinfo #some-channel +`.userinfo`, `.uinfo` | Shows info about the user. If no user is supplied, it defaults a user running the command. | .uinfo @SomeUser +`.addcustreact`, `.acr` | Add a custom reaction. Guide here: **Bot Owner Only!** | .acr "hello" I love saying hello to %user% +`.listcustreact`, `.lcr` | Lists all current custom reactions (paginated with 5 commands per page). | .lcr 1 +`.delcustreact`, `.dcr` | Deletes a custom reaction with given name (and index) +`.autoassignrole`, `.aar` | Automaticaly assigns a specified role to every user who joins the server. Type `.aar` to disable, `.aar Role Name` to enable +`.leave` | Makes Nadeko leave the server. Either name or id required. | `.leave 123123123331` `.restart` | Restarts the bot. Might not work. -`.sr`, `.setrole` | Sets a role for a given user. | .sr @User Guest -`.rr`, `.removerole` | Removes a role from a given user. | .rr @User Admin -`.renr`, `.renamerole` | Renames a role. Role you are renaming must be lower than bot's highest role. | `.renr "First role" SecondRole` -`.rar`, `.removeallroles` | Removes all roles from a mentioned user. | .rar @User -`.r`, `.role`, `.cr` | Creates a role with a given name. | `.r Awesome Role` +`.setrole`, `.sr` | Sets a role for a given user. | .sr @User Guest +`.removerole`, `.rr` | Removes a role from a given user. | .rr @User Admin +`.renamerole`, `.renr` | Renames a role. Role you are renaming must be lower than bot's highest role. | `.renr "First role" SecondRole` +`.removeallroles`, `.rar` | Removes all roles from a mentioned user. | .rar @User +`.createrole`, `.cr` | Creates a role with a given name. | `.r Awesome Role` `.rolecolor`, `.rc` | Set a role's color to the hex or 0-255 rgb color value provided. | `.color Admin 255 200 100` or `.color Admin ffba55` `.roles` | List all roles on this server or a single user if specified. -`.b`, `.ban` | Bans a user by id or name with an optional message. | .b "@some Guy" Your behaviour is toxic. -`.k`, `.kick` | Kicks a mentioned user. +`.ban`, `.b` | Bans a user by id or name with an optional message. | .b "@some Guy" Your behaviour is toxic. +`.softban`, `.sb` | Bans and then unbans a user by id or name with an optional message. | .sb "@some Guy" Your behaviour is toxic. +`.kick`, `.k` | Kicks a mentioned user. `.mute` | Mutes mentioned user or users. `.unmute` | Unmutes mentioned user or users. `.deafen`, `.deaf` | Deafens mentioned user or users -`.undeafen`, `.undeaf` | Undeafens mentioned user or users -`.rvch` | Removes a voice channel with a given name. -`.vch`, `.cvch` | Creates a new voice channel with a given name. -`.rch`, `.rtch` | Removes a text channel with a given name. -`.ch`, `.tch` | Creates a new text channel with a given name. -`.st`, `.settopic`, `.topic` | Sets a topic on the current channel. | `.st My new topic` -`.schn`, `.setchannelname`, `.topic` | Changed the name of the current channel. -`.uid`, `.userid` | Shows user ID. -`.cid`, `.channelid` | Shows current channel ID. -`.sid`, `.serverid` | Shows current server ID. +`.undeafen`, `.undef` | Undeafens mentioned user or users +`.delvoichanl`, `.dvch` | Deletes a voice channel with a given name. +`.creatvoichanl`, `.cvch` | Creates a new voice channel with a given name. +`.deltxtchanl`, `.dtch` | Deletes a text channel with a given name. +`.creatxtchanl`, `.ctch` | Creates a new text channel with a given name. +`.settopic`, `.st` | Sets a topic on the current channel. | `.st My new topic` +`.setchanlname`, `.schn` | Changed the name of the current channel. +`.userid`, `.uid` | Shows user ID. +`.channelid`, `.cid` | Shows current channel ID. +`.serverid`, `.sid` | Shows current server ID. `.stats` | Shows some basic stats for Nadeko. `.dysyd` | Shows some basic stats for Nadeko. -`.heap` | Shows allocated memory - **Owner Only!** +`.heap` | Shows allocated memory - **Bot Owner Only!** `.prune`, `.clr` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` -`.die`, `.graceful` | Shuts the bot down and notifies users about the restart. **Owner Only!** -`.newname`, `.setname` | Give the bot a new name. **Owner Only!** -`.newavatar`, `.setavatar` | Sets a new avatar image for the NadekoBot. **Owner Only!** -`.setgame` | Sets the bots game. **Owner Only!** +`.die` | Shuts the bot down and notifies users about the restart. **Bot Owner Only!** +`.setname`, `.newnm` | Give the bot a new name. **Bot Owner Only!** +`.newavatar`, `.setavatar` | Sets a new avatar image for the NadekoBot. **Bot Owner Only!** +`.setgame` | Sets the bots game. **Bot Owner Only!** `.checkmyperms` | Checks your userspecific permissions on this channel. -`.commsuser` | Sets a user for through-bot communication. Only works if server is set. Resets commschannel. **Owner Only!** -`.commsserver` | Sets a server for through-bot communication. **Owner Only!** -`.commschannel` | Sets a channel for through-bot communication. Only works if server is set. Resets commsuser. **Owner Only!** -`.send` | Send a message to someone on a different server through the bot. **Owner Only!** | .send Message text multi word! -`.menrole`, `.mentionrole` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. +`.commsuser` | Sets a user for through-bot communication. Only works if server is set. Resets commschannel. **Bot Owner Only!** +`.commsserver` | Sets a server for through-bot communication. **Bot Owner Only!** +`.commschannel` | Sets a channel for through-bot communication. Only works if server is set. Resets commsuser. **Bot Owner Only!** +`.send` | Send a message to someone on a different server through the bot. **Bot Owner Only!** | .send Message text multi word! +`.mentionrole`, `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. `.inrole` | Lists every person from the provided role or roles (separated by a ',') on this server. -`.parsetosql` | Loads exported parsedata from /data/parsedata/ into sqlite database. -`.unstuck` | Clears the message queue. **Owner Only!** +`.unstuck` | Clears the message queue. **Bot Owner Only!** `.donators` | List of lovely people who donated to keep this project alive. -`.adddon`, `.donadd` | Add a donator to the database. -`.videocall` | Creates a private video call link for you and other mentioned people. The link is sent to mentioned people via a private message. -`.announce` | Sends a message to all servers' general channel bot is connected to.**Owner Only!** | .announce Useless spam +`.donadd` | Add a donator to the database. +`.announce` | Sends a message to all servers' general channel bot is connected to.**Bot Owner Only!** | .announce Useless spam `.whoplays` | Shows a list of users who are playing the specified game. - -### Help -Command and aliases | Description | Usage -----------------|--------------|------- -`-h`, `-help`, `@BotName help`, `@BotName h`, `~h` | Either shows a help for a single command, or PMs you help link if no arguments are specified. | '-h !m q' or just '-h' -`-hgit` | Generates the commandlist.md file. **Owner Only!** -`-readme`, `-guide` | Sends a readme and a guide links to the channel. -`-donate`, `~donate` | Instructions for helping the project! -`-modules`, `.modules` | List all bot modules. -`-commands`, `.commands` | List all of the bot's commands from a certain module. +`.leave` | Leaves a server with a supplied ID. | `.leave 493243292839` ### Permissions Command and aliases | Description | Usage ----------------|--------------|------- -`;cfi`, `;channelfilterinvites` | Enables or disables automatic deleting of invites on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | ;cfi enable #general-chat -`;sfi`, `;serverfilterinvites` | Enables or disables automatic deleting of invites on the server. | ;sfi disable -`;cfw`, `;channelfilterwords` | Enables or disables automatic deleting of messages containing banned words on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | ;cfw enable #general-chat -`;afw`, `;addfilteredword` | Adds a new word to the list of filtered words | ;afw poop -`;rfw`, `;removefilteredword` | Removes the word from the list of filtered words | ;rw poop -`;lfw`, `;listfilteredwords` | Shows a list of filtered words | ;lfw -`;sfw`, `;serverfilterwords` | Enables or disables automatic deleting of messages containing forbidden words on the server. | ;sfw disable +`;chnlfilterinv`, `;cfi` | Enables or disables automatic deleting of invites on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | ;cfi enable #general-chat +`;srvrfilterinv`, `;sfi` | Enables or disables automatic deleting of invites on the server. | ;sfi disable +`;chnlfilterwords`, `;cfw` | Enables or disables automatic deleting of messages containing banned words on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | ;cfw enable #general-chat +`;addfilterword`, `;afw` | Adds a new word to the list of filtered words | ;afw poop +`;rmvfilterword`, `;rfw` | Removes the word from the list of filtered words | ;rw poop +`;lstfilterwords`, `;lfw` | Shows a list of filtered words | ;lfw +`;srvrfilterwords`, `;sfw` | Enables or disables automatic deleting of messages containing forbidden words on the server. | ;sfw disable `;permrole`, `;pr` | Sets a role which can change permissions. Or supply no parameters to find out the current one. Default one is 'Nadeko'. -`;rpc`, `;rolepermissionscopy` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. | `;rpc Some Role ~ Some other role` -`;cpc`, `;channelpermissionscopy` | Copies BOT PERMISSIONS (not discord permissions) from one channel to another. | `;cpc Some Channel ~ Some other channel` -`;upc`, `;userpermissionscopy` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. | `;upc @SomeUser ~ @SomeOtherUser` +`;rolepermscopy`, `;rpc` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. | `;rpc Some Role ~ Some other role` +`;chnlpermscopy`, `;cpc` | Copies BOT PERMISSIONS (not discord permissions) from one channel to another. | `;cpc Some Channel ~ Some other channel` +`;usrpermscopy`, `;upc` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. | `;upc @SomeUser ~ @SomeOtherUser` `;verbose`, `;v` | Sets whether to show when a command/module is blocked. | ;verbose true -`;serverperms`, `;sp` | Shows banned permissions for this server. +`;srvrperms`, `;sp` | Shows banned permissions for this server. `;roleperms`, `;rp` | Shows banned permissions for a certain role. No argument means for everyone. | ;rp AwesomeRole -`;channelperms`, `;cp` | Shows banned permissions for a certain channel. No argument means for this channel. | ;cp #dev +`;chnlperms`, `;cp` | Shows banned permissions for a certain channel. No argument means for this channel. | ;cp #dev `;userperms`, `;up` | Shows banned permissions for a certain user. No argument means for yourself. | ;up Kwoth -`;sm`, `;servermodule` | Sets a module's permission at the server level. | ;sm [module_name] enable -`;sc`, `;servercommand` | Sets a command's permission at the server level. | ;sc [command_name] disable -`;rm`, `;rolemodule` | Sets a module's permission at the role level. | ;rm [module_name] enable [role_name] -`;rc`, `;rolecommand` | Sets a command's permission at the role level. | ;rc [command_name] disable [role_name] -`;cm`, `;channelmodule` | Sets a module's permission at the channel level. | ;cm [module_name] enable [channel_name] -`;cc`, `;channelcommand` | Sets a command's permission at the channel level. | ;cc [command_name] enable [channel_name] -`;um`, `;usermodule` | Sets a module's permission at the user level. | ;um [module_name] enable [user_name] -`;uc`, `;usercommand` | Sets a command's permission at the user level. | ;uc [command_name] enable [user_name] -`;asm`, `;allservermodules` | Sets permissions for all modules at the server level. | ;asm [enable/disable] -`;asc`, `;allservercommands` | Sets permissions for all commands from a certain module at the server level. | ;asc [module_name] [enable/disable] -`;acm`, `;allchannelmodules` | Sets permissions for all modules at the channel level. | ;acm [enable/disable] [channel_name] -`;acc`, `;allchannelcommands` | Sets permissions for all commands from a certain module at the channel level. | ;acc [module_name] [enable/disable] [channel_name] -`;arm`, `;allrolemodules` | Sets permissions for all modules at the role level. | ;arm [enable/disable] [role_name] -`;arc`, `;allrolecommands` | Sets permissions for all commands from a certain module at the role level. | ;arc [module_name] [enable/disable] [role_name] +`;srvrmdl`, `;sm` | Sets a module's permission at the server level. | ;sm [module_name] enable +`;srvrcmd`, `;sc` | Sets a command's permission at the server level. | ;sc [command_name] disable +`;rolemdl`, `;rm` | Sets a module's permission at the role level. | ;rm [module_name] enable [role_name] +`;rolecmd`, `;rc` | Sets a command's permission at the role level. | ;rc [command_name] disable [role_name] +`;chnlmdl`, `;cm` | Sets a module's permission at the channel level. | ;cm [module_name] enable [channel_name] +`;chnlcmd`, `;cc` | Sets a command's permission at the channel level. | ;cc [command_name] enable [channel_name] +`;usrmdl`, `;um` | Sets a module's permission at the user level. | ;um [module_name] enable [user_name] +`;usrcmd`, `;uc` | Sets a command's permission at the user level. | ;uc [command_name] enable [user_name] +`;allsrvrmdls`, `;asm` | Sets permissions for all modules at the server level. | ;asm [enable/disable] +`;allsrvrcmds`, `;asc` | Sets permissions for all commands from a certain module at the server level. | ;asc [module_name] [enable/disable] +`;allchnlmdls`, `;acm` | Sets permissions for all modules at the channel level. | ;acm [enable/disable] [channel_name] +`;allchnlcmds`, `;acc` | Sets permissions for all commands from a certain module at the channel level. | ;acc [module_name] [enable/disable] [channel_name] +`;allrolemdls`, `;arm` | Sets permissions for all modules at the role level. | ;arm [enable/disable] [role_name] +`;allrolecmds`, `;arc` | Sets permissions for all commands from a certain module at the role level. | ;arc [module_name] [enable/disable] [role_name] `;ubl` | Blacklists a mentioned user. | ;ubl [user_mention] `;uubl` | Unblacklists a mentioned user. | ;uubl [user_mention] `;cbl` | Blacklists a mentioned channel (#general for example). | ;cbl [channel_mention] @@ -146,19 +147,13 @@ Command and aliases | Description | Usage `..qdel`, `..quotedelete` | Deletes all quotes with the specified keyword. You have to either be bot owner or the creator of the quote to delete it. | `..qdel abc` `@BotName copyme`, `@BotName cm` | Nadeko starts copying everything you say. Disable with cs `@BotName cs`, `@BotName copystop` | Nadeko stops copying you -`@BotName req`, `@BotName request` | Requests a feature for nadeko. | @NadekoBot req new_feature -`@BotName lr` | PMs the user all current nadeko requests. -`@BotName dr` | Deletes a request. **Owner Only!** -`@BotName rr` | Resolves a request. **Owner Only!** +`@BotName rip` | Shows a grave image of someone with a start year | @NadekoBot rip @Someone 2000 `@BotName uptime` | Shows how long Nadeko has been running for. `@BotName die` | Works only for the owner. Shuts the bot down. `@BotName do you love me` | Replies with positive answer only to the bot owner. `@BotName how are you`, `@BotName how are you?` | Replies positive only if bot owner is online. `@BotName fire` | Shows a unicode fire message. Optional parameter [x] tells her how many times to repeat the fire. | @NadekoBot fire [x] -`@BotName rip` | Shows a grave image of someone with a start year | @NadekoBot rip @Someone 2000 `@BotName slm` | Shows the message where you were last mentioned in this channel (checks last 10k messages) -`@BotName hide` | Hides Nadeko in plain sight!11!! -`@BotName unhide` | Unhides Nadeko in plain sight!1!!1 `@BotName dump` | Dumps all of the invites it can to dump.txt.** Owner Only.** `@BotName ab` | Try to get 'abalabahaha' `@BotName av`, `@BotName avatar` | Shows a mentioned person's avatar. | ~av @X @@ -174,8 +169,8 @@ Command and aliases | Description | Usage `$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. `$$$` | Check how much NadekoFlowers a person has. (Defaults to yourself) | `$$$` or `$$$ @Someone` `$give` | Give someone a certain amount of NadekoFlowers -`$award` | Gives someone a certain amount of flowers. **Owner only!** -`$take` | Takes a certain amount of flowers from someone. **Owner only!** +`$award` | Gives someone a certain amount of flowers. **Bot Owner Only!** | `$award 100 @person` +`$take` | Takes a certain amount of flowers from someone. **Bot Owner Only!** `$leaderboard`, `$lb` | ### Games @@ -200,28 +195,29 @@ Command and aliases | Description | Usage ### Music Command and aliases | Description | Usage ----------------|--------------|------- -`!m n`, `!m next`, `!m skip` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. | `!m n` -`!m s`, `!m stop` | Stops the music and clears the playlist. Stays in the channel. | `!m s` -`!m d`, `!m destroy` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) | `!m d` -`!m p`, `!m pause` | Pauses or Unpauses the song. | `!m p` -`!m q`, `!m yq` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. | `!m q Dream Of Venice` -`!m lq`, `!m ls`, `!m lp` | Lists up to 15 currently queued songs. | `!m lq` -`!m np`, `!m playing` | Shows the song currently playing. | `!m np` -`!m vol` | Sets the music volume 0-100% | `!m vol 50` -`!m dv`, `!m defvol` | Sets the default music volume when music playback is started (0-100). Does not persist through restarts. | `!m dv 80` -`!m min`, `!m mute` | Sets the music volume to 0% | `!m min` +`!m next`, `!m n`, `!m skip` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. | `!m n` +`!m stop`, `!m s` | Stops the music and clears the playlist. Stays in the channel. | `!m s` +`!m destroy`, `!m d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) | `!m d` +`!m pause`, `!m p` | Pauses or Unpauses the song. | `!m p` +`!m queue`, `!m q`, `!m yq` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. | `!m q Dream Of Venice` +`!m listqueue`, `!m lq` | Lists up to 15 currently queued songs. | `!m lq` +`!m nowplaying`, `!m np` | Shows the song currently playing. | `!m np` +`!m volume`, `!m vol` | Sets the music volume 0-100% | `!m vol 50` +`!m defvol`, `!m dv` | Sets the default music volume when music playback is started (0-100). Does not persist through restarts. | `!m dv 80` +`!m mute`, `!m min` | Sets the music volume to 0% | `!m min` `!m max` | Sets the music volume to 100% (real max is actually 150%). | `!m max` `!m half` | Sets the music volume to 50%. | `!m half` -`!m sh` | Shuffles the current playlist. | `!m sh` -`!m pl` | Queues up to 50 songs from a youtube playlist specified by a link, or keywords. | `!m pl playlist link or name` -`!m lopl` | Queues all songs from a directory. **Owner Only!** | `!m lopl C:/music/classical` +`!m shuffle`, `!m sh` | Shuffles the current playlist. | `!m sh` +`!m playlist`, `!m pl` | Queues up to 50 songs from a youtube playlist specified by a link, or keywords. | `!m pl playlist link or name` +`!m localplaylst`, `!m lopl` | Queues all songs from a directory. **Bot Owner Only!** | `!m lopl C:/music/classical` `!m radio`, `!m ra` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf | `!m ra radio link here` -`!m lo` | Queues a local file by specifying a full path. **Owner Only!** | `!m lo C:/music/mysong.mp3` -`!m mv` | Moves the bot to your voice channel. (works only if music is already playing) | `!m mv` -`!m rm` | Remove a song by its # in the queue, or 'all' to remove whole queue. | `!m rm 5` -`!m cleanup` | Cleans up hanging voice connections. **Owner Only!** | `!m cleanup` -`!m rcs`, `!m repeatcurrentsong` | Toggles repeat of current song. | `!m rcs` -`!m rpl`, `!m repeatplaylist` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). | `!m rpl` +`!m local`, `!m lo` | Queues a local file by specifying a full path. **Bot Owner Only!** | `!m lo C:/music/mysong.mp3` +`!m move`, `!m mv` | Moves the bot to your voice channel. (works only if music is already playing) | `!m mv` +`!m remove`, `!m rm` | Remove a song by its # in the queue, or 'all' to remove whole queue. | `!m rm 5` +`!m movesong`, `!m ms` | Moves a song from one position to another. | `!m ms` 5>3 +`!m cleanup` | Cleans up hanging voice connections. **Bot Owner Only!** | `!m cleanup` +`!m reptcursong`, `!m rcs` | Toggles repeat of current song. | `!m rcs` +`!m rpeatplaylst`, `!m rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). | `!m rpl` `!m save` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. | `!m save classical1` `!m load` | Loads a playlist under a certain name. | `!m load classical-1` `!m playlists`, `!m pls` | Lists all playlists. Paginated. 20 per page. Default page is 0. | `!m pls 1` @@ -261,12 +257,13 @@ Command and aliases | Description | Usage `~yomama`, `~ym` | Shows a random joke from `~randjoke`, `~rj` | Shows a random joke from `~chucknorris`, `~cn` | Shows a random chucknorris joke from -`~mi`, `~magicitem` | Shows a random magicitem from +`~magicitem`, `~mi` | Shows a random magicitem from `~revav` | Returns a google reverse image search for someone's avatar. `~revimg` | Returns a google reverse image search for an image from a link. `~safebooru` | Shows a random image from safebooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | ~safebooru yuri+kissing `~wiki` | Gives you back a wikipedia link `~clr` | Shows you what color corresponds to that hex. | `~clr 00ff00` +`~videocall` | Creates a private video call link for you and other mentioned people. The link is sent to mentioned people via a private message. ### NSFW Command and aliases | Description | Usage @@ -284,10 +281,10 @@ Command and aliases | Description | Usage Command and aliases | Description | Usage ----------------|--------------|------- `,createwar`, `,cw` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. | ,cw 15 The Enemy Clan -`,sw`, `,startwar` | Starts a war with a given number. +`,startwar`, `,sw` | Starts a war with a given number. `,listwar`, `,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. | ,lw [war_number] or ,lw `,claim`, `,call`, `,c` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. | ,call [war_number] [base_number] [optional_other_name] -`,cf`, `,claimfinish` | Finish your claim if you destroyed a base. Optional second argument finishes for someone else. | ,cf [war_number] [optional_other_name] +`,claimfinish`, `,cf` | Finish your claim if you destroyed a base. Optional second argument finishes for someone else. | ,cf [war_number] [optional_other_name] `,unclaim`, `,uncall`, `,uc` | Removes your claim from a certain war. Optional second argument denotes a person in whos place to unclaim | ,uc [war_number] [optional_other_name] `,endwar`, `,ew` | Ends the war with a given index. | ,ew [war_number] @@ -295,7 +292,7 @@ Command and aliases | Description | Usage Command and aliases | Description | Usage ----------------|--------------|------- `>attack` | Attacks a target with the given move -`>ml`, `movelist` | Lists the moves you are able to use +`>movelist`, `>ml` | Lists the moves you are able to use `>heal` | Heals someone. Revives those that fainted. Costs a NadekoFlower | >revive @someone `>type` | Get the poketype of the target. | >type @someone `>settype` | Set your poketype. Costs a NadekoFlower. | >settype fire @@ -303,7 +300,7 @@ Command and aliases | Description | Usage ### Translator Command and aliases | Description | Usage ----------------|--------------|------- -`~trans`, `~translate` | Translates from>to text. From the given language to the destiation language. | ~trans en>fr Hello +`~translate`, `~trans` | Translates from>to text. From the given language to the destiation language. | ~trans en>fr Hello `~translangs` | List the valid languages for translation. ### Customreactions @@ -328,8 +325,7 @@ Command and aliases | Description | Usage ### Trello Command and aliases | Description | Usage ----------------|--------------|------- -`trello join`, `trello j` | Joins a server -`trello bind` | Bind a trello bot to a single channel. You will receive notifications from your board when something is added or edited. | bind [board_id] -`trello unbind` | Unbinds a bot from the channel and board. -`trello lists`, `trello list` | Lists all lists yo ;) -`trello cards` | Lists all cards from the supplied list. You can supply either a name or an index. +`trello bind` | Bind a trello bot to a single channel. You will receive notifications from your board when something is added or edited. | bind [board_id] +`trello unbind` | Unbinds a bot from the channel and board. +`trello lists`, `trello list` | Lists all lists yo ;) +`trello cards` | Lists all cards from the supplied list. You can supply either a name or an index.