Я перепробовал почти 10 различных учебных пособий по кодированию команды очистки, и ни один из них не работает, есть ли у кого-нибудь хорошая команда очистки, которую я мог бы попробовать в качестве последнего средства. Вот мой код, есть что-нибудь, что может повлиять на эту команду, которую я пытаюсь написать:
botconfig.json
{
"token": "*hidden*",
"prefix": "!"
}
index.js
const botconfig = require("./botconfig.json");
const Discord = require("discord.js");
const colours = require("./colors.json");
const bot = new Discord.Client({
disableEveryone: true
});
bot.on("ready", async () => {
console.log(`${bot.user.username} is online!`)
bot.user.setActivity("on the SAJRP Server!!")
})
bot.on("message", async message => {
if (message.author.bot || message.channel.type === "dm") return;
const author = message.author
let prefix = botconfig.prefix;
let messageArray = message.content.split(" ")
let command = messageArray[0];
let args = messageArray.slice(1)
if (message.content === 'hello') {
message.channel.send(`Hello ${author}!`)
}
if (command === `${prefix}serverinfo`) {
message.delete()
let sEmbed = new Discord.RichEmbed()
.setColor(colours.blue_dark)
.setTitle("User Info")
.setThumbnail(message.guild.iconURL)
.setAuthor(`${message.guild.name} Info`, message.guild.iconURL)
.addField("**Guild Name:**", `${message.guild.name}`, true)
.addField("**Guild Owner:**", `${message.guild.owner}`, true)
.addField("**Member Count:**", `${message.guild.memberCount}`, true)
.addField("**Role Count:**", `${message.guild.roles.size}`, true)
.setTimestamp()
.setFooter(`SiegeBot | Created by @IllegalDiscord#9209 `, bot.user.displayAvatarURL);
message.channel.send({
embed: sEmbed
});
}
if (command === `${prefix}userinfo`) {
message.delete()
let sEmbed = new Discord.RichEmbed()
.setColor(colours.green_light)
.setTitle("User Info")
.setThumbnail(message.guild.iconURL)
.setAuthor(`${message.author.username} Info`, message.author.displayAvatarURL)
.addField("**Username:**", `${message.author.username}`, true)
.addField("**Discriminator:**", `${message.author.discriminator}`, true)
.addField("**ID:**", `${message.author.id}`, true)
.addField("**Status:**", `${message.author.presence.status}`, true)
.addField("**Created at:**", `${message.author.createdAt}`, true)
.setFooter(`SiegeBot | Created by @IllegalDiscord#9209 `, bot.user.displayAvatarURL);
message.channel.send({
embed: sEmbed
});
}
})
const prefix = "!";
bot.on("message", (message) => {
msg = message.content.toLowerCase();
if (message.author.bot) return;
mention = message.mentions.users.first();
if (msg.startsWith(prefix + "send")) {
if (mention == null) {
return;
}
message.delete();
mentionMessage = message.content.slice(10);
mention.sendMessage(mentionMessage);
message.channel.send("Message Sent!");
}
})
bot.on('message', msg => {
let args = msg.content.substring(prefix.length).split(" ");
switch (args[0]) {
case 'activity':
msg.delete()
if (!msg.member.roles.some(r => ["Founder", "Moderator", "Admin", "Owner"].includes(r.name))) return msg.reply("You do not have the permission to do this!"); // if author has no perms
var presanceactivity = 9
var presancereason = msg.content.substring(presanceactivity).split(" ");
var presancereason = presancereason.join(" ");
if (!presancereason) return msg.reply("Please indicate a reason for the presence change!")
bot.user.setPresence({
status: 'online',
game: {
name: presancereason
}
})
.catch(error => msg.reply(`Sorry @${msg.author} I couldn't change my status because of : ${error}`)); //if error, display error
msg.reply(`My presence was changed to: ${presancereason} by ` + msg.author);
}
})
bot.on("message", async message => {
const bannedWords = ["discord.gg"]
try {
if (bannedWords.some(word => message.content.toLowerCase().includes(word))) {
if (message.author.id === message.guild.ownerID) return;
await message.delete();
await message.reply("You cannot send invites in this Discord server");
}
} catch (e) {
console.log(e);
}
});
bot.on("message", message => {
let msg = message.content.toUpperCase();
let sender = message.author;
let cont = message.content.slice(prefix.length).split(" ")
let args = cont.slice(1);
if (msg.startsWith(prefix + 'PURGE')) {
async function purge() {
message.delete();
if (!message.member.roles.find("Admin", "Owner")) {
message.reply('You don't have permission to do this!')
return;
}
if (isNaN(args[0])) {
message.reply('Please provide a number!')
return;
}
const fetched = await message.channel.fetchedMessages({
limit: args[0]
});
console.log(fetched.size + ' messages found, deleting...');
message.channel.bulkDelete(fetched)
.catch(error => message.reply(`Error: ${error}`));
}
}
})
bot.login(botconfig.token);
Пожалуйста, ответьте как можно скорее, так как мне нужно, чтобы этот бот был готов и его возрасты достигли этой точки, и я до сих пор не могу заставить работать команду очистки. Как вы можете видеть, там есть команда очистки, но она не работает. Кто-нибудь может сказать почему?