Advertisement
Guest User

Untitled

a guest
Feb 19th, 2020
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.75 KB | None | 0 0
  1. let clans = require('./clans.json');
  2.  
  3. async function saveClans()
  4. {
  5. require('fs').writeFileSync('./clans.json', JSON.stringify(clans, null, '\t'));
  6. return true;
  7. }
  8.  
  9. cmd.hear(/^(?:клан создать)\s(.*)$/i, async (message, bot) => {
  10. if (!message.args[1]) return bot(`вы не ввели название клана!`);
  11. if (message.user.rub < 200000000000) return bot(`недостаточно денег!`);
  12. if (message.user.clan != false) return bot(`вы уже состоите в клане!`);
  13. if(message.args[1].length >= 10) return bot(`максимальная длина названия клана 10 символов`);
  14. let zaprets1 = message.args[1].toLowerCase();
  15. var zapret = /(🤵|📔|📗📘|📙|📕|⍻|🗸|√|☑|✔|👑|✅|✓)/
  16. var sss = zapret.test(zaprets1)
  17. if(zapret.test(zaprets1) == true) {
  18. var check = true;
  19. return bot(`в названии есть запрещенные символы ${smileerror}`);
  20. }
  21. message.user.rub -= 200000000000;
  22. message.user.clanid = clans.length += 1;
  23. clans.push({
  24. name: message.args[1],
  25. id: clans.length += 1,
  26. owner: message.user.uid,
  27. lvl: 1,
  28. users: {},
  29. peoples: 1,
  30. symbol: "",
  31. joinable: false
  32. })
  33. clans[clans.length += 1].users[message.user.uid] = {
  34. id: message.user.id,
  35. uid: message.user.uid,
  36. level: 3
  37. }
  38. return bot(`клан с названием «${message.args[1]}» создан!`);
  39. });
  40.  
  41. cmd.hear(/^(?:клан название)\s(.*)$/i, async (message, bot) => {
  42. if (!message.args[1]) return bot(`вы не ввели название клана!`);
  43. if (message.user.rub < 50000000000) return bot(`недостаточно денег!`);
  44. if (message.user.clan = false) return bot(`у вас нет клана!
  45. ❓ Для вступления введите «Клан войти [ID]»`);
  46. if (clans[message.user.clanid].users[message.user.uid] != 3) return bot(`недостаточно прав!`);
  47. if (clans[message.user.clanid].lvl = 1) {
  48. if(message.args[1].length >= 10) return bot(`максимальная длина названия клана 10 символов`);
  49. };
  50. if (clans[message.user.clanid].lvl = 2) {
  51. if(message.args[1].length >= 13) return bot(`максимальная длина названия клана 13 символов`);
  52. };
  53. if (clans[message.user.clanid].lvl = 3) {
  54. if(message.args[1].length >= 15) return bot(`максимальная длина названия клана 15 символов`);
  55. };
  56. if (clans[message.user.clanid].lvl = 4) {
  57. if(message.args[1].length >= 17) return bot(`максимальная длина названия клана 17 символов`);
  58. };
  59. if (clans[message.user.clanid].lvl = 5) {
  60. if(message.args[1].length >= 20) return bot(`максимальная длина названия клана 20 символов`);
  61. };
  62. let zaprets1 = message.args[1].toLowerCase();
  63. var zapret = /(🤵|📔|📗📘|📙|📕|⍻|🗸|√|☑|✔|👑|✅|✓)/
  64. var sss = zapret.test(zaprets1)
  65. if(zapret.test(zaprets1) == true) {
  66. var check = true;
  67. return bot(`в названии есть запрещенные символы ${smileerror}`);
  68. }
  69. clans[message.user.clanid].name = message.args[1]
  70. return bot(`название клана сменено на «${message.args[1]}»`);
  71. });
  72.  
  73. cmd.hear(/^(?:клан удалить)$/i, async (message, bot) => {
  74. if (message.user.clan == false) return bot(`вы не состоите в клане!`);
  75. if (clans[message.user.clan].owner !== message.user.uid) return bot(`недостаточно прав!`);
  76. message.user.clan_rem = true;
  77. return bot(`подтвердите удаление вашего клана!:`,
  78. {
  79. keyboard:JSON.stringify(
  80. {
  81. "inline": true,
  82. "buttons": [
  83. [{
  84. "action": {
  85. "type": "text",
  86. "payload": "{}",
  87. "label": `✅ Да`
  88. },
  89. "color": "positive",
  90. },
  91. {
  92. "action": {
  93. "type": "text",
  94. "payload": "{}",
  95. "label": `⛔ Нет`
  96. },
  97. "color": "negative",
  98. }
  99. ]
  100. ]
  101. })
  102. })
  103. });
  104.  
  105. cmd.hear(/^(?:✅ Да)$/i, async (message, bot) => {
  106. if(message.user.clan_rem) {
  107. await bot(`удаление вашего клана..`);
  108. delete clans[message.user.clan];
  109. message.user.clan = false;
  110. message.user.clan_rem = false;
  111. saveClans();
  112. return bot(`ваш клан был успешно удалён! ${smilesuccess}`);
  113. }
  114. if(message.user.clan_korol) {
  115. let user = users[Number(message.user.clan_new_corol)];
  116. clans[message.user.clanid].users[message.user.id].level = 0;
  117. clans[message.user.clanid].users[user.id].level = 3;
  118. let peoples = clans[message.user.clanid].peoples - 1;
  119. while (peoples != 0) {
  120. peoples -= 1;
  121. vk.api.messages.send({ user_id: users[peoples], message: `@id${clans[peoples].id} (${clans[peoples].tag}), @id${user.id} (${user.tag}) стал королём клана!` });
  122. }
  123. }
  124. })
  125.  
  126. cmd.hear(/^(?:⛔ Нет)$/i, async (message, bot) => {
  127. if(message.user.clan_korol) {
  128. await bot(`отменяю передачу короля клана..`);
  129. message.user.clan_korol = false;
  130. saveClans();
  131. return bot(`передача короля клана успешно отменена! ${smilesuccess}`);
  132. }
  133. if(message.user.clan_rem) {
  134. await bot(`отменяю удаление вашего клана..`);
  135. message.user.clan_rem = false;
  136. saveClans();
  137. return bot(`удаление вашего клана успешно отменено! ${smilesuccess}`);
  138. }
  139. })
  140.  
  141. cmd.hear(/^(?:клан состав)$/i, async (message, bot) => {
  142. if (message.user.clan = false) return bot(`вы не состоите в клане!`);
  143. let text = ``;
  144. let mp = ``;
  145.  
  146. for(let id in clans[message.user.clanid].users) {
  147. let user = users[id];
  148. if(clans[message.user.clanid].users[id].level == 3) text += `⠀⠀ Король клана - @id${user.id} (${user.tag}) (ID: ${user.uid})\n`;
  149. if(clans[message.user.clanid].users[id].level == 2) text += `⠀⠀ Модератор клана - @id${user.id} (${user.tag}) (ID: ${user.uid})\n`;
  150. if(clans[message.user.clanid].users[id].level == 1) text += `⠀⠀ Староста клана - @id${user.id} (${user.tag}) (ID: ${user.uid})\n`;
  151. if(clans[message.user.clanid].users[id].level == 0) text += `⠀⠀ Участник клана - @id${user.id} (${user.tag}) (ID: ${user.uid})\n`;
  152. }
  153.  
  154. if(clans[message.user.clanid].lvl == 1) {
  155. mp += `5`;
  156. };
  157. if(clans[message.user.clanid].lvl == 2) {
  158. mp += `15`;
  159. };
  160. if(clans[message.user.clanid].lvl == 3) {
  161. mp += `25`;
  162. };
  163. if(clans[message.user.clanid].lvl == 4) {
  164. mp += `50`;
  165. };
  166. if(clans[message.user.clanid].lvl == 5) {
  167. mp += `100`;
  168. };
  169.  
  170. return bot(`участники клана «${clans[message.user.clanid].name}» [${clans[message.user.clanid].peoples}/${mp}]:
  171. ${text}`);
  172. });
  173.  
  174. cmd.hear(/^(?:клан значок|клан метка|клан символ|клан знак|клан эмодзи)\s(.*)$/i, async (message, bot) => {
  175. if(!message.args[1]) return bot(`введите символ клана!`);
  176. let zaprets1 = message.args[1].toLowerCase();
  177. var zapret = /(й|ц|у|к|е|н|г|ш|щ|з|х|ъ|ф|ы|в|а|п|р|о|л|д|ж|э|я|ч|с|м|и|т|ь|б|ю|1|2|3|4|5|6|7|8|9|0)/
  178. var sss = zapret.test(zaprets1)
  179. if(zapret.test(zaprets1) == true){
  180. var check = true;
  181. return bot(`в символе клана можно использовать только смайлы!`);
  182. }
  183. if(!clans[message.user.clanid]) return bot(`у вас нет клана!
  184. ❓ Для вступления введите «Клан войти [ID]»`);
  185. if(clans[message.user.clanid].users[message.user.uid].level < 2) return bot(`символ клана может менять модератор клана и выше!`);
  186. if(message.args[1].length >= 3) return bot(`максимальная длина метки клана 1 смайл`);
  187. clans[message.user.clanid].symbol = message.args[1];
  188. return bot(`символ клана сменена на «${message.args[1]}»`);
  189. });
  190.  
  191. cmd.hear(/^(?:клан открыть)$/i, async (message, bot) => {
  192. let clanid = message.user.clanid;
  193. if(!clans[clanid]) return bot(`у вас нет клана!
  194. ❓ Для вступления введите «Клан войти [ID]»`);
  195. if(clans[clanid].users[message.user.uid].level < 2) return bot(`открывать клан может модератор клана и выше!`);
  196. if(clans[clanid].joinable == true) return bot(`клан уже открытый!`)
  197. clans[clanid].joinable = false;
  198. return bot(`вы успешно открыли клан!`);
  199. });
  200.  
  201. cmd.hear(/^(?:клан закрыть)$/i, async (message, bot) => {
  202. let clanid = message.user.clanid;
  203. if(!clans[clanid]) return bot(`у вас нет клана!
  204. ❓ Для вступления введите «Клан войти [ID]»`);
  205. if(clans[clanid].users[message.user.uid].level < 2) return bot(`закрывать клан может модератор клана и выше!`);
  206. if(clans[clanid].joinable == false) return bot(`клан уже закрытый!`)
  207. clans[clanid].joinable = true;
  208. return bot(`вы успешно открыли клан!`);
  209. });
  210.  
  211. cmd.hear(/^(?:клан выйти)$/i, async (message, bot) => {
  212. if(!message.user.clan) return bot(`вы не состоите в клане! ${smileerror}`);
  213. if(clans[message.user.clan].owner == message.user.uid) return bot(`создатель не может покинуть свой клан. Чтобы удалить клан введите «клан удалить».`);
  214. await bot(`вы успешно покинули клан «${clans[message.user.clan].name}»! ${smilesuccess}`);
  215. vk.api.messages.send({ peer_id: users[clans[message.user.clan].owner].id, message: `${namee(message.user.uid)} покинул ваш клан.` });
  216. message.user.clan = false;
  217. clans[message.user.clan].users -= 1;
  218. delete clans[message.user.clan].users[message.user.uid];
  219. return;
  220. });
  221.  
  222. cmd.hear(/^(?:клан войти|клан зайти|клан вход|клан присоединиться|клан присоедениться|клан)\s([0-9]+)$/i, async (message, bot) => {
  223. let clanid = message.user.clanid;
  224. if(clans[clanid]) return bot(`вы уже состоите в клане!`);
  225. if(!message.args[1]) return bot(`вы не указали ID клана!`);
  226. let idclan = message.args[1];
  227.  
  228. if(!clans[idclan]) return bot(`данного клана не существует! Укажите правильный ID клана.`);
  229. if(clans[idclan].lvl == 0) {
  230. if(clans[idclan].peoples >= 5) return bot(`клан переполнен!`);
  231. };
  232. if(clans[idclan].lvl == 1) {
  233. if(clans[idclan].peoples >= 15) return bot(`клан переполнен!`);
  234. };
  235. if(clans[idclan].lvl == 2) {
  236. if(clans[idclan].peoples >= 25) return bot(`клан переполнен!`);
  237. };
  238. if(clans[idclan].lvl == 3) {
  239. if(clans[idclan].peoples >= 50) return bot(`клан переполнен!`);
  240. };
  241. if(clans[idclan].lvl == 4) {
  242. if(clans[idclan].peoples >= 100) return bot(`клан переполнен!`);
  243. };
  244. if(clans[idclan].joinable == false) return bot(`🔒 Клан закрыт, доступ по приглашениям`);
  245. if(clans[idclan].joinable == true) {
  246. clans[idclan].peoples += 1;
  247. message.user.clanid = Number(message.args[1]);
  248. if(!clans[idclan].users[message.user]) {
  249. clans[idclan].users[message.user.uid] = {
  250. id: message.user.id,
  251. uid: message.user.uid,
  252. level: 0
  253. }
  254. }
  255. return bot(`вы вошли в клан «${clans[idclan].name}»!\nВведите "клан помощь" чтобы посмотреть команды клана!`);
  256. }
  257. });
  258.  
  259. cmd.hear(/^(?:клан отдать)\s(.*)$/i, async (message, bot) => {
  260. if(clans[clanid]) return bot(`вы уже состоите в клане!`);
  261. if (clans[message.user.clan].owner !== message.user.uid) return bot(`недостаточно прав!`);
  262. let user = users[Number(message.args[1])];
  263. message.user.clan_korol = true;
  264. message.user.clan_new_korol = user.id;
  265. return bot(`подтвердите передачу короля клана!:`,
  266. {
  267. keyboard:JSON.stringify(
  268. {
  269. "inline": true,
  270. "buttons": [
  271. [{
  272. "action": {
  273. "type": "text",
  274. "payload": "{}",
  275. "label": `✅ Да`
  276. },
  277. "color": "positive",
  278. },
  279. {
  280. "action": {
  281. "type": "text",
  282. "payload": "{}",
  283. "label": `⛔ Нет`
  284. },
  285. "color": "negative",
  286. }
  287. ]
  288. ]
  289. })
  290. })
  291. });
  292.  
  293. cmd.hear(/^(?:клан модератор)\s(.*)$/i, async (message, bot) => {
  294. let clanid = message.user.clanid;
  295. if(!clans[clanid]) return bot(`у вас нет клана!
  296. ❓ Для вступления введите «Клан войти [ID]»`);
  297. let user = users[Number(message.args[1])];
  298. if (clans[message.user.clan].owner !== message.user.uid) return bot(`недостаточно прав!`);
  299. if (clans[message.user.clan].users[user.uid].level == 2) return bot(`@id${user.id} (${user.tag}) уже является модератором клана! `)
  300. clans[message.user.clanid].users[user.uid].level = 2;
  301. return bot(`@id${user.id} (${user.tag}) теперь модератор клана!`)
  302. });
  303.  
  304. cmd.hear(/^(?:клан модератор)(\s?https\:\/\/vk\.com\/)?(id)?([0-9]+)?([^]+)?/i, (message, bot) => {
  305. if(clans[message.user.clanid]) return bot(`вы уже состоите в клане!`);
  306. if(message.args[4]) {
  307. var domain = message.args[4].split(" ");
  308. vk.api.call("utils.resolveScreenName", {
  309. screen_name: message.args[4]
  310. }).then((res) => {
  311. let user = users[Number(message.args[1])];
  312. if (clans[message.user.clan].users[user.uid].level == 2) return bot(`@id${user.id} (${user.tag}) уже является модератором клана! `)
  313. if (clans[message.user.clan].owner !== message.user.uid) return bot(`недостаточно прав!`);
  314. clans[message.user.clanid].users[user.uid].level = 2;
  315. return bot(`@id${user.id} (${user.tag}) теперь модератор клана!`)
  316. }
  317. });
  318.  
  319. cmd.hear(/^(?:клан староста)\s(.*)$/i, async (message, bot) => {
  320. let clanid = message.user.clanid;
  321. if(!clans[clanid]) return bot(`у вас нет клана!
  322. ❓ Для вступления введите «Клан войти [ID]»`);
  323. let user = users[Number(message.args[1])];
  324. if (clans[message.user.clan].users[message.user.uid].level < 2) return bot(`недостаточно прав!`);
  325. if (clans[message.user.clan].users[user.uid].level > clans[message.user.clan].users[message.user.uid].level) return bot(`недостаточно прав!`);
  326. if (clans[message.user.clan].users[user.uid].level == 1) return bot(`@id${user.id} (${user.tag}) уже является старостой клана! `)
  327. clans[message.user.clanid].users[user.uid].level = 1;
  328. return bot(`@id${user.id} (${user.tag}) теперь староста клана!`)
  329. });
  330.  
  331. cmd.hear(/^(?:клан староста)(\s?https\:\/\/vk\.com\/)?(id)?([0-9]+)?([^]+)?/i, (message, bot) => {
  332. let clanid = message.user.clanid;
  333. if(!clans[clanid]) return bot(`у вас нет клана!
  334. ❓ Для вступления введите «Клан войти [ID]»`);
  335. if(message.args[4]) {
  336. var domain = message.args[4].split(" ");
  337. vk.api.call("utils.resolveScreenName", {
  338. screen_name: message.args[4]
  339. }).then((res) => {
  340. let user = users[Number(message.args[1])];
  341. if (clans[message.user.clan].users[message.user.uid].level < 2) return bot(`недостаточно прав!`);
  342. if (clans[message.user.clan].users[user.uid].level > clans[message.user.clan].users[message.user.uid].level) return bot(`недостаточно прав!`);
  343. if (clans[message.user.clan].users[user.uid].level == 1) return bot(`@id${user.id} (${user.tag}) уже является старостой клана! `)
  344. clans[message.user.clanid].users[user.uid].level = 1;
  345. return bot(`@id${user.id} (${user.tag}) теперь староста клана!`)
  346. }
  347. });
  348.  
  349. cmd.hear(/^(?:клан отдать)(\s?https\:\/\/vk\.com\/)?(id)?([0-9]+)?([^]+)?/i, (message, bot) => {
  350. let clanid = message.user.clanid;
  351. if(!clans[clanid]) return bot(`у вас нет клана!
  352. ❓ Для вступления введите «Клан войти [ID]»`);
  353. if (clans[message.user.clan].owner !== message.user.uid) return bot(`недостаточно прав!`);
  354. if(message.args[4]) {
  355. var domain = message.args[4].split(" ");
  356. vk.api.call("utils.resolveScreenName", {
  357. screen_name: message.args[4]
  358. }).then((res) => {
  359. let user = users[Number(res.object_id)]
  360. message.user.clan_korol = true;
  361. message.user.clan_new_korol = user.id;
  362. })
  363. return bot(`подтвердите передачу короля клана!:`,
  364. {
  365. keyboard:JSON.stringify(
  366. {
  367. "inline": true,
  368. "buttons": [
  369. [{
  370. "action": {
  371. "type": "text",
  372. "payload": "{}",
  373. "label": `✅ Да`
  374. },
  375. "color": "positive",
  376. },
  377. {
  378. "action": {
  379. "type": "text",
  380. "payload": "{}",
  381. "label": `⛔ Нет`
  382. },
  383. "color": "negative",
  384. }
  385. ]
  386. ]
  387. })
  388. })
  389. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement