GUILD_MESSAGES
:- const client = new Client({ intents: [Intents.FLAGS.GUILDS] });
+ const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] });
message
, используйте messageCreate
:- client.on("message", async message => { ... })
+ client.on("messageCreate", async message => { ... })
client.on("messageCreate", async (message) => {
await message.react("1️⃣"); // >
await message.react("2️⃣"); // > ваши эмодзи
await message.react("3️⃣"); // >
});
чтобы бот реагировал на обычные сообщения, не забудьте добавить интент "GUILD_MESSAGES"const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] });
const client = new Client(
{
intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILD_MESSAGE_REACTIONS],
partials: ['MESSAGE', 'CHANNEL', 'REACTION'],
}
);
// . . . //
client.on("messageReactionAdd", async (reaction, user) => {
if (reaction.partial) {
try {
let fullReactionMessage = await reaction.fetch();
// далее работайте только с fullReactionMessage
} catch (error) {
console.error('Получить сообщение не удалось:', error);
return;
}
} else {
// ... //
}
})
message.guild.members.fetch().then(members => {
members.filter(m => !m.user.bot).forEach(member => {
member.send({
embeds: [ваш_embed]
}).catch(() => {
console.log(`${member.user.tag} сообщение не было доставлено`)
})
})
})
чтобы код выше работал, не забудьте добавить интент GUILD_MEMBERS в код:const client = new Client({ intents: [...другие интенты, Intents.FLAGS.GUILD_MEMBERS] });
https://www.youtube.com/watch?v=...
#t=NhNmNs
https://www.youtube.com/watch?v=...#t=3m4s
if (message.content.startsWith(`${settings.prefix}название_команды1`)) {
/* ... */
} else if (message.content.startsWith(`${settings.prefix}название_команды2`)) {
/* ... */
} // и т.д
(префикс)название_вашей_команды...будет выполняться ваш код.
if (message.content === ...) {
const collector = message.channel.createMessageCollector({
time: 10000
});
let userMessage = [];
collector.on('collect', m => {
if (m.author.id === message.author.id) {
userMessage.push(m.content);
collector.stop();
}
})
collector.on('end', collected => {
if (userMessage.length === 0) return message.reply(`Прошло 10 секунд, попробуйте ещё.`)
// userMessage[0] - контент первого сообщения, отправленного пользователем
});
}