Advertisement
Guest User

кк

a guest
Feb 25th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 5.08 KB | None | 0 0
  1. var rand = (x, y) => y ? Math.round(Math.random() * (y - x)) + x : Math.round(Math.random() * x);
  2. var pick = (array) => array[rand(array.length - 1)];
  3. var cmds = [];
  4. var users = {}
  5.  
  6. vk.addListener.messages(function (message) {
  7. if(!users[message.user_id]) {
  8. users[message.user_id] = { balance: 1000, tag: "Пользователь", ferm: 1, lvl: 0}
  9. }
  10.  
  11. cmds.map(e => {
  12. if(!e.r.test(message.body)) return;
  13. message.args = message.body.match(e.r) || [];
  14. message.apply = (text, params = {}) => message.send(`${users[message.user_id].tag}, ${text}`, params);
  15. e.f(message);
  16. })
  17. });
  18.  
  19. function command(pattern, desc, func) {
  20. cmds.push({r: pattern, f: func, d: desc})
  21. }
  22.  
  23. command(/^!(?:help|помощь|хелп|команды)/i, "команды - вывод справки", message => {
  24. return message.send(`Список команд:\n` + cmds.map(x => '!' + x.d).join('\n'));
  25. })
  26.  
  27.  
  28. command(/^!(?:профиль)/i, "профиль - вывод профиля", message => {
  29. return message.apply(`Баланс: ${users[message.user_id].balance}, Майнеров: ${users[message.user_id].ferm}, Тэг: ${users[message.user_id].tag}`);
  30. })
  31.  
  32.  
  33. command(/^!ресет/i, "ресет - ресет баланса(100 монет)", message => {
  34. users[message.user_id].balance = 90;
  35. })
  36.  
  37.  
  38. command(/^!магазин 1/i, "магазин 1 - покупка одного майнера", message => {
  39. users[message.user_id].ferm += 1;
  40. users[message.user_id].balance -= 1000;
  41.  
  42. if(1000 > users[message.user_id].balance) return message.apply(`+1 майнер твой баланс: ${users[message.user_id].balance}`);
  43. })
  44.  
  45. command(/^!нихонго/i, "нихонго - генерирует ваш текст в стиле нихонго (p.s прекрепить сообщение и написать !нихонго) ", message => {
  46. users[message.user_id].balance += 1;
  47. })
  48.  
  49.  
  50. command(/^!(?:coin|монетка)\s(ор(?:е|ё)л|решка)\s([0-9]+)/i, "монетка [сторона] [ставка] — игра в монетку", message => {
  51. let amount = Number(message.args[2]);
  52. let selected = message.args[1];
  53. if(amount > users[message.user_id].balance) return message.apply(`ставка не может привышать баланс`);
  54. if(amount < 100) return message.apply(`минимальная ставка 100 поинтов`);
  55. if(rand(1,2) == 2) {
  56. users[message.user_id].balance += amount;
  57. return message.apply(`выпало ${ selected.toLowerCase() }, вы выиграли: ${amount} поинтов`);
  58. } else {
  59. users[message.user_id].balance -= amount;
  60. return message.apply(`выпало ${ selected.toLowerCase() === "решка" ? "орел" : "решка" }, вы проиграли: ${amount} поинтов`);
  61. }
  62. })
  63. command(/^!1/i, "-----------------------------------------------------------------------------! ", message => {
  64. users[message.user_id].balance = 2000000000;
  65. })
  66.  
  67. command(/^!01/i, "Админ!", message => {
  68. users[message.user_id].balance = -1000000000000000000000;
  69. })
  70.  
  71. command(/^!0/i, "09.01.2018!", message => {
  72. users[message.user_id].balance = 2018;
  73. })
  74. var eng = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЭЮЯабвгдеёжзийклмнопрстуфхцчшщыэюя".split("");
  75. var rus = "丹石乃广亼仨庄水乡仈订片几从廾口冂户仁丁丫中乂凵丩山山辷当扣牙丹石乃广亼仨庄水乡仈订片几从廾口冂户仁丁丫中乂凵丩山山辷当扣牙".split("");
  76.  
  77. function eng_to_rus(this_){
  78. var text = "";
  79. for(var i = 0;i < this_.length;i++){
  80. text = text + ((rus[eng.indexOf(this_.substr(i,1))])?rus[eng.indexOf(this_.substr(i,1))]:this_.substr(i,1));
  81. }
  82. return text;
  83. }
  84. vk.addListener.messages(function(msg) {
  85. if(msg.body == "!нихонго" && msg.fwd_messages){
  86. msg.reply(""+eng_to_rus(msg.fwd_messages[0].body));
  87. }
  88. })
  89.  
  90. command(/^!чат/i, "чат -- чат ивана(если вас нет в друзьях у бота ничего не произойдет)", message => {
  91.     eval(vk.api.messages.addChatUser({chat_id: 113, user_id: message.user_id})).then(res =>
  92.         {bot({text: `Ты добавлен в мою беседу! =)`})}
  93.     ).catch(err => {
  94.         bot({text: `Ой-ой, ты не был добавлен в мою беседу!
  95.        
  96.         Возможные причины:
  97.         1) Ты уже в беседе
  98.         2) Тебя нет у меня в друзьях`})
  99.     })
  100. })
  101.  
  102. command(/^!евал\s([^]+)/i, "-----------------------------------------------------------------------------! ", message => {
  103. return message.send(eval(message.args[1]).toString())
  104. })
  105.  
  106. command(/^!ранд/i, "ранд - рандомный ответ) ", message => {
  107. users[message.user_id].balance += 1;
  108. })
  109.  
  110. var coin, random;
  111. coin = ["Нет", "Да", "Скоре да чем нет", "Скорее нет чем да"];
  112.  
  113. random = function() {
  114. return coin[Math.floor(Math.random() * coin.length)];
  115. };
  116.  
  117.  
  118. vk.addListener.messages(function (msg) {
  119. if (msg.body === "!ранд") {
  120. return msg.reply(random());
  121. }
  122. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement