const help_server = require('../functions/helpserver.js'); function cmd_help(lang, msg, args, line, wiki) { if ( msg.channel.type === 'text' && pause[msg.guild.id] && ( args.join('') || !msg.isAdmin() ) ) return; if ( msg.isAdmin() && msg.defaultSettings ) help_server(lang, msg); var cmds = lang.get('help.list'); var isMinecraft = ( wiki === lang.get('minecraft.link') ); var isPatreon = ( msg.channel.type === 'text' && msg.guild.id in patreons ); var prefix = ( msg.channel.type === 'text' && patreons[msg.guild.id] || process.env.prefix ); var cmdintro = 'šŸ”¹ `' + prefix; if ( args.join('') ) { if ( args.join(' ').isMention(msg.guild) ) { if ( !( msg.isAdmin() && msg.defaultSettings ) ) help_server(lang, msg); } else if ( args[0].toLowerCase() === 'admin' ) { if ( msg.channel.type !== 'text' || msg.isAdmin() ) { var cmdlist = lang.get('help.admin') + '\n' + cmds.filter( cmd => cmd.admin && !cmd.hide && ( !cmd.patreon || isPatreon ) ).map( cmd => cmdintro + cmd.cmd + '`\n\t' + cmd.desc ).join('\n'); cmdlist = cmdlist.replaceSave( /@mention/g, '@' + ( msg.channel.type === 'text' ? msg.guild.me.displayName : msg.client.user.username ) ).replaceSave( /@prefix/g, prefix ); msg.sendChannel( cmdlist, {split:{char:'šŸ”¹',prepend:'šŸ”¹'}} ); } else { msg.replyMsg( lang.get('help.noadmin') ); } } else if ( args[0].toLowerCase() === 'minecraft' ) { var cmdlist = '<' + lang.get('minecraft.link') + '>\n' + cmds.filter( cmd => cmd.minecraft && !cmd.hide ).map( cmd => cmdintro + cmd.cmd + '`\n\t' + cmd.desc ).join('\n'); cmdlist = cmdlist.replaceSave( /@mention/g, '@' + ( msg.channel.type === 'text' ? msg.guild.me.displayName : msg.client.user.username ) ).replaceSave( /@prefix/g, prefix ); msg.sendChannel( cmdlist, {split:{char:'šŸ”¹',prepend:'šŸ”¹'}} ); } else { var cmdlist = cmds.filter( cmd => cmd.cmd.split(' ')[0] === args[0].toLowerCase() && !cmd.unsearchable && ( msg.channel.type !== 'text' || !cmd.admin || msg.isAdmin() ) && ( !cmd.patreon || isPatreon ) && ( !cmd.minecraft || isMinecraft ) ).map( cmd => cmdintro + cmd.cmd + '`\n\t' + cmd.desc ).join('\n'); cmdlist = cmdlist.replaceSave( /@mention/g, '@' + ( msg.channel.type === 'text' ? msg.guild.me.displayName : msg.client.user.username ) ).replaceSave( /@prefix/g, prefix ); if ( cmdlist === '' ) msg.reactEmoji('ā“'); else msg.sendChannel( cmdlist, {split:{char:'šŸ”¹',prepend:'šŸ”¹'}} ); } } else if ( msg.isAdmin() && pause[msg.guild.id] ) { var cmdlist = lang.get('help.pause') + '\n' + cmds.filter( cmd => cmd.pause && ( !cmd.patreon || isPatreon ) ).map( cmd => cmdintro + cmd.cmd + '`\n\t' + cmd.desc ).join('\n'); cmdlist = cmdlist.replaceSave( /@mention/g, '@' + ( msg.channel.type === 'text' ? msg.guild.me.displayName : msg.client.user.username ) ).replaceSave( /@prefix/g, prefix ); msg.sendChannel( cmdlist, {split:{char:'šŸ”¹',prepend:'šŸ”¹'}}, true ); } else { var cmdlist = lang.get('help.all') + '\n' + cmds.filter( cmd => !cmd.hide && !cmd.admin && ( !cmd.patreon || isPatreon ) && ( !cmd.fandom || wiki.isFandom() ) && !( cmd.inline && msg.noInline ) && ( !cmd.minecraft || isMinecraft ) ).map( cmd => ( cmd.inline ? 'šŸ”¹ `' : cmdintro ) + cmd.cmd + '`\n\t' + cmd.desc ).join('\n') + '\n\nšŸ”ø ' + lang.get('help.footer'); cmdlist = cmdlist.replaceSave( /@mention/g, '@' + ( msg.channel.type === 'text' ? msg.guild.me.displayName : msg.client.user.username ) ).replaceSave( /@prefix/g, prefix ); msg.sendChannel( cmdlist, {split:{char:'šŸ”¹',prepend:'šŸ”¹'}} ); } } module.exports = { name: 'help', everyone: true, pause: true, owner: false, run: cmd_help };