Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let title; // название
- let members_count; // кол-во участников
- let owner_id; // айди создателя
- let admin_ids = ''; // список админов
- let chat_number; // номер беседы
- let chat_code; // код беседы
- let admins = [];
- let conversation_info;
- let members_info;
- let members = [];
- let role;
- conversation_info = await vk.api.messages.getConversationsById({peer_ids: message.peerId}); // Получаем общую информацию о беседе
- if (conversation_info.count == 0) {
- return 0; // не дали админа
- }
- title = conversation_info.items[0].chat_settings.title; // получаем название беседы
- owner_id = conversation_info.items[0].chat_settings.owner_id; // получаем айди создателя
- members_count = conversation_info.items[0].chat_settings.members_count; // получаем кол-во участников
- chat_number = message.chatId; // получаем номер беседы
- chat_code = await getChatCode(); // получаем код беседы
- members_info = await vk.api.messages.getConversationMembers({peer_id: message.peerId}); // получаем информацию о участниках
- for (let i = 0; i < members_info.count; i++) { // заполняем админов
- if (members_info.items[i].is_admin == true) {
- admin_ids += members_info.items[i].member_id + ', '; // заполняем строку с айди админов
- admins.push (members_info.items[i].member_id); // заполняем массив с админами
- }
- }
- await Add.all_chats (title, chat_number, chat_code, owner_id, admin_ids, members_count); // вносим в общую бд чатов
- for (let i = 0; i < members_info.profiles.length; i++) { // собираем инфу о юзерах
- if (!new_user.has (members_info.profiles[i].id) ) {
- await Add.all_users (members_info.profiles[i].id, vk, `${members_info.profiles[i].first_name} ${members_info.profiles[i].last_name}`);
- }
- if (!admins.includes (members_info.profiles[i].id) ) { // если простой юзер
- role = 0;
- } else if (members_info.profiles[i].id != owner_id) { // если админ
- role = 4;
- } else {
- role = 5; // если созд
- }
- members[i] = { // массив с юзерами
- _id: members_info.profiles[i].id,
- nick: `${members_info.profiles[i].first_name} ${members_info.profiles[i].last_name}`,
- type: 'user',
- role: role,
- varns: 0,
- banned: false,
- mute: false,
- in_chat: true
- }
- }
- for (let i = 0; i < members_info.groups.length; i++) { // собираем группы
- members_info.groups[i].id *= -1;
- if (!admins.includes(members_info.groups[i].id) ) { // если не админ
- role = 0;
- } else {
- role = 4;
- }
- members.push ({
- _id: members_info.groups[i].id,
- nick: `${members_info.groups[i].name}`,
- type: 'group',
- role: role,
- varns: 0,
- banned: false,
- mute: false,
- in_chat: true
- });
- }
- await db().collection(`Chat №${message.chatId}`).insertMany (members);
- await db().collection(`Chat №${message.chatId}`).insertOne ({
- _id: 'settings',
- autokick: false, // автокик
- total_warning: 3, // всего варнов
- warn_penalty: 'ban',
- ban_invite_link: false,
- });
- message.send (`Беседа зарегистрирована с кодом ${chat_code}`);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement