aboutsummaryrefslogtreecommitdiff
path: root/src/framework
diff options
context:
space:
mode:
authorLakelezz <[email protected]>2018-01-06 00:25:49 +0100
committeralex <[email protected]>2018-01-06 00:25:49 +0100
commit4bd223a88cfacc335814ef3ddc0c1aaa88fc05f7 (patch)
treee0d4e6b68abe823ec2154890e5bfff4a854204e4 /src/framework
parentConvert embed footers for CreateEmbed::from (#244) (diff)
downloadserenity-4bd223a88cfacc335814ef3ddc0c1aaa88fc05f7.tar.xz
serenity-4bd223a88cfacc335814ef3ddc0c1aaa88fc05f7.zip
Fix help-commands' `plain`
Diffstat (limited to 'src/framework')
-rw-r--r--src/framework/standard/help_commands.rs41
1 files changed, 37 insertions, 4 deletions
diff --git a/src/framework/standard/help_commands.rs b/src/framework/standard/help_commands.rs
index c660209..1dde04a 100644
--- a/src/framework/standard/help_commands.rs
+++ b/src/framework/standard/help_commands.rs
@@ -414,8 +414,13 @@ pub fn plain<H: BuildHasher>(
return Ok(());
}
- let mut result = format!("**Commands**\n{}\n\n", help_options.individual_command_tip)
- .to_string();
+ let mut result = "**Commands**\n".to_string();
+
+ if let Some(striked_command_text) = help_options.striked_commands_tip.clone() {
+ let _ = write!(result, "{}\n{}\n\n", &help_options.individual_command_tip, &striked_command_text);
+ } else {
+ let _ = write!(result, "{}\n\n", &help_options.individual_command_tip);
+ }
let mut group_names = groups.keys().collect::<Vec<_>>();
group_names.sort();
@@ -432,8 +437,36 @@ pub fn plain<H: BuildHasher>(
let cmd = &commands[name];
let cmd = cmd.options();
- if cmd.help_available && has_all_requirements(&cmd, msg) {
- let _ = write!(group_help, "`{}` ", name);
+ if !cmd.dm_only && !cmd.guild_only || cmd.dm_only && msg.is_private() || cmd.guild_only && !msg.is_private() {
+ if cmd.help_available && has_correct_permissions(&cmd, msg) {
+ let _ = write!(group_help, "`{}` ", name);
+ } else {
+ match help_options.lacking_permissions {
+ HelpBehaviour::Strike => {
+ let name = format!("~~`{}`~~", &name);
+ let _ = write!(group_help, "{} ", name);
+ },
+ HelpBehaviour::Nothing => {
+ let _ = write!(group_help, "`{}` ", name);
+ },
+ HelpBehaviour::Hide => {
+ continue;
+ },
+ }
+ }
+ } else {
+ match help_options.wrong_channel {
+ HelpBehaviour::Strike => {
+ let name = format!("~~`{}`~~", &name);
+ let _ = write!(group_help, "{} ", name);
+ },
+ HelpBehaviour::Nothing => {
+ let _ = write!(group_help, "`{}` ", name);
+ },
+ HelpBehaviour::Hide => {
+ continue;
+ },
+ }
}
}