Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let clans = require('./clans.json');
- async function saveClans()
- {
- require('fs').writeFileSync('./clans.json', JSON.stringify(clans, null, '\t'));
- return true;
- }
- cmd.hear(/^(?:клан создать)\s(.*)$/i, async (message, bot) => {
- if (!message.args[1]) return bot(`вы не ввели название клана!`);
- if (message.user.rub < 200000000000) return bot(`недостаточно денег!`);
- if (message.user.clan != false) return bot(`вы уже состоите в клане!`);
- if(message.args[1].length >= 10) return bot(`максимальная длина названия клана 10 символов`);
- let zaprets1 = message.args[1].toLowerCase();
- var zapret = /(🤵|📔|📗📘|📙|📕|⍻|🗸|√|☑|✔|👑|✅|✓)/
- var sss = zapret.test(zaprets1)
- if(zapret.test(zaprets1) == true) {
- var check = true;
- return bot(`в названии есть запрещенные символы ${smileerror}`);
- }
- message.user.rub -= 200000000000;
- message.user.clanid = clans.length += 1;
- clans.push({
- name: message.args[1],
- id: clans.length += 1,
- owner: message.user.uid,
- lvl: 1,
- users: {},
- peoples: 1,
- symbol: "",
- joinable: false
- })
- clans[clans.length += 1].users[message.user.uid] = {
- id: message.user.id,
- uid: message.user.uid,
- level: 3
- }
- return bot(`клан с названием «${message.args[1]}» создан!`);
- });
- cmd.hear(/^(?:клан название)\s(.*)$/i, async (message, bot) => {
- if (!message.args[1]) return bot(`вы не ввели название клана!`);
- if (message.user.rub < 50000000000) return bot(`недостаточно денег!`);
- if (message.user.clan = false) return bot(`у вас нет клана!
- ❓ Для вступления введите «Клан войти [ID]»`);
- if (clans[message.user.clanid].users[message.user.uid] != 3) return bot(`недостаточно прав!`);
- if (clans[message.user.clanid].lvl = 1) {
- if(message.args[1].length >= 10) return bot(`максимальная длина названия клана 10 символов`);
- };
- if (clans[message.user.clanid].lvl = 2) {
- if(message.args[1].length >= 13) return bot(`максимальная длина названия клана 13 символов`);
- };
- if (clans[message.user.clanid].lvl = 3) {
- if(message.args[1].length >= 15) return bot(`максимальная длина названия клана 15 символов`);
- };
- if (clans[message.user.clanid].lvl = 4) {
- if(message.args[1].length >= 17) return bot(`максимальная длина названия клана 17 символов`);
- };
- if (clans[message.user.clanid].lvl = 5) {
- if(message.args[1].length >= 20) return bot(`максимальная длина названия клана 20 символов`);
- };
- let zaprets1 = message.args[1].toLowerCase();
- var zapret = /(🤵|📔|📗📘|📙|📕|⍻|🗸|√|☑|✔|👑|✅|✓)/
- var sss = zapret.test(zaprets1)
- if(zapret.test(zaprets1) == true) {
- var check = true;
- return bot(`в названии есть запрещенные символы ${smileerror}`);
- }
- clans[message.user.clanid].name = message.args[1]
- return bot(`название клана сменено на «${message.args[1]}»`);
- });
- cmd.hear(/^(?:клан удалить)$/i, async (message, bot) => {
- if (message.user.clan == false) return bot(`вы не состоите в клане!`);
- if (clans[message.user.clan].owner !== message.user.uid) return bot(`недостаточно прав!`);
- message.user.clan_rem = true;
- return bot(`подтвердите удаление вашего клана!:`,
- {
- keyboard:JSON.stringify(
- {
- "inline": true,
- "buttons": [
- [{
- "action": {
- "type": "text",
- "payload": "{}",
- "label": `✅ Да`
- },
- "color": "positive",
- },
- {
- "action": {
- "type": "text",
- "payload": "{}",
- "label": `⛔ Нет`
- },
- "color": "negative",
- }
- ]
- ]
- })
- })
- });
- cmd.hear(/^(?:✅ Да)$/i, async (message, bot) => {
- if(message.user.clan_rem) {
- await bot(`удаление вашего клана..`);
- delete clans[message.user.clan];
- message.user.clan = false;
- message.user.clan_rem = false;
- saveClans();
- return bot(`ваш клан был успешно удалён! ${smilesuccess}`);
- }
- if(message.user.clan_korol) {
- let user = users[Number(message.user.clan_new_corol)];
- clans[message.user.clanid].users[message.user.id].level = 0;
- clans[message.user.clanid].users[user.id].level = 3;
- let peoples = clans[message.user.clanid].peoples - 1;
- while (peoples != 0) {
- peoples -= 1;
- vk.api.messages.send({ user_id: users[peoples], message: `@id${clans[peoples].id} (${clans[peoples].tag}), @id${user.id} (${user.tag}) стал королём клана!` });
- }
- }
- })
- cmd.hear(/^(?:⛔ Нет)$/i, async (message, bot) => {
- if(message.user.clan_korol) {
- await bot(`отменяю передачу короля клана..`);
- message.user.clan_korol = false;
- saveClans();
- return bot(`передача короля клана успешно отменена! ${smilesuccess}`);
- }
- if(message.user.clan_rem) {
- await bot(`отменяю удаление вашего клана..`);
- message.user.clan_rem = false;
- saveClans();
- return bot(`удаление вашего клана успешно отменено! ${smilesuccess}`);
- }
- })
- cmd.hear(/^(?:клан состав)$/i, async (message, bot) => {
- if (message.user.clan = false) return bot(`вы не состоите в клане!`);
- let text = ``;
- let mp = ``;
- for(let id in clans[message.user.clanid].users) {
- let user = users[id];
- if(clans[message.user.clanid].users[id].level == 3) text += `⠀⠀ Король клана - @id${user.id} (${user.tag}) (ID: ${user.uid})\n`;
- if(clans[message.user.clanid].users[id].level == 2) text += `⠀⠀ Модератор клана - @id${user.id} (${user.tag}) (ID: ${user.uid})\n`;
- if(clans[message.user.clanid].users[id].level == 1) text += `⠀⠀ Староста клана - @id${user.id} (${user.tag}) (ID: ${user.uid})\n`;
- if(clans[message.user.clanid].users[id].level == 0) text += `⠀⠀ Участник клана - @id${user.id} (${user.tag}) (ID: ${user.uid})\n`;
- }
- if(clans[message.user.clanid].lvl == 1) {
- mp += `5`;
- };
- if(clans[message.user.clanid].lvl == 2) {
- mp += `15`;
- };
- if(clans[message.user.clanid].lvl == 3) {
- mp += `25`;
- };
- if(clans[message.user.clanid].lvl == 4) {
- mp += `50`;
- };
- if(clans[message.user.clanid].lvl == 5) {
- mp += `100`;
- };
- return bot(`участники клана «${clans[message.user.clanid].name}» [${clans[message.user.clanid].peoples}/${mp}]:
- ${text}`);
- });
- cmd.hear(/^(?:клан значок|клан метка|клан символ|клан знак|клан эмодзи)\s(.*)$/i, async (message, bot) => {
- if(!message.args[1]) return bot(`введите символ клана!`);
- let zaprets1 = message.args[1].toLowerCase();
- var zapret = /(й|ц|у|к|е|н|г|ш|щ|з|х|ъ|ф|ы|в|а|п|р|о|л|д|ж|э|я|ч|с|м|и|т|ь|б|ю|1|2|3|4|5|6|7|8|9|0)/
- var sss = zapret.test(zaprets1)
- if(zapret.test(zaprets1) == true){
- var check = true;
- return bot(`в символе клана можно использовать только смайлы!`);
- }
- if(!clans[message.user.clanid]) return bot(`у вас нет клана!
- ❓ Для вступления введите «Клан войти [ID]»`);
- if(clans[message.user.clanid].users[message.user.uid].level < 2) return bot(`символ клана может менять модератор клана и выше!`);
- if(message.args[1].length >= 3) return bot(`максимальная длина метки клана 1 смайл`);
- clans[message.user.clanid].symbol = message.args[1];
- return bot(`символ клана сменена на «${message.args[1]}»`);
- });
- cmd.hear(/^(?:клан открыть)$/i, async (message, bot) => {
- let clanid = message.user.clanid;
- if(!clans[clanid]) return bot(`у вас нет клана!
- ❓ Для вступления введите «Клан войти [ID]»`);
- if(clans[clanid].users[message.user.uid].level < 2) return bot(`открывать клан может модератор клана и выше!`);
- if(clans[clanid].joinable == true) return bot(`клан уже открытый!`)
- clans[clanid].joinable = false;
- return bot(`вы успешно открыли клан!`);
- });
- cmd.hear(/^(?:клан закрыть)$/i, async (message, bot) => {
- let clanid = message.user.clanid;
- if(!clans[clanid]) return bot(`у вас нет клана!
- ❓ Для вступления введите «Клан войти [ID]»`);
- if(clans[clanid].users[message.user.uid].level < 2) return bot(`закрывать клан может модератор клана и выше!`);
- if(clans[clanid].joinable == false) return bot(`клан уже закрытый!`)
- clans[clanid].joinable = true;
- return bot(`вы успешно открыли клан!`);
- });
- cmd.hear(/^(?:клан выйти)$/i, async (message, bot) => {
- if(!message.user.clan) return bot(`вы не состоите в клане! ${smileerror}`);
- if(clans[message.user.clan].owner == message.user.uid) return bot(`создатель не может покинуть свой клан. Чтобы удалить клан введите «клан удалить».`);
- await bot(`вы успешно покинули клан «${clans[message.user.clan].name}»! ${smilesuccess}`);
- vk.api.messages.send({ peer_id: users[clans[message.user.clan].owner].id, message: `${namee(message.user.uid)} покинул ваш клан.` });
- message.user.clan = false;
- clans[message.user.clan].users -= 1;
- delete clans[message.user.clan].users[message.user.uid];
- return;
- });
- cmd.hear(/^(?:клан войти|клан зайти|клан вход|клан присоединиться|клан присоедениться|клан)\s([0-9]+)$/i, async (message, bot) => {
- let clanid = message.user.clanid;
- if(clans[clanid]) return bot(`вы уже состоите в клане!`);
- if(!message.args[1]) return bot(`вы не указали ID клана!`);
- let idclan = message.args[1];
- if(!clans[idclan]) return bot(`данного клана не существует! Укажите правильный ID клана.`);
- if(clans[idclan].lvl == 0) {
- if(clans[idclan].peoples >= 5) return bot(`клан переполнен!`);
- };
- if(clans[idclan].lvl == 1) {
- if(clans[idclan].peoples >= 15) return bot(`клан переполнен!`);
- };
- if(clans[idclan].lvl == 2) {
- if(clans[idclan].peoples >= 25) return bot(`клан переполнен!`);
- };
- if(clans[idclan].lvl == 3) {
- if(clans[idclan].peoples >= 50) return bot(`клан переполнен!`);
- };
- if(clans[idclan].lvl == 4) {
- if(clans[idclan].peoples >= 100) return bot(`клан переполнен!`);
- };
- if(clans[idclan].joinable == false) return bot(`🔒 Клан закрыт, доступ по приглашениям`);
- if(clans[idclan].joinable == true) {
- clans[idclan].peoples += 1;
- message.user.clanid = Number(message.args[1]);
- if(!clans[idclan].users[message.user]) {
- clans[idclan].users[message.user.uid] = {
- id: message.user.id,
- uid: message.user.uid,
- level: 0
- }
- }
- return bot(`вы вошли в клан «${clans[idclan].name}»!\nВведите "клан помощь" чтобы посмотреть команды клана!`);
- }
- });
- cmd.hear(/^(?:клан отдать)\s(.*)$/i, async (message, bot) => {
- if(clans[clanid]) return bot(`вы уже состоите в клане!`);
- if (clans[message.user.clan].owner !== message.user.uid) return bot(`недостаточно прав!`);
- let user = users[Number(message.args[1])];
- message.user.clan_korol = true;
- message.user.clan_new_korol = user.id;
- return bot(`подтвердите передачу короля клана!:`,
- {
- keyboard:JSON.stringify(
- {
- "inline": true,
- "buttons": [
- [{
- "action": {
- "type": "text",
- "payload": "{}",
- "label": `✅ Да`
- },
- "color": "positive",
- },
- {
- "action": {
- "type": "text",
- "payload": "{}",
- "label": `⛔ Нет`
- },
- "color": "negative",
- }
- ]
- ]
- })
- })
- });
- cmd.hear(/^(?:клан модератор)\s(.*)$/i, async (message, bot) => {
- let clanid = message.user.clanid;
- if(!clans[clanid]) return bot(`у вас нет клана!
- ❓ Для вступления введите «Клан войти [ID]»`);
- let user = users[Number(message.args[1])];
- if (clans[message.user.clan].owner !== message.user.uid) return bot(`недостаточно прав!`);
- if (clans[message.user.clan].users[user.uid].level == 2) return bot(`@id${user.id} (${user.tag}) уже является модератором клана! `)
- clans[message.user.clanid].users[user.uid].level = 2;
- return bot(`@id${user.id} (${user.tag}) теперь модератор клана!`)
- });
- cmd.hear(/^(?:клан модератор)(\s?https\:\/\/vk\.com\/)?(id)?([0-9]+)?([^]+)?/i, (message, bot) => {
- if(clans[message.user.clanid]) return bot(`вы уже состоите в клане!`);
- if(message.args[4]) {
- var domain = message.args[4].split(" ");
- vk.api.call("utils.resolveScreenName", {
- screen_name: message.args[4]
- }).then((res) => {
- let user = users[Number(message.args[1])];
- if (clans[message.user.clan].users[user.uid].level == 2) return bot(`@id${user.id} (${user.tag}) уже является модератором клана! `)
- if (clans[message.user.clan].owner !== message.user.uid) return bot(`недостаточно прав!`);
- clans[message.user.clanid].users[user.uid].level = 2;
- return bot(`@id${user.id} (${user.tag}) теперь модератор клана!`)
- }
- });
- cmd.hear(/^(?:клан староста)\s(.*)$/i, async (message, bot) => {
- let clanid = message.user.clanid;
- if(!clans[clanid]) return bot(`у вас нет клана!
- ❓ Для вступления введите «Клан войти [ID]»`);
- let user = users[Number(message.args[1])];
- if (clans[message.user.clan].users[message.user.uid].level < 2) return bot(`недостаточно прав!`);
- if (clans[message.user.clan].users[user.uid].level > clans[message.user.clan].users[message.user.uid].level) return bot(`недостаточно прав!`);
- if (clans[message.user.clan].users[user.uid].level == 1) return bot(`@id${user.id} (${user.tag}) уже является старостой клана! `)
- clans[message.user.clanid].users[user.uid].level = 1;
- return bot(`@id${user.id} (${user.tag}) теперь староста клана!`)
- });
- cmd.hear(/^(?:клан староста)(\s?https\:\/\/vk\.com\/)?(id)?([0-9]+)?([^]+)?/i, (message, bot) => {
- let clanid = message.user.clanid;
- if(!clans[clanid]) return bot(`у вас нет клана!
- ❓ Для вступления введите «Клан войти [ID]»`);
- if(message.args[4]) {
- var domain = message.args[4].split(" ");
- vk.api.call("utils.resolveScreenName", {
- screen_name: message.args[4]
- }).then((res) => {
- let user = users[Number(message.args[1])];
- if (clans[message.user.clan].users[message.user.uid].level < 2) return bot(`недостаточно прав!`);
- if (clans[message.user.clan].users[user.uid].level > clans[message.user.clan].users[message.user.uid].level) return bot(`недостаточно прав!`);
- if (clans[message.user.clan].users[user.uid].level == 1) return bot(`@id${user.id} (${user.tag}) уже является старостой клана! `)
- clans[message.user.clanid].users[user.uid].level = 1;
- return bot(`@id${user.id} (${user.tag}) теперь староста клана!`)
- }
- });
- cmd.hear(/^(?:клан отдать)(\s?https\:\/\/vk\.com\/)?(id)?([0-9]+)?([^]+)?/i, (message, bot) => {
- let clanid = message.user.clanid;
- if(!clans[clanid]) return bot(`у вас нет клана!
- ❓ Для вступления введите «Клан войти [ID]»`);
- if (clans[message.user.clan].owner !== message.user.uid) return bot(`недостаточно прав!`);
- if(message.args[4]) {
- var domain = message.args[4].split(" ");
- vk.api.call("utils.resolveScreenName", {
- screen_name: message.args[4]
- }).then((res) => {
- let user = users[Number(res.object_id)]
- message.user.clan_korol = true;
- message.user.clan_new_korol = user.id;
- })
- return bot(`подтвердите передачу короля клана!:`,
- {
- keyboard:JSON.stringify(
- {
- "inline": true,
- "buttons": [
- [{
- "action": {
- "type": "text",
- "payload": "{}",
- "label": `✅ Да`
- },
- "color": "positive",
- },
- {
- "action": {
- "type": "text",
- "payload": "{}",
- "label": `⛔ Нет`
- },
- "color": "negative",
- }
- ]
- ]
- })
- })
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement