Базовое использование
![]()
Изучите основы использования бота Discord Переводчик, включая установку, права доступа, префикс по умолчанию, структуру команды и список разделов справки.
Установка
Следуйте инструкции, чтобы установить бота на Ваш сервер Discord:
- Нажмите на ссылку для установки
- Выберите нужный сервер Discord из списка (необходимо иметь возможность приглашать)
- Авторизируйте бота, чтобы он присоединился к серверу с необходимыми правами доступа
- Напишите команду -t help , чтобы получить инструкцию в Discord
Бот должен иметь правильные права доступа на всех соответствующих каналах для полной функциональности. Минимальные требования для этого бота:
| Право доступа | Описание |
|---|---|
| Видеть текстовые и голосовые каналы | Бот не работает без возможности видеть каналы и читать сообщения. Эти права доступа необходимы для обработки команды и автоматизированных задач. |
| Отправлять сообщения | Бот должен иметь возможность писать в каналах сервера, чтобы отвечать на команды и автоматизированные команды |
| Встраивать ссылки | Бот отправляет сообщения в специальном формате, называемом RichEmbed, который похож на предпросмотр ссылок в Discord. Он также показывает ссылки на официальный вебсайт и вики для справки. |
| Читать историю сообщений | Боту нужен доступ к истории сообщений для перевода старых сообщений при помощи реакций эмодзи флагами, а также для синхронизации изменений/удалений. |
| Управлять сообщениями | Это право доступа необходимо для синхронизации изменений и удалений оригинального и переведенного сообщений. Также требуется для возможности автоудаления команд. |
| Прикреплять файлы | Это не обязательное право доступа, которое позволяет боту пересылать пользовательские вложения в автопереводимых каналах. |
| Управление ролями | Это необходим лишь если Вы хотите автоматически переводить или банить пользователей, не присваивая вручную им роли автоперевод или не переводить . |
| Управление вебхуками | Это не обязательно и необходимо для включения стиля Вебхук — инновационную интеграцию вебхука, для вывода перевода в чистом формате (без аватара и имени бота). |
Префикс по умолчанию
| Префикс | Описание | Настройка |
|---|---|---|
| -t | Короткий префикс по умолчанию | Проверить настройки префикса |
| -translate | Полный префикс по умолчанию | — |
| @Translator | Упоминание бота | Изменить никнейм бота |
| @Translator#2653 | Полное упоминание бота | — |
Структура команд
префикс + главная команда + параметры
-translate help custom
или
-t help custom
или
@Translator help custom
Получить помощь в Discord
-translate help
-translate help custom
-translate help react
-translate help auto
-translate help user
-translate help bots
-translate help settings
-translate help misc
-translate help detect
Предложить функционал или сообщить об ошибке
Пожалуйста, присоединитесь к официальному серверу Discord, чтобы сообщить об ошибках или обсудить новый функционал/улучшение с сообществом.
Вопрос насчет префикса discord.js?
Приветствую, я хочу сделать так, чтобы мой бот реагировал на различные префиксы. Допустим сейчас у меня стоит префикс «Бот«, но я хочу чтобы он реагировал еще и на префиксы: «ботик», «бот,».
То что я писал в конфиге бота, а конкретно:
«prefix»: [ «Бот», «ботик», «ботяра», «бот,» ] — это не помогло, бот перестал реагировать на изначальный префикс «Бот».
Вот то, для чего я пытаюсь влепить новые префиксы:
bot.on(«message», (message) => if (message.content.startsWith(prefix)) message.reply(botChoice[Math.floor(Math.random() * botChoice.length)]);
>
Надеюсь кто-нибудь знает ответ на мой вопрос 🙂
- Вопрос задан более трёх лет назад
- 5045 просмотров
Комментировать
Решения вопроса 1
Stockholm Syndrome @StockholmSyndrome
const prefixes = [ "Бот", "ботик", "ботяра", "бот," ]; bot.on("message", (message) => < if (prefixes.some((prefix) =>message.content.startsWith(prefix))) < message.reply(botChoice[Math.floor(Math.random() * botChoice.length)]); >>);
Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- JavaScript
- +1 ещё
Как создать сервис для сбора цен и записи в базу данных?
- 1 подписчик
- 10 часов назад
- 49 просмотров
Discord bots — как искать, пользоваться
Если вы начали искать ботов для дискорда, значит, вы уже уверенный пользователь этого программного обеспечения и пытаетесь разобраться, какие боты для Дискорда вам необходимы. Многие роботы упрощают или облегчают активность в каналах, остается только подобрать нужного помощника из большого списка предлагаемых нам на просторах интернета.
Поиски и выбор бота
Для начала нужно разобраться и понять, что такое бот, для чего они нужны. Бот это робот, программа, помощник, выполняющий работу, действие, которое нам лень осуществлять, говоря простым и понятным языком.
В Discord помощники занимаются проигрыванием музыки, сбором новостей, фильтрацией и удалением спама, который может попадать на каналы. Они устанавливаются со стороннего сайта, где можно найти их на любой «цвет и вкус». Достаточно набрать в поиске «Discord bots» и система вам предложит наиболее популярные варианты.
Порядок установки и работы с ботом
- Для установки помощника, установите программу дискорд, в которую потом его внедрите;
- Найдите в интернете наиболее популярные и нужные вам программы-исполнители (боты);

- Это могут быть: музыкальные, новостные, удаляющие спам или просто поддерживающие беседу, прочитайте его возможности;

- На сайте с ботами можно почитать его предназначение, функционал, список команд, обязательно обратите внимание на префикс бота и его команды;

- Каждый исполнитель наделен отдельным префиксом и списком команд, после установки можете их у него запросить;

- Найдя необходимый, нажимайте на кнопку добавить на сервер (Add to server), напоминаю, изучите команды, особенно префикс бота;

- Нажав на кнопку, вам будет предложено выбрать сервер, куда необходимо его добавить;

- Выбирайте сервер, куда вы хотите встроить бота;

- После вам подскажет дискорд, что робот уже на сервере;

- Заходите на сервер, и вы увидите, что он уже там.

Работа с ботом
- Попытайтесь задать ему какое-либо действие, не забудьте написать префикс бота перед введением команды;

- Чтобы узнать возможности помощника, как правило, есть команда Help, впереди которой необходимо вписать префикс бота;

- Если вы наберете префикс и хелп, придет личное сообщение от него со списком возможных действий;

- Изучив список, поймете, по какому принципу работает бот;

- Вернитесь на свой сервер, куда устанавливали робота и попробуйте задать ему порядок его действий через изученные команды;

- Также боту можно задать роль, щелкнув на нем правой кнопки мыши и выбрав в появившемся меню, пункт «задать роль»;

- Робот очень удобная и приятная опция, которая может делать большой объем работы за вас.
Заключение
Разнообразие помощников настолько велико, что можно выбирать очень долго. Рекомендую сразу определиться, для какой цели вам он нужен, и какую роль он будет выполнять на вашем сервере. Только после этого следует начинать его поиски, вычитывая функционал, устанавливать его на свой сервер.
Discord bot на Js | самый информативный гайд | Discord Js 12
Так-же увы, но я не буду объяснять, как создать бота и установить node.js, моя цель показать вам функционал discord.js, а не то, как делаются базовые действия бота.
Создаём папку скажем. на рабочем столе, и называем её любым названием, например это будет имя нашего бота! у меня это бот Pixi (Все права защищены, за использование названия вас приведут к ответственности!)
И так, для начала установим библиотеки!
npm i discord.js node-fetch
Далее после установки данных библиотек мы можем приступить к формулировке проекта!
Для этого в консоль пишем:
npm init
Далее мы просто нажимаем enter, хотя можно ещё заполнить последнее поле.. Это автор! Указываем ваше имя на Английском.
Далее создаём файл config.json, index.js, и в файл config.json пишем:
И меняем на свои значения, префикс — это начальная точка команды, например $help, где $ выступает префиксом, а токен — это циферки и буквы которые можно получить в настройках бота), так-же токен никому нельзя говорить, иначе вашим ботом смогут управлять другие!
Далее в файле index.js пишем:
const Discord = require('discord.js') const fs = require('fs') // подключаем fs к файлу const client = new Discord.Client() const config = require('./config.json') const fetch = require('node-fetch') client.commands = new Discord.Collection() // создаём коллекцию для команд fs.readdir('./commands', (err, files) => < // чтение файлов в папке commands if (err) console.log(err) let jsfile = files.filter(f =>f.split('.').pop() === 'js') // файлы не имеющие расширение .js игнорируются if (jsfile.length команд`) jsfile.forEach((f, i) => < // добавляем каждый файл в коллекцию команд let props = require(`./commands/$`) client.commands.set(props.help.name, props) >) >) client.on('ready', () => < console.log(`Бот $запустился`); >) client.on('message', message => < let prefix = config.prefix if (!message.content.startsWith(prefix) || message.author.bot) return; let messageArray = message.content.split(' ') // разделение пробелами let command = messageArray[0] // команда после префикса let args = messageArray.slice(1) // аргументы после команды let command_file = client.commands.get(command.slice(prefix.length)) // получение команды из коллекции if (command_file) command_file.run(client, message, args, prefix) >) client.login(config.token)
Что мы сделали можно посмотреть в подсказках, а теперь расскажу зачем нужна эта коллекция команд!
Дело в том, что по факту можно писать команды в client.on(‘message’, message => <>, но это не правильно и именно по этому мы создаём коллекцию команд и делаем следующие действия.
После этого создаём в папке с нашим ботом ещё одну папку — commands, в этой папке и буду хранится все наши команды!
И так, давайте создадим первую команду!
Пускай это будет.. команда hi, бот будет отвечать нам привет!
И так. Создаём файл hi.js и пишем в него следующее:
const Discord = module.require("discord.js"); const fs = require("fs"); module.exports.run = async (client,message,args,prefix) => < const exampleEmbed = new Discord.MessageEmbed() // Создаём наш эмбэд .setColor('#43e2f7') // Цвет нашего сообщения .setTitle('Приветик :>') // Название эмбэд сообщения .setAuthor(message.guild.name) // Автором будет название сервера .setDescription(':^Мы любим вас!^:') // комментарий .setTimestamp() // Дата отправки сообщения .setFooter('Ваш бот Bot © 2021''); message.channel.send(exampleEmbed); // Отправляем сообщение >; module.exports.help = < name: "hi" // Название команды >;
Дальше запускаем бота (Переходим в консоль и идём через неё в папку с ботом и пишем node index.js) и видим.
Хорошо, у нас получилось!
Давайте.. Сделаем пинг! (Бот будет отправлять нам задержку к отправки сообщения в миллисекундах)
В папке commands создаём ещё один файл (ping.js) и там пишем:
const Discord = module.require("discord.js"); const fs = require("fs"); module.exports.run = async (client,message,args,prefix) => < const ping = new Date(message.createdTimestamp); const timeTaken = Date.now() - message.createdTimestamp; message.channel.send(`Пинг: $ms`); >; module.exports.help = < name: "ping" >;
Далее я хочу научить вас работать с рандомными изображениями и гифками, ну и эффектами :3
Создаём файл fox.js и пишем в него следующее:
const Discord = require('discord.js') // подключение discord.js к файлу const fetch = require('node-fetch') module.exports.run = (client, message, args) => < let res = fetch('https://some-random-api.ml/img/fox') //Извлекаем json от сайта .then(res =>res.json()) // Просматриваем текст .then(json => < const embed = new Discord.MessageEmbed() .setColor("RANDOM") .setTitle(`$, лисички :)`) .setImage(json.link) // Ставим лисичку картинкой! message.channel.send(embed); // Отсылаем сообщение >); > module.exports.help = < name: 'fox' // название команды >
Вы сможете сделать больше рандомных картинок зная сайт. Так вот!
Нажимаем например на картинку котика и пишет этот-же код, но вставляем вместо https://some-random-api.ml/img/fox -> https://some-random-api.ml/img/cat/ , а ещё меняем название команды и файла на cat.js / cat
Далее поговорим про эффекты, это будет экран wasted на аватарке пользователя дискорд!
Создаём файл wasted.js ( Вы уже знаете где) )
const Discord = module.require("discord.js"); const fetch = require('node-fetch') const fs = require("fs"); module.exports.run = async (client,message,args) => < if (!message.mentions.users.size) < // если написано $wasted, то показываем аватарку автора сообщения let link = `https://some-random-api.ml/canvas/wasted/?avatar=$)>` // Считываем эффект и говорим что картинка для эффекта - аватарка const attachmentt = new Discord.MessageAttachment(link, 'triggered.gif'); const embed = new Discord.MessageEmbed() .setTitle(`$ ПОТРАЧЕНО!`) .attachFiles(attachmentt) .setImage('attachment://triggered.gif') return message.channel.send(embed); > const WastedList = message.mentions.users.map(user => < // Если написали $wasted @test, то показываем триггер аватарки пользователя test let link = `https://some-random-api.ml/canvas/wasted/?avatar=$)>` const attachmentt = new Discord.MessageAttachment(link, 'triggered.gif'); const embed = new Discord.MessageEmbed() .setTitle(`$ ПОТРАЧЕНО!`) .attachFiles(attachmentt) .setImage('attachment://triggered.gif') return embed >); message.channel.send(WastedList); return >; module.exports.help = < name: "wasted" >;
Теперь сделаем команду say, бот будет удалять команду пользователя и напишет то что написано собственно после самой команды! Пример: $say Привет *Сообщение удалено * И бот пишет — Привет!
В файл say.js пишем:
// client.channels.cache.get('CHANNEL ID').send('Hello here!') const Discord = module.require("discord.js"); const fs = require("fs"); module.exports.run = async (client,message,args) => < if (message.member.hasPermission('MANAGE_MESSAGES'))< // Делаем проверку, что-бы не все могли использовать эту команду, смогут только те, кто может удалять сообщения на сервере let sms = args.join(" "); // Считываем то, что хотим отправить! message.channel.bulkDelete(1); // Удаляем сообщение с командой message.channel.send(sms); // Отправляем сообщение console.log(`Пользователь $отправил через say: $`); // Пишем в консоль о том, что кто-то написал сообщение через бота) >else < const adminerr2 = new Discord.MessageEmbed() // Если права нет, то пишем это .setColor('#fc5184') .setTitle(`$, вы не имеете прав на эту команду!`) .setAuthor(message.guild.name) .setFooter('Ваш бот bot © 2021') message.channel.send(adminerr2) // Отправка ошибки > >; module.exports.help = < name: "say" >;
И. На этом всё! Спасибо за чтение данной статьи и пока!