goat
command
admin
No description
0
views
0
likes
0
installs
raw source
const { config } = global.GoatBot;
const { writeFileSync } = require("fs-extra");
module.exports = {
config: {
name: "admin",
version: "1.6",
author: "𓆩𝑅𝑜𝒷𝒾𝓃𓆪 𝒜𝓁𝒾",
countDown: 5,
role: 2,
description: {
vi: "Thêm, xóa, sửa quyền admin",
en: "Add, remove, edit admin role"
},
category: "box chat",
guide: {
vi: ' {pn} [add | -a] <uid | @tag>: Thêm quyền admin cho người dùng'
+ '\n {pn} [remove | -r] <uid | @tag>: Xóa quyền admin của người dùng'
+ '\n {pn} [list | -l]: Liệt kê danh sách admin',
en: ' {pn} [add | -a] <uid | @tag>: Add admin role for user'
+ '\n {pn} [remove | -r] <uid | @tag>: Remove admin role of user'
+ '\n {pn} [list | -l]: List all admins'
}
},
langs: {
vi: {
added: "✅ | Đã thêm quyền admin cho %1 người dùng:\n%2",
alreadyAdmin: "\n⚠️ | %1 người dùng đã có quyền admin từ trước rồi:\n%2",
missingIdAdd: "⚠️ | Vui lòng nhập ID hoặc tag người dùng muốn thêm quyền admin",
removed: "✅ | Đã xóa quyền admin của %1 người dùng:\n%2",
notAdmin: "⚠️ | %1 người dùng không có quyền admin:\n%2",
missingIdRemove: "⚠️ | Vui lòng nhập ID hoặc tag người dùng muốn xóa quyền admin",
listAdmin: "👑 | Danh sách admin:\n%1"
},
en: {
added: "✅ | Added admin role for %1 users:\n%2",
alreadyAdmin: "\n⚠️ | %1 users already have admin role:\n%2",
missingIdAdd: "⚠️ | Please enter ID or tag user to add admin role",
removed: "✅ | Removed admin role of %1 users:\n%2",
notAdmin: "⚠️ | %1 users don't have admin role:\n%2",
missingIdRemove: "⚠️ | Please enter ID or tag user to remove admin role",
listAdmin: "👑 | List of admins:\n%1"
},
tl: {
added: "✅ | Naidagdag ang admin role para sa %1 user:\n%2",
alreadyAdmin: "\n⚠️ | %1 user ay mayroon nang admin role:\n%2",
missingIdAdd: "⚠️ | Mangyaring maglagay ng ID o mag-tag ng user para idagdag ang admin role",
removed: "✅ | Naalis ang admin role ng %1 user:\n%2",
notAdmin: "⚠️ | %1 user ay walang admin role:\n%2",
missingIdRemove: "⚠️ | Mangyaring maglagay ng ID o mag-tag ng user para alisin ang admin role",
listAdmin: "👑 | Listahan ng mga admin:\n%1"
},
hi: {
added: "✅ | %1 users ko admin role de diya gaya:\n%2",
alreadyAdmin: "\n⚠️ | %1 users ke paas pehle se admin role hai:\n%2",
missingIdAdd: "⚠️ | Admin role dene ke liye ID dalein ya user ko tag karein",
removed: "✅ | %1 users ka admin role hata diya gaya:\n%2",
notAdmin: "⚠️ | %1 users ke paas admin role nahi hai:\n%2",
missingIdRemove: "⚠️ | Admin role hatane ke liye ID dalein ya user ko tag karein",
listAdmin: "👑 | Admins ki list:\n%1"
},
ar: {
added: "✅ | تمت إضافة دور المسؤول لـ %1 مستخدم:\n%2",
alreadyAdmin: "\n⚠️ | %1 مستخدم لديهم بالفعل دور المسؤول:\n%2",
missingIdAdd: "⚠️ | الرجاء إدخال ID أو وضع علامة على المستخدم لإضافة دور المسؤول",
removed: "✅ | تمت إزالة دور المسؤول من %1 مستخدم:\n%2",
notAdmin: "⚠️ | %1 مستخدم ليس لديهم دور المسؤول:\n%2",
missingIdRemove: "⚠️ | الرجاء إدخال ID أو وضع علامة على المستخدم لإزالة دور المسؤول",
listAdmin: "👑 | قائمة المسؤولين:\n%1"
},
bn: {
added: "✅ | %1 জন user কে admin role দেওয়া হয়েছে:\n%2",
alreadyAdmin: "\n⚠️ | %1 জন user এর আগে থেকেই admin role আছে:\n%2",
missingIdAdd: "⚠️ | Admin role দিতে ID দিন বা user কে tag করুন",
removed: "✅ | %1 জন user এর admin role সরানো হয়েছে:\n%2",
notAdmin: "⚠️ | %1 জন user এর admin role নেই:\n%2",
missingIdRemove: "⚠️ | Admin role সরাতে ID দিন বা user কে tag করুন",
listAdmin: "👑 | Admin তালিকা:\n%1"
}
},
onStart: async function ({ message, args, usersData, event, getLang }) {
switch (args[0]) {
case "add":
case "-a": {
if (args[1]) {
let uids = [];
if (Object.keys(event.mentions).length > 0)
uids = Object.keys(event.mentions);
else if (event.messageReply)
uids.push(event.messageReply.senderID);
else
uids = args.filter(arg => !isNaN(arg));
const notAdminIds = [];
const adminIds = [];
for (const uid of uids) {
if (config.adminBot.includes(uid))
adminIds.push(uid);
else
notAdminIds.push(uid);
}
config.adminBot.push(...notAdminIds);
const getNames = await Promise.all(uids.map(uid => usersData.getName(uid).then(name => ({ uid, name }))));
writeFileSync(global.client.dirConfig, JSON.stringify(config, null, 2));
return message.reply(
(notAdminIds.length > 0 ? getLang("added", notAdminIds.length, getNames.map(({ uid, name }) => `• ${name} (${uid})`).join("\n")) : "")
+ (adminIds.length > 0 ? getLang("alreadyAdmin", adminIds.length, adminIds.map(uid => `• ${uid}`).join("\n")) : "")
);
}
else
return message.reply(getLang("missingIdAdd"));
}
case "remove":
case "-r": {
if (args[1]) {
let uids = [];
if (Object.keys(event.mentions).length > 0)
uids = Object.keys(event.mentions)[0];
else
uids = args.filter(arg => !isNaN(arg));
const notAdminIds = [];
const adminIds = [];
for (const uid of uids) {
if (config.adminBot.includes(uid))
adminIds.push(uid);
else
notAdminIds.push(uid);
}
for (const uid of adminIds)
config.adminBot.splice(config.adminBot.indexOf(uid), 1);
const getNames = await Promise.all(adminIds.map(uid => usersData.getName(uid).then(name => ({ uid, name }))));
writeFileSync(global.client.dirConfig, JSON.stringify(config, null, 2));
return message.reply(
(adminIds.length > 0 ? getLang("removed", adminIds.length, getNames.map(({ uid, name }) => `• ${name} (${uid})`).join("\n")) : "")
+ (notAdminIds.length > 0 ? getLang("notAdmin", notAdminIds.length, notAdminIds.map(uid => `• ${uid}`).join("\n")) : "")
);
}
else
return message.reply(getLang("missingIdRemove"));
}
case "list":
case "-l": {
const getNames = await Promise.all(config.adminBot.map(uid => usersData.getName(uid).then(name => ({ uid, name }))));
return message.reply(getLang("listAdmin", getNames.map(({ uid, name }) => `• ${name} (${uid})`).join("\n")));
}
default:
return message.SyntaxError();
}
}
};