Advertisement
Guest User

Untitled

a guest
Apr 6th, 2020
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     let title; // название
  2.     let members_count; // кол-во участников
  3.     let owner_id; // айди создателя
  4.     let admin_ids = ''; // список админов
  5.     let chat_number; // номер беседы
  6.     let chat_code; // код беседы
  7.     let admins = [];
  8.     let conversation_info;        
  9.     let members_info;
  10.     let members = [];
  11.     let role;
  12.  
  13.     conversation_info = await vk.api.messages.getConversationsById({peer_ids: message.peerId}); // Получаем общую информацию о беседе    
  14.    
  15.     if (conversation_info.count == 0) {
  16.         return 0; // не дали админа
  17.     }
  18.  
  19.     title = conversation_info.items[0].chat_settings.title; // получаем название беседы
  20.     owner_id = conversation_info.items[0].chat_settings.owner_id; // получаем айди создателя
  21.     members_count = conversation_info.items[0].chat_settings.members_count; // получаем кол-во участников
  22.     chat_number = message.chatId; // получаем номер беседы
  23.     chat_code = await getChatCode(); // получаем код беседы
  24.  
  25.     members_info = await vk.api.messages.getConversationMembers({peer_id: message.peerId}); // получаем информацию о участниках
  26.  
  27.     for (let i = 0; i < members_info.count; i++) { // заполняем админов
  28.        
  29.         if (members_info.items[i].is_admin == true) {
  30.             admin_ids += members_info.items[i].member_id + ', '; // заполняем строку с айди админов
  31.             admins.push (members_info.items[i].member_id); // заполняем массив с админами
  32.         }
  33.     }
  34.  
  35.     await Add.all_chats (title, chat_number, chat_code, owner_id, admin_ids, members_count); // вносим в общую бд чатов
  36.                
  37.     for (let i = 0; i < members_info.profiles.length; i++) { // собираем инфу о юзерах
  38.         if (!new_user.has (members_info.profiles[i].id) ) {
  39.             await Add.all_users (members_info.profiles[i].id, vk, `${members_info.profiles[i].first_name} ${members_info.profiles[i].last_name}`);
  40.         }
  41.         if (!admins.includes (members_info.profiles[i].id) ) { // если простой юзер
  42.            role = 0;
  43.         } else if (members_info.profiles[i].id != owner_id) { // если админ
  44.             role = 4;
  45.         } else {
  46.             role = 5; // если созд
  47.         }
  48.         members[i] = { // массив с юзерами
  49.             _id: members_info.profiles[i].id,
  50.             nick: `${members_info.profiles[i].first_name} ${members_info.profiles[i].last_name}`,
  51.             type: 'user',
  52.             role: role,
  53.             varns: 0,
  54.             banned: false,
  55.             mute: false,
  56.             in_chat: true
  57.         }
  58.     }
  59.  
  60.     for (let i = 0; i < members_info.groups.length; i++) { // собираем группы
  61.         members_info.groups[i].id *= -1;
  62.         if (!admins.includes(members_info.groups[i].id) ) { // если не админ
  63.             role = 0;
  64.         } else {
  65.             role = 4;
  66.         }
  67.         members.push ({
  68.             _id: members_info.groups[i].id,
  69.             nick: `${members_info.groups[i].name}`,
  70.             type: 'group',
  71.             role: role,
  72.             varns: 0,
  73.             banned: false,
  74.             mute: false,
  75.             in_chat: true
  76.         });
  77.     }
  78.        
  79.     await db().collection(`Chat №${message.chatId}`).insertMany (members);
  80.     await db().collection(`Chat №${message.chatId}`).insertOne ({
  81.         _id: 'settings',
  82.         autokick: false, // автокик
  83.         total_warning: 3, // всего варнов
  84.         warn_penalty: 'ban',
  85.         ban_invite_link: false,
  86.         });
  87.  
  88.     message.send (`Беседа зарегистрирована с кодом ${chat_code}`);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement