if (message.content === prefix + "setChannel") {
message.member.voice.setChannel(message.guild.channels.cache.get("ID_канала"))
}
The ClientUserGuildSettings class has been removed entirely, along with all other user account-only properties and methods.
Класс ClientUserGuildSettings был полностью удален, наряду со всеми другими свойствами и методами, доступными только для учетной записи пользователя.
const Discord = require('discord.js');
const client = new Discord.Client();
client.on('ready', () => {
console.log(`${client.user.tag} запустился!`);
});
client.on('message', msg => {
if (msg.content === 'ping') {
msg.reply('Pong!');
}
});
client.login('token');
message.channel.messages.fetch({
limit: 100 // количество сообщений
}).then(async messages => {
let finalArray = [];
const putInArray = async (data) => finalArray.push(data);
for (const message of messages.array().reverse()) await putInArray(`${message.content}`);
console.log(finalArray); // ['value1', 'value2', 'valueN']
});
limit
. var user = null;
user = message.mentions.members.first() || message.author
message.guild.fetchInvites()
.then
(invites => {
const userInvites = invites.array().filter(o => o.inviter.id === user.id);
var userInviteCount = 0;
for (var i = 0; i < userInvites.length; i++) {
var invite = userInvites[i];
userInviteCount += invite.uses;
}
message.channel.send(`Вы пригласили ${userInviteCount} пользователей на сервер!`);
})
message.channel.messages.fetch("ID_сообщения").then(message => {
. . .
})
client.on("message", message => {
. . .
})
message.channel.send("Сообщение").then(message => {
message.react("реакция")
})
.createDM()
:message.author.createDM().then(dmchannel => { // создали DM для автора сообщения
const collector = new Discord.MessageCollector(dmchannel, m => m.author.id === message.author.id, {
time: 30000
}); // создали коллектор сообщений, с длительностью в 30 секунд
message.author.send("Введите .accept, чтобы подтвердить покупку") // отправили сообщение пользователю в DM (*)
collector.on("collect", m => { // при обнаружении сообщения от пользователя, . . .
if (message.content === ".accept") { // если пользователь ввёл .accept, то . . .
message.author.send("Вы успешно подтвердили покупку!") // (*)
collector.stop() // остановили коллектор сообщений
}
})
})
collector.on("collect", r => . . .)
, вы указываете только один параметр, если бот должен собирать не только реакцию, но и пользователя?.delete()
, отдельно от присланных сообщений? откуда боту знать, какое именно удалить? для таких целей используется .then(message => {
. . .
})
.delete()
в качестве времени, через которое нужно удалить сообщение, указывается { timeout: время_в_миллисекундах }
ReactionAdd
, ReactionRemove
. . .const filter = (reaction, user) => {
return reaction.emoji.name === 'здесь_указываете_нужную_реакцию'
};
const collector = message.createReactionCollector(filter, { time: 15000 });
/*
у данного метода существует несколько других ключевых слов, помимо time,
для более тонкой работы с реакциями.
на простой коллектор - достаточно будет указать время сбора реакций
(в нашем случае - 15 секунд).
*/
collector.on('collect', (reaction, user) => {
// действия, которые произойдут при нажатии пользователя на реакцию.
});
collector.on('end', collected => {
// действия, которые произойдут после остановки коллектора.
});
Возможно ли отправить сообщение на ID канала в дискорд (без использования имени)?
client.channels.cache.get('id_канала').send('сообщение');
.send
также можно заменить на любой другой метод.