Spaces:
Paused
Paused
File size: 1,974 Bytes
8de10f9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
import config from '../../config.cjs';
const demote = async (m, gss) => {
try {
const prefix = config.PREFIX;
const cmd = m.body.startsWith(prefix) ? m.body.slice(prefix.length).split(' ')[0].toLowerCase() : '';
const text = m.body.slice(prefix.length + cmd.length).trim();
const validCommands = ['demote', 'unadmin'];
if (!validCommands.includes(cmd)) return;
if (!m.isGroup) return m.reply("*π THIS COMMAND CAN ONLY BE USED IN GROUPS*");
const groupMetadata = await gss.groupMetadata(m.from);
const participants = groupMetadata.participants;
const botNumber = await gss.decodeJid(gss.user.id);
const botAdmin = participants.find(p => p.id === botNumber)?.admin;
const senderAdmin = participants.find(p => p.id === m.sender)?.admin;
if (!botAdmin) return m.reply("*π BOT MUST BE AN ADMIN TO USE THIS COMMAND*");
if (!senderAdmin) return m.reply("*π YOU MUST BE AN ADMIN TO USE THIS COMMAND*");
if (!m.mentionedJid) m.mentionedJid = [];
if (m.quoted?.participant) m.mentionedJid.push(m.quoted.participant);
const users = m.mentionedJid.length > 0
? m.mentionedJid
: text.replace(/[^0-9]/g, '').length > 0
? [text.replace(/[^0-9]/g, '') + '@s.whatsapp.net']
: [];
if (users.length === 0) {
return m.reply("*π PLEASE MENTION OR QUOTE A USER TO DEMOTE*");
}
const validUsers = users.filter(Boolean);
await gss.groupParticipantsUpdate(m.from, validUsers, 'demote')
.then(() => {
const demotedNames = validUsers.map(user => `@${user.split("@")[0]}`);
m.reply(`*USERS ${demotedNames} DEMOTED SUCCESSFULLY IN THE GROUP ${groupMetadata.subject}*`);
})
.catch(() => m.reply('Failed to demote user(s) in the group.'));
} catch (error) {
console.error('Error:', error);
m.reply('An error occurred while processing the command.');
}
};
export default demote;
|