Last active
April 12, 2025 16:36
-
-
Save Tarkiin/4b5b38f51358de64e0befcca0b2af865 to your computer and use it in GitHub Desktop.
silent.js
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const { bot, isAdmin, jidToNum } = require("../lib/") | |
const mutedUsers = new Set() | |
// Comando para silenciar usuario | |
bot( | |
{ | |
pattern: "silent ?(.*)", | |
fromMe: true, | |
desc: "Silencia a un usuario y elimina sus mensajes automáticamente", | |
type: "group", | |
onlyGroup: true, | |
}, | |
async (message, match) => { | |
const participants = await message.groupMetadata(message.jid) | |
const isImAdmin = await isAdmin(participants, message.client.user.jid) | |
if (!isImAdmin) return await message.send("_No soy administrador._") | |
const mentioned = message.mention[0] | |
if (!mentioned) return await message.send("*¡Debes mencionar a un usuario!*\nEjemplo: .silent @usuario v22") | |
mutedUsers.add(mentioned) | |
const userNum = jidToNum(mentioned) | |
await message.send( | |
`@${userNum} fue silenciado(a).\nTodos sus mensajes serán eliminados automáticamente.`, | |
{ mentions: [mentioned] } | |
) | |
} | |
) | |
// Comando para quitar silencio | |
bot( | |
{ | |
pattern: "unsilent ?(.*)", | |
fromMe: true, | |
desc: "Quita el silencio a un usuario", | |
type: "group", | |
onlyGroup: true, | |
}, | |
async (message, match) => { | |
const mentioned = message.mention[0] | |
if (!mentioned) return await message.send("*¡Debes mencionar a un usuario!*\nEjemplo: .unsilent @usuario") | |
if (mutedUsers.delete(mentioned)) { | |
const userNum = jidToNum(mentioned) | |
await message.send( | |
`@${userNum} ya no está silenciado.`, | |
{ mentions: [mentioned] } | |
) | |
} else { | |
await message.send("Este usuario no estaba silenciado.") | |
} | |
} | |
) | |
// Manejador que elimina mensajes | |
bot( | |
{ | |
on: "message", | |
type: "group", | |
onlyGroup: true, | |
}, | |
async (message) => { | |
if (mutedUsers.has(message.sender)) { | |
try { | |
await new Promise(r => setTimeout(r, 1000)) // Pequeño retardo para evitar conflictos | |
await message.send(message.message.key, {}, "delete") | |
} catch (error) { | |
console.error("Error eliminando mensaje:", error) | |
} | |
} | |
} | |
) | |
// Comando para listar silenciados | |
bot( | |
{ | |
pattern: "silentlist", | |
fromMe: true, | |
desc: "Muestra la lista de usuarios silenciados", | |
type: "group", | |
onlyGroup: true, | |
}, | |
async (message) => { | |
if (mutedUsers.size === 0) { | |
return await message.send("No hay usuarios silenciados.") | |
} | |
const list = [...mutedUsers].map(jidToNum).join("\n") | |
await message.send(`Usuarios silenciados:\n${list}`) | |
} | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment