#javascript #discord.js
#javascript #discord.js
Вопрос:
Как мне закодировать моего бота discord, чтобы найти количество участников на сервере discord и сохранить его как переменную. Во-вторых, как мне закодировать моего бота discord для удаления сообщений других пользователей при определенном событии (например, если сообщение содержит вульгарное слово) спасибо
Ответ №1:
Чтобы получить количество участников сервера, .memberCount
свойство будет работать
let membercount = message.guild.memberCount
Для удаления нецензурных слов,
if (message.toLowerCase().includes(`poop`) {
message.delete()
message.channel.send(`poop is a swear word`)
}
Ответ №2:
Для первого:
let members = message.guild.members;
Для второго вам следует использовать регулярное выражение:
if (message.content.match(/SwearWord/)) message.delete({ reason: "Swearword" });
Вам просто нужно настроить регулярное выражение swearword. Кроме того, обратите внимание на следующий раз: пожалуйста, предоставьте дополнительную информацию, например, какой-нибудь код, показывающий, что вы уже пробовали.
Ответ №3:
чтобы получить количество участников в гильдии, вы должны получить memberCount
свойство из Guild
. n пример —
const memberCount = message.guild.memberCount
Ответ №4:
Вы можете использовать memberCount
свойство a Guild
, чтобы узнать, сколько у него участников.
Для обнаружения нецензурных слов вы можете использовать includes()
функцию. Пример того, как работает .includes()
функция:
// example message
const message = 'Hello World!'
if (message.includes('Hello'))
console.log('This message includes the word hello');
Если первая строка включает вторую заданную строку, эта функция вернет true
. В противном случае он вернется false
. Это само по себе будет работать нормально, если у вас есть только одно ругательство для обнаружения, но есть более эффективный метод, если их несколько.
// another example message
const message = 'My name is John. I like baking, dancing, and playing Mario.';
// now, create an array of every swear word you'd like to avoid
// make sure they're in lower case!
const array = ['baking', 'dancing', 'playing'];
var foundInText = false;
// here's the fun part. create a loop iterating through every element in your
// blacklisted word array
for (word of array) {
// if one of the words is included in the message,
// flip the `foundInText` variable to true!
if (message.toLowerCase().includes(word)) {
foundInText = true;
break; // break out of the loop, a word was found
};
};
// if a word was found...
if (foundInText) {
// you can do whatever you want here
// including deleting the message,
// sending a warning...
// whatever you want
console.log('This string has a blacklisted word');
};