<commit_before>/*
    ChellBot by itdevroman
    Twitch chat bot written in Node.JS
    https://github.com/itdevroman/chellbot
    v1.0.0
*/

// Requires
var irc = require("tmi.js");
var https = require('https');
var moment = require('moment');
var request = require('request');
var fs = require('fs');

// Messages templates
const messages = {
    cmdList: 'Команды: ',
    banMe: {
        fail: ' вам повезло, и вы не были забанены!',
        ban: ' вам повезло, и вы выиграли бан на ',
        off: 'Команда !banme отключена.',
        on: 'Команда !banme включена.'
    },
    time: {
        online: 'Стрим идёт уже: ',
        offline: 'Я вижу, что стрим не запущен.'
    },
    max: 'Максимальный онлайн на стриме, который мне удалось зафиксировать: ',
    maxClear: 'Максимальный онлайн сброшен и равен нулю.',
    vk: 'VK: '
};

// Bot main function
var chellbot = function(bot) {
    const host = bot.host;

    var options = {
        options: {
            debug: bot.debug
        },
        connection: {
            cluster: "aws",
            reconnect: true
        },
        identity: {
            username: bot.name,
            password: <PASSWORD>
        },
        channels: bot.channels
    };

    // IRC
    var client = new irc.client(options);

    var stamps = {
        lastAPI: null,
        max: 0,
        created_at: null,
        vk: null
    };

    // Bot command functions
    const biCommands = {
        secDecl: function(s) {
            const titles = [' секунду', ' секунды', ' секунд']
            const cases = [2, 0, 1, 1, 1, 2];  
            return titles[ (s%100>4 && s%100<20)? 2 : cases[(s%10<5)?s%10:5] ];  
        },
        banme: function(channel, username) {
            var willBan = Math.round(Math.random() * (200 - 1) + 1);
            if(willBan < 180) {
                var timeBan = Math.round(Math.random() * (600 - 10) + 10);
                client.timeout(channel, username, timeBan);
                client.say(channel, "@" + username + messages.banMe.ban + timeBan + this.secDecl(timeBan) + '.');
            }
            else {
                client.say(channel, "@" + username + messages.banMe.fail);
            }
        },
        banme: function(channel, username) {
            var timeBan = Math.round(Math.random() * (600 - 10) + 10);
            client.timeout(channel, username, timeBan);
            client.say(channel, "@" + username + messages.banMe.ban + timeBan + this.secDecl(timeBan) + '.');
        },
        banmeState: function(state, channel) {
            bot.allowedModules.banMe = state;
            if(state)
                client.say(channel, messages.banMe.on);
            else
                client.say(channel, messages.banMe.off);
        },<commit_msg>BanMe function was dupicated<commit_after>/*
    ChellBot by itdevroman
    Twitch chat bot written in Node.JS
    https://github.com/itdevroman/chellbot
    v1.0.0
*/

// Requires
var irc = require("tmi.js");
var https = require('https');
var moment = require('moment');
var request = require('request');
var fs = require('fs');

// Messages templates
const messages = {
    cmdList: 'Команды: ',
    banMe: {
        fail: ' вам повезло, и вы не были забанены!',
        ban: ' вам повезло, и вы выиграли бан на ',
        off: 'Команда !banme отключена.',
        on: 'Команда !banme включена.'
    },
    time: {
        online: 'Стрим идёт уже: ',
        offline: 'Я вижу, что стрим не запущен.'
    },
    max: 'Максимальный онлайн на стриме, который мне удалось зафиксировать: ',
    maxClear: 'Максимальный онлайн сброшен и равен нулю.',
    vk: 'VK: '
};

// Bot main function
var chellbot = function(bot) {
    const host = bot.host;

    var options = {
        options: {
            debug: bot.debug
        },
        connection: {
            cluster: "aws",
            reconnect: true
        },
        identity: {
            username: bot.name,
            password: <PASSWORD>
        },
        channels: bot.channels
    };

    // IRC
    var client = new irc.client(options);

    var stamps = {
        lastAPI: null,
        max: 0,
        created_at: null,
        vk: null
    };

    // Bot command functions
    const biCommands = {
        secDecl: function(s) {
            const titles = [' секунду', ' секунды', ' секунд']
            const cases = [2, 0, 1, 1, 1, 2];  
            return titles[ (s%100>4 && s%100<20)? 2 : cases[(s%10<5)?s%10:5] ];  
        },
        banme: function(channel, username) {
            var willBan = Math.round(Math.random() * (200 - 1) + 1);
            if(willBan < 180) {
                var timeBan = Math.round(Math.random() * (600 - 10) + 10);
                client.timeout(channel, username, timeBan);
                client.say(channel, "@" + username + messages.banMe.ban + timeBan + this.secDecl(timeBan) + '.');
            }
            else {
                client.say(channel, "@" + username + messages.banMe.fail);
            }
        },
        banmeState: function(state, channel) {
            bot.allowedModules.banMe = state;
            if(state)
                client.say(channel, messages.banMe.on);
            else
                client.say(channel, messages.banMe.off);
        },
{'fraction_non_alphanumeric': 0.13515059092642012, 'fraction_numerical': 0.016965306900495615, 'mean_word_length': 1.78060413354531, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 7, 'https://': 2, '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': '6758558', 'n_tokens_mistral': 1778, 'n_tokens_neox': 1735, 'n_words': 412}