<commit_before>module.exports = Cmds.addCommand({
    cmds: [';ban ', ';banhammer ', ';permaban '],

    requires: {
        guild: true,
        loud: false,
    },

    desc: 'Ban a user from the guild',

    args: '([@user] | [id] | [name]) (OPTIONAL: [reason])',

    example: 'vaeb being weird',

    // /////////////////////////////////////////////////////////////////////////////////////////

    func: (cmd, args, msgObj, speaker, channel, guild) => {
        if (/\bmod/g.test(speaker.highestRole.name.toLowerCase())) return Util.commandFailed(channel, speaker, 'Moderators are not allowed to use the ban command | Please use tempban instead');

        const data = Util.getDataFromString(args, [
            function (str) {
                return Util.getMemberByMixed(str, guild);
            },
        ], true);<commit_msg>Gave head mods ban<commit_after>module.exports = Cmds.addCommand({
    cmds: [';ban ', ';banhammer ', ';permaban '],

    requires: {
        guild: true,
        loud: false,
    },

    desc: 'Ban a user from the guild',

    args: '([@user] | [id] | [name]) (OPTIONAL: [reason])',

    example: 'vaeb being weird',

    // /////////////////////////////////////////////////////////////////////////////////////////

    func: (cmd, args, msgObj, speaker, channel, guild) => {
        const highestRoleLower = speaker.highestRole.name.toLowerCase();
        if (!highestRoleLower.includes('head ') && /\bmod/g.test(highestRoleLower)) return Util.commandFailed(channel, speaker, 'Moderators are not allowed to use the ban command | Please use tempban instead');

        const data = Util.getDataFromString(args, [
            function (str) {
                return Util.getMemberByMixed(str, guild);
            },
        ], true);
{'fraction_non_alphanumeric': 0.23376623376623376, 'fraction_numerical': 0.0, 'mean_word_length': 1.8488745980707395, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4400673', 'n_tokens_mistral': 512, 'n_tokens_neox': 484, 'n_words': 130}