From 4bd223a88cfacc335814ef3ddc0c1aaa88fc05f7 Mon Sep 17 00:00:00 2001 From: Lakelezz <12222135+Lakelezz@users.noreply.github.com> Date: Sat, 6 Jan 2018 00:25:49 +0100 Subject: Fix help-commands' `plain` --- src/framework/standard/help_commands.rs | 41 +++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) (limited to 'src/framework') 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( 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::>(); group_names.sort(); @@ -432,8 +437,36 @@ pub fn plain( 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; + }, + } } } -- cgit v1.2.3