botcord
  • Documentation
Powered by GitBook
On this page

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 6 months ago