owner-addrop.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. import fs from 'fs';
  2. import path from 'path';
  3. const cuentasFilePath = path.resolve('./src/cuentas.json');
  4. // Función para cargar cuentas
  5. const loadCuentas = () => {
  6. try {
  7. const data = fs.readFileSync(cuentasFilePath, "utf8");
  8. return JSON.parse(data);
  9. } catch (err) {
  10. console.error("❌ Error al cargar las cuentas:", err.message);
  11. return [];
  12. }
  13. };
  14. // Función para guardar cuentas
  15. const saveCuentas = (cuentas) => {
  16. try {
  17. fs.writeFileSync(cuentasFilePath, JSON.stringify(cuentas, null, 2));
  18. return true;
  19. } catch (err) {
  20. console.error("❌ Error al guardar las cuentas:", err.message);
  21. return false;
  22. }
  23. };
  24. let handler = async (m, { conn, text, args, usedPrefix, command }) => {
  25. // Verificar si es admin/owner
  26. let isAdmin = global.db.data.users[m.sender].admin || false;
  27. if (!isAdmin) return m.reply('⚠️ Este comando es solo para administradores.');
  28. if (!text) return m.reply(`⚠️ Formato incorrecto. Uso correcto:
  29. ${usedPrefix}${command} <cuenta>|<usos>
  30. 📝 Ejemplo:
  31. ${usedPrefix}${command} CUENTA PREMIUM ⭐(NETFLIX)\n\nCorreo: [email protected]\nContraseña: Contraseña123|3
  32. 📌 Notas:
  33. - Usa | para separar la cuenta y el número de usos
  34. - El número de usos debe ser entre 1 y 100
  35. - Mantén el formato consistente para mejor presentación`);
  36. try {
  37. // Separar texto y usos
  38. let [cuenta, usosStr] = text.split('|');
  39. if (!cuenta || !usosStr) {
  40. return m.reply('❌ Error: Debes proporcionar tanto la cuenta como el número de usos, separados por |');
  41. }
  42. // Validar y convertir usos a número
  43. let usos = parseInt(usosStr);
  44. if (isNaN(usos)) {
  45. return m.reply('❌ Error: El número de usos debe ser un número válido');
  46. }
  47. if (usos < 1 || usos > 100) {
  48. return m.reply('❌ Error: El número de usos debe estar entre 1 y 100');
  49. }
  50. // Cargar cuentas existentes
  51. let cuentas = loadCuentas();
  52. // Crear nueva cuenta
  53. let nuevaCuenta = {
  54. "text": cuenta.trim(),
  55. "uses": usos
  56. };
  57. // Añadir nueva cuenta
  58. cuentas.push(nuevaCuenta);
  59. // Guardar cambios
  60. if (saveCuentas(cuentas)) {
  61. let mensaje = `✅ Cuenta añadida exitosamente\n\n`;
  62. mensaje += `📝 Detalles:\n`;
  63. mensaje += `▢ Cuenta: ${cuenta.trim()}\n`;
  64. mensaje += `▢ Usos: ${usos}\n`;
  65. mensaje += `▢ Total de cuentas: ${cuentas.length}`;
  66. await m.reply(mensaje);
  67. } else {
  68. throw new Error('Error al guardar en el archivo');
  69. }
  70. } catch (error) {
  71. console.error(error);
  72. return m.reply(`❌ Error al añadir la cuenta: ${error.message}`);
  73. }
  74. };
  75. handler.help = ['.addrop <cuenta>|<usos>'];
  76. handler.tags = ['owner'];
  77. handler.command = /^(addrop)$/i;
  78. handler.rowner = true;
  79. export default handler;