Documentation
Создание клиента
var botcord = require("botcord.js");
var client = new botcord.Client();Все события
client.on("ready", () => {
// Бот включился и готов слушать команды
console.log(`Бот ${client.id} онлайн!`);
});var logChannel = ...; // Канал логов, который Вы получили раньше
client.on("serverJoin", ({ server, user }) => {
// Пользователь (user) зашёл на сервер (server)
logChannel.send(`Пользователь ${user.username}#${user.discriminator} (<@${user.id}>) зашёл на сервер ${server.name}.`);
});var logChannel = ...; // Канал логов, который Вы получили раньше
client.on("serverLeave", ({ server, user }) => {
// Пользователь (user) вышел с сервера (server)
logChannel.send(`Пользователь ${user.username}#${user.discriminator} (<@${user.id}>) вышел с сервера ${server.name}.`);
});client.on("message", message => {
// Пришло новое сообщение (message)
});client.on("messageEdit", message => {
// Сообщение (message) было отредактировано, в переменной находится уже новое
});client.on("messageDelete", messageId => {
// Сообщение с ID (messageId) было удалено
});client.on("channelCreate", ({ server, channel }) => {
// На сервере (server) был создан новый канал (channel)
});client.on("channelEdit", ({ server, oldChannel, newChannel }) => {
// На сервере (server) был создан изменён канал (oldChannel), его новая версия - newChannel
});client.on("channelDelete", ({ server, channel }) => {
// На сервере (server) был создан удалён канал (channel)
});client.on("roleCreate", ({ server, role}) => {
// На сервере (server) была создана новая роль (role)
});client.on("roleEdit", ({ server, role }) => {
// На сервере (server) была изменена роль (role), этот объект - уже новая версия
});client.on("roleDelete", ({ server, role }) => {
// На сервере (server) была удалена роль (role), в данном случае role - это лишь ID
});client.on("serverBan", ({ server, user }) => {
// На сервере (server) был забанен пользователь (user)
});client.on("serverUnban", ({ server, user }) => {
// На сервере (server) был разбанен пользователь (user)
});client.on("serverEdit", ({ oldServer, newServer }) => {
// Сервере (oldServer) был изменён, его новая версия - newServer
});client.on("inviteCreate", ({ server, invite }) => {
// На сервере (server) было создано приглашение (invite)
});client.on("inviteDelete", ({ server, invite }) => {
// На сервере (server) было удалено приглашение (invite), в данном случае invite это лишь его код
});client.on("memberEdit", ({ server, member }) => {
// На сервере (server) был изменён участник (member)
// Это может означать выдачу ролей, забирание ролей, изменение никнейма на сервере и другое
});Примеры команд
client.on("message", message => {
if (message.content == "!help") { // Делаем команду !help с ответом
message.reply("Мяу!");
}
});client.on("message", message => {
if (message.content == "!send") { // Команда !send отправляет без ответа
message.channel.send("Мяу!");
}
});client.on("message", message => {
if (message.content == "!delete") {
message.channel.delete(); // Удалить канал при вводе команды
}
});client.on("message", message => {
if (message.content == "!banme") {
message.server.ban(message.user.id, "Сам попросил"); // Баним этого пользователя, причина не обязательна
}
});client.on("message", message => {
if (message.content == "!kickme") {
message.server.kick(message.user.id, "Сам попросил"); // Кикаем этого пользователя с причиной
}
});var lastBan = "1234567891011";
client.on("message", message => {
if (message.content == "!unbanlast") {
message.server.unban(lastBan); // Разбаниваем пользователя по айди из переменной
}
});client.on("message", async message => {
if (message.content == "!timeout") {
await message.member.timeout(604800); // Даём таймаут на неделю (время в секундах)
setTimeout(() => {
message.member.timeout(); // Снимаем таймаут через 30 секунд
}, 30000);
}
});client.on("message", message => {
if (message.content == "!dm") {
message.user.send("Привет!"); // Отправка в ЛС пользователю
}
});client.on("message", async message => {
if (message.content == "!help") {
await message.channel.write(); // Печатаем
setTimeout(() => {
message.reply("Мяу!"); // Отправляем сообщение с ответом через 3 секунды
}, 3000);
}
});client.on("message", async message => {
if (message.content == "!help" && message.channel.isDM()) { // Команда, но для ЛС
await message.channel.write();
setTimeout(() => {
message.reply("Мяу!");
}, 3000);
}
});client.on("message", async message => {
if (message.content == "!help" && !message.channel.isDM()) { // Только для сервера
await message.channel.write();
setTimeout(() => {
message.reply("Мяу!");
}, 3000);
}
});client.on("message", message => {
if (message.files.length == 1) { // Проверка что был отправлен 1 файл
message.reply(`Вы отправили один файл, ссылка на него: ${message.files[0].url}`);
}
});client.on("message", message => {
if (message.files.length == 1 && message.files[0].isImage()) { // Проверка что файл - это картинка
message.reply(`Вы отправили одну картинку!`);
}
});client.on("message", message => {
if (message.repliedMessage) { // Проверка что был ответ
// От сообщения на которое ответили (message.repliedMessage.message) доступен только id и всё!
message.reply(`Вы ответили на сообщение с ID ${message.repliedMessage.message.id}!`);
}
});client.on("message", message => {
if (message.content == "!giverole") {
message.member.roles.give("1234567891011"); // Выдаём роль
}
if (message.content == "!takerole") {
message.member.roles.take("1234567891011"); // Забираем роль
}
if (message.content == "!checkrole") {
if (message.member.roles.has("1234567891011")) { // Проверяем роль
message.reply("У Вас есть эта роль!");
} else {
message.reply("У Вас нету этой роли!");
}
}
});client.on("message", async message => {
if (message.content == "!info") {
var vanityUrl = await message.server.getVanityUrl();
message.reply(`
Текущий сервер: ${message.server.name} (${message.server.id})
Аватарка сервера: https://uso.my/avatars/${message.server.id}/${message.server.icon}.webp?size=4096
Баннер сервера: https://uso.my/banners/${message.server.id}/${message.server.banner}.webp?size=4096
Пользовательская ссылка на сервер: https://uso.my/invite/${vanityUrl.code} (${vanityUrl.uses || 0} использований)
Текущий канал: #${message.channel.name}: (${message.channel.id})
Вы: ${message.user.username}#${message.user.discriminator} (${message.user.id})
Вы бот: ${message.user.bot}
Ваше обо мне: ${message.user.bio}
Ваша аватарка: https://uso.my/avatars/${message.user.id}/${message.user.avatar}.webp?size=4096
Ваш баннер: https://uso.my/banners/${message.user.id}/${message.user.banner}.webp?size=4096
`);
}
});var presets = [
"data:image/png;base64,AAZz0ZzDIWMDdfdfg",
"data:image/png;base64,AAZz0ZzDIWMDdfdfg",
"data:image/png;base64,AAZz0ZzDIWMDdfdfg",
// ...
];
client.on("message", message => {
if (message.content == "!changeavatar") {
client.modifyUser({ // Функция для изменения аватарки (avatar) и баннера (banner) бота
"avatar": presets[Math.floor(Math.random() *presets.length)]
});
}
});client.on("message", async message => {
if (message.content == "!test") {
var msg = await message.reply("Оригинал"); // Сохраняем отправленное сообщение
setTimeout(() => {
msg.edit("Отредактировано"); // Через 3 секунды редактируем его
}, 3e3);
}
});Эмбеды
client.on("message", async message => {
if (message.content == "!help" && !message.channel.isDM()) {
var embed = new botcord.Embed(); // Создание эмбеда
embed.setTitle("Заголовок");
embed.setDescription("Описание");
embed.setColor("#FF0000");
message.reply({
"embeds": [embed]
});
}
});Last updated