Команда say discord js

Обновлено: 03.07.2024

В этой главе предполагается, что вы ознакомились с главой "Начало работы" и код вашего бота скомпилирован. Кроме того, я должен повторить: если вы не понимаете код, который собираетесь увидеть, кодирование бота может быть не для вас. Перейдите в CodeAcademy и изучите Javascript.

В этой главе я проведу вас через разработку простого бота с некоторыми полезными командами. Мы начнем с примера, созданного в первой главе:

Прежде чем мы углубимся в дальнейшее кодирование, нам нужно сначала понять, что такое Event.

Это событие:

В частности, это событие в discord.js, но оно похоже на то, как другие API обрабатывают события. Это событие срабатывает каждый раз, когда бот видит сообщение. Сюда входят все каналы, к которым у бота есть доступ, а также любые прямые или личные сообщения, которые он получает. Если кто-то отправляет 5 сообщений на канал, это событие срабатывает 5 раз.

Почему это важно? Ну, если вы собираетесь использовать своего бота на большом сервере или если вы хотите, чтобы он был на нескольких серверах, это становится большим количеством событий, запускаемых в каждый момент. Я не хочу слишком много говорить об оптимизации, но хочу сказать одно: используйте одну функцию обработки событий для каждого события.

Discord.js содержит большое количество событий, которые могут запускаться в определенных ситуациях. Например, событие готовности срабатывает, когда бот подключается к сети. Событие guildMemberAdd запускается, когда новый пользователь присоединяется к серверу, совместно используемому ботом. Полный список событий см. в разделе События в документации. Мы вернемся к некоторым из них позже в этой главе.

Одна из первых полезных вещей, которую вы, возможно, захотите узнать, — это как добавить вторую команду вашему боту. Хотя есть способы лучше, чем те, которые я собираюсь вам показать, пока этого будет достаточно.

С этого момента я буду опускать код, который требует и инициирует discord.js, и сосредоточусь на конкретных частях кода.

Сохраните код и перезапустите бота. Для этого используйте CTRL+C в командной строке и повторно запустите node index.js. Да, есть лучшие способы перезагрузить код, как вы увидите далее в этой книге.

Вы можете протестировать свою новую команду, сказав foo в канале, которым вы делитесь с ботом. Вы также можете подтвердить, что ping по-прежнему возвращает pong !

Вы могли заметить, что многие боты реагируют на команды с префиксом. Это может быть восклицательный знак (!), точка (.), вопросительный знак (?) или другой символ, но с введением косой черты настоятельно не рекомендуется использовать / . Но это полезно по двум причинам.

Во-первых, если вы не используете уникальный префикс и имеете более одного бота на сервере, оба будут отвечать на одни и те же команды. На серверах разработчиков ввод !help приводит к потоку ответов и личных сообщений, чего следует избегать.

Во-вторых, в приведенном выше примере мы отвечаем, когда сообщение начинается с трех символов foo . В его текущем состоянии это означает, что следующее предложение вызовет ответ бота: дурак, ты еще не слышал обо мне в последний раз!. Да, это странный пример, но он все еще актуален — скажите это на канале вашего бота, и он ответит.

Чтобы обойти это, мы будем использовать префикс, который будем хранить в переменной. Таким образом мы получаем префикс, а также возможность менять его для всех команд в одном месте. Вот пример кода, который это делает:

Изменения в коде по-прежнему просты. Давайте пройдемся по ним:

  • константный префикс = "!"; определяет префикс как восклицательный знак. Конечно, вы можете изменить его на что-то другое.
  • Строка if (!message.content.startsWith(prefix)) return; это небольшая оптимизация, которая гласит: «Если сообщение не начинается с моего префикса, прекратите то, что вы делаете». Это предотвратит работу остальных функций, благодаря чему ваш бот станет быстрее и быстрее откликнется.
  • Команды изменились, поэтому используйте этот префикс, при котором startWith(\ $ping`) будет запускаться только тогда, когда сообщение начинается с !ping`.

Второй момент так же важен, как наличие одного обработчика событий messageCreate. Допустим, бот получает сотню сообщений каждую минуту (не большое преувеличение для популярных ботов). Если функция не обрывается в начале, вы обрабатываете эти сотни сообщений в каждом из ваших условий команды. Если, с другой стороны, вы обрываете, когда префикса нет, вы экономите все эти циклы процессора для лучших вещей. Если команды составляют 1 % ваших сообщений, вы экономите 99 % вычислительной мощности.

Хорошо, извините, я немного вру. Это не 99%, это преувеличение. Однако правда, что вы значительно экономите на мощности процессора и оперативной памяти.

Мы почти закончили с базовым ботом. И последнее, о чем я хочу поговорить: боты отвечают друг другу. Давайте на мгновение представим, что у вас есть два бота на вашем сервере, и каждый из них может ответить на одну и ту же команду с префиксом !помощь . Но когда эта команда вызывается, она отвечает: !help команды: введите !help, а затем один из следующих, чтобы увидеть подробности: ping , foo .

Теперь один человек набирает !help в канале, и оба бота отвечают. Но они также увидят, как другой бот произносит команды !help: [. ] , увидят это как просьбу о помощи, ответят друг другу. в бесконечном цикле. Чтобы этого не произошло, мы можем добавить второе условие в наш обработчик события сообщения, прямо под тем, которое проверяет префикс:

Это условие содержит оператор ИЛИ ( || ), который выглядит следующим образом:

Если префикс отсутствует или автор этого сообщения — бот, остановить обработку. Это включает и самого бота.

И теперь у нас есть бот, который реагирует только на 2 команды и не тратит силы на то, чтобы понять что-то еще. Это полноценный базовый бот? Конечно! Итак, давайте закончим эту страницу здесь, а затем мы рассмотрим некоторые новые концепции.

Полный код бота теперь будет таким:

Каждый раз, когда я вижу этот SuperSecretBotTokenHere , я немного съеживаюсь. Видите ли, не рекомендуется иметь токены и элементы аутентификации в вашем коде, это действительно должно быть в отдельном файле! Перейдите к разделу Добавление файла конфигурации, и давайте сделаем это.


независимо от Undefined on 14 января 2021 г. Пожертвовать комментарий


javascript от Lime, 21 июня 2020 г. Комментарий

Любые ответы, связанные с «discord.js say command»

  • Кик-команды discord.js
  • Как создать команду, которая получает атрибуты в Discord в js
  • discord.js кикнуть пользователя
  • discord.js сказать команду встроить
  • Бот произносит команду discord.js
  • команда discordjs сказать
  • причина discord.js
  • команда отключения звука discord.js v12
  • discord.js как выгнать пользователя
  • команда discord js kick
  • упоминание discord js

Любые запросы, связанные с «discord.js say command»

  • команда discord.js сказать
  • полный бот discord.js
  • задержка ботов discord js
  • команда ping discord.js
  • задержка бота discord.js
  • пример бота discord.js v12
  • простой бот discord.js с командами
  • команды ping discord js github
  • примеры дискорд-ботов
  • index.js сообщение
  • Бот discord go -golang
  • бесплатно закодировать бота Discord на js
  • пример бота discord js
  • задержка discord.js
  • команда discord js ping для бота
  • стартовый код discord.js
  • информация о ботах для разногласий по javascript
  • пример команды Discord бота
  • зачем помещать ./../folder/ в discord.js
  • простой код бота discord.js
  • discord js получить имя бота
  • discord.js bot github 10 команд
  • создать /commands discord.js
  • как проверить, находится ли ваш бот в сети discord js
  • задержка бота discord.js
  • discord.js message.createdtimestamp
  • пример кода бота для разногласий
  • команды математического бота discord.js v 11.6.4
  • кодирует дискорд-бота
  • настройки бота discord.js
  • как создать обработчик команд с префиксом discord.js
  • сообщение бота управления ботом discord js
  • команды бота index.js
  • информация о ботах javascript discord
  • discord.js отправляет та же команда
  • как узнать задержку бота в discord.js
  • каталог discord nodejs
  • как читать команды в другом файле в discord js
  • как получить задержку бота в discord.js
  • получить данные о задержке ботов
  • задержка бота discord.js
  • расширенный обработчик команд discord.js
  • Бот discord.js github 10commands
  • выполнять команды из другого файла discord.js
  • многошаговые команды discordjs
  • основные файлы Discord-бота
  • создать файл bot.js через командную строку
  • client.ws.ping discord.js
  • код для бота для поиска указанной работы discord.js 12
  • фрагмент discord js для входа с токеном
  • полный код Discord-бота
  • команда discordjs ping
  • discordjs v1.12.0, на скольких серверах находится бот]
  • команда ping discord js
  • discord.js пинг мс
  • команда удаления discord.js
  • задержка API discord.js
  • discord читать текст вслух
  • команда discordjs сказать
  • преобразование текста в речь для голосового чата Discord
  • как получить голосовой ИИ в раздоре
  • включить tts в раздоре
  • скажи дискорд
  • командный бот Discord Say
  • как получить реальный пинг в боте discord.js
  • получить пинг js для бота
  • идеальный бот discord.js
  • бесплатный шаблон бота discord.js
  • как я могу заставить бота делать что-то на каждом сервере в discord.js
  • получить клиент Discord из обычного скрипта js
  • bot.on('сообщение', (msg) =><>)
  • discord.js сервер бота
  • Бот discord.js произносит команду
  • как заставить discord.js пинговать кого-то
  • простой бот discord.js
  • discord js запускает код, когда бот присоединяется
  • пример бота discord js node версии 12
  • discord js вызывает бота$
  • произнести сообщение без Discord JS
  • discord.js пингует моих ботов
  • node discordjs требует файл
  • бот для разногласий index.js
  • бесплатная игра discord.js
  • пример бота для дискорда
  • базовый бот discord.js
  • пример кода бота для разногласий
  • информация о боте discord.js
  • как заставить Discord-бота говорить, что вы печатаете
  • как сделать команду сказать discord.js
  • базовый бот discord js
  • консольные команды Discord-бота
  • пример бота discord js
  • скрипт бота в дискорде
  • Формат файла index.js для Discord-бота
  • discord bot js как выполнять команды с помощью терминала
  • как получить голос искусственного интеллекта в голосовом чате Discord
  • сообщение index.js
  • discord tts сообщения
  • токен бота discord js
  • код бота discord.js
  • пример бота discord.hjs
  • пингование API Discord
  • кава-команды discord.js
  • пинг discord.js
  • сервер github приветствует discord.js
  • discord.js bot.on
  • файлы бота разногласий
  • discord.js получает доступ к клиенту из другого файла
  • Бот Discord JavaScript запускает discord.js
  • сообщение с discord.js на github
  • токен бота discordjs 12
  • запустить Discord js
  • пример бота для разногласий index.js
  • скрипт для бота в дискорде
  • выполнить дискорд .js
  • скрипты ботов JavaScript
  • псевдонимы discord.js не сохраняются на карте
  • папка доступа к discord.js
  • как получить задержку ботов разногласий discord.js
  • discord.js меняет имя файла index.js
  • Руководство по команде ping
  • как получить задержку бота discord.js
  • discord.js bot.ms
  • dicord.js содержит число вроде 1 000 000
  • как создавать команды discord.js
  • команда, обслуживающая пользователя discord js
  • средняя загрузка discord.js
  • как закодировать команды загрузки для Discord-бота
  • получить данные о задержке ботов в discord.js
  • базовый дискорд-бот
  • discord.js пингует ботов
  • пингование API Discord
  • Бот для проверки связи discord.js
  • задержка разногласия js
  • пинговать Discord API
  • discord.js v12 получает пинг
  • discordjs 11 простая команда
  • команда ping discord.js
  • разногласия по ттс
  • как заставить Discord-бота читать вслух то, что вы печатаете
  • аудио в дискорде
  • как создать команду /say discord
  • команда tts в разногласиях
  • произнести код команды discord
  • команды Discord произносят сообщение
  • как заставить бота сказать, что это неправильная команда
  • message.createdtimestamp
  • discordbot отправил ping
  • как сделать команду dm без ping discord.js
  • команда бота discord discord.js
  • bot.on("сообщение")
  • bot.on('сообщение'
  • могу ли я сделать так, чтобы при использовании команды ping на другом сервере говорилось что-то вроде команды ping, выполненной discord.js
  • простой код бота Discord js
  • базовый код Discord-бота
  • сообщение о присоединении к конфигурации discord.js
  • как заставить бота discord.js пинговать сеть через 3 минуты github
  • получение сообщения discord.js туда и обратно
  • вызов бота discord js
  • токен discord.js
  • стартовый бот discord.js
  • код бота в дискорде
  • скажите команду discord.js
  • бесплатные коды для ботов Discord
  • сказать команду discord
  • простой бот discord.js
  • пропинговать discord.js v12
  • бот. вс. пинг
  • отличная консоль запуска discord.js
  • бот по команде готовности
  • задержка команды ping discord.js туда и обратно
  • discord.js, как вернуться к файлу
  • Пинг discord.js не работает
  • команда игры для бота discord js
  • как преобразовать текст в речь в голосовом чате Discord
  • пример бота discord.js
  • задержка discord.js
  • загрузить другой файл js discord.js
  • полный бот Discord js
  • отметка времени создания discord.js
  • простой бот discord js
  • как заставить чат говорить в раздоре
  • бот Discord произносит команду
  • команды бота index.js
  • как узнать задержку бота в discord.js
  • полный файл discord.js
  • обслуживание пользователей discord js
  • discord.js получает доступ к константе клиента из другого файла
  • базовый бот Discord js
  • command.execute discord.js
  • команды discord.js
  • как получить задержку в discord.js
  • пример бота с командой index.js
  • discord.js как писать от бота
  • простой командный бот Discord
  • простой обработчик команд discord.js
  • discord.js получает задержку бота
  • Подкоманда discord.js
  • задержка ботов discord js
  • Бот с задержкой discord.js
  • получить задержку бота в discord.js
  • как получить задержку Discord js
  • команда задержки в discord.js
  • скажите discord.js
  • пример бота discord.js
  • как проверить задержку бота в discord.js
  • каталог discord.js
  • discord.js получает количество пингов
  • преобразовать речь в текст
  • пропинговать дискорд js
  • сообщения ping discord.js
  • discord js, как получить задержку бота
  • discord.js обнаруживает пинг
  • команда ping discord.js v12
  • шаблон бота discord js 12
  • команда удаления discord.js
  • команда discord js bab
  • как сделать звук тт в дискорде
  • включить дискорд tts
  • как сделать голосовое сообщение разногласия
  • как делать tts-сообщения в разногласиях
  • как заставить бота в дискорде говорить
  • команда discord для произнесения сообщений
  • сказать команду Discord бот
  • пример бота discord.js
  • простой однофайловый бот discord js
  • проверка кода discord.js
  • базовый бот discord.js
  • имя бот-сервера discord js
  • как проверить код ботов
  • команда index.js discord.js
  • discord.js получает сервер бота
  • проверьте, работает ли токен бота discord.js
  • получить пинг discordjs
  • индекс discord.js
  • discord.js bot.once
  • файлы бота discord js
  • пример бота discord js node версии 14
  • бот находится на серверах discord js
  • API-бот пингует discord.js
  • discord js, как получить исходный код бота

Зарегистрируйтесь, чтобы голосовать и добавлять примеры кода. Присоединяйтесь к нашему сообществу разработчиков, чтобы улучшить свои навыки разработки и программировать как босс!

Помогите нам улучшить наши примеры кода, зарегистрировавшись, чтобы проголосовать и добавить ответы. Присоединяйтесь к нашему сообществу разработчиков, чтобы улучшить свои навыки разработки и программировать как босс!


Продолжая, я подтверждаю, что прочитал и согласен с Условиями использования и Политикой конфиденциальности Greppers.


независимо от Undefined on 14 января 2021 г. Пожертвовать комментарий

Любые ответы, связанные с «discordjs say command»

  • стартовый код discord.js
  • Кик-команды discord.js
  • Как создать команду, которая получает атрибуты в Discord в js
  • discord.js кикнуть пользователя
  • discord.js сказать команду встроить
  • Бот произносит команду discord.js
  • Этот командный сервер discord.js
  • discord.js как выгнать пользователя
  • как сделать команду discord.js 8 ball
  • команда discord js kick
  • команда discord.js сказать

Любые запросы, связанные с «discordjs say command»

  • команда discord.js сказать
  • скажите команду discord.js
  • бот Discord произносит команду
  • включить tts в раздоре
  • команда discord для произнесения сообщений
  • сказать команду Discord бот
  • как заставить бота в дискорде говорить
  • как сделать звук тт в дискорде
  • как сделать голосовое сообщение разногласия
  • включить дискорд tts
  • как создать команду /say discord
  • сказать команду discord
  • как преобразовать текст в речь в голосовом чате Discord
  • discord tts сообщения
  • команда tts в разногласиях
  • скажи дискорд
  • командный бот Discord Say
  • аудио в дискорде
  • как делать tts-сообщения в разногласиях
  • как заставить Discord-бота читать вслух то, что вы печатаете
  • разногласия по ттс
  • как заставить Discord-бота говорить, что вы печатаете
  • как заставить чат говорить в раздоре
  • как получить голос искусственного интеллекта в голосовом чате Discord
  • преобразовать речь в текст
  • произнести код команды discord
  • команды Discord произносят сообщение
  • как получить голосовой ИИ в раздоре
  • преобразование текста в речь для голосового чата Discord
  • команда discordjs сказать
  • discord читать текст вслух

Зарегистрируйтесь, чтобы голосовать и добавлять примеры кода. Присоединяйтесь к нашему сообществу разработчиков, чтобы улучшить свои навыки разработки и программировать как босс!

Помогите нам улучшить наши примеры кода, зарегистрировавшись, чтобы проголосовать и добавить ответы.Присоединяйтесь к нашему сообществу разработчиков, чтобы улучшить свои навыки разработки и программировать как босс!


Продолжая, я подтверждаю, что прочитал и согласен с Условиями использования и Политикой конфиденциальности Greppers.

Далее приступим

Шаг 1. Настройка проекта

Создайте новую папку (убедитесь, что в имени папки нет пробелов) в вашей системе и откройте командную строку или Power Shell в папке.

Выполните команду npm init и заполните форму. Если вы не знаете, что делаете, оставьте все по умолчанию и введите свое имя, когда оно запросит автор .

После этого вы увидите новый файл с именем package.json в вашей папке.

Теперь используйте следующую команду для установки необходимых библиотек

Теперь вы увидите новую папку с именем node-modules в папке вашего бота, и вы готовы приступить к программированию бота.

Шаг 2. Запись файла index.js

Создайте новый файл в папке вашего бота с именем index.js и откройте его в своем любимом текстовом редакторе.

Теперь напишите следующий код в начале файла index.js.

Эти строки импортируют необходимые библиотеки для использования.

Далее напишите следующий код

Это создаст объект CommandoClient , который является расширением класса discord.js.Client , и установит владельцем бота себя, чтобы вы могли используйте только команды владельца, встроенные в Commando.

Теперь мы импортируем команды по умолчанию для нашего бота.

Теперь давайте создадим обработчик, который отображает сообщение в консоли, когда бот вошел в систему и готов к использованию.

Затем настройте поставщика настроек. Commando поставляется со встроенным поставщиком настроек sqlite, чтобы команды по умолчанию, такие как префикс , работали правильно.

В последнюю очередь войдите в бота

Проверка значений по умолчанию

Запустите бота с помощью команды node index в консоли.

Через некоторое время вы увидите сообщение, похожее на это: -

Вы также увидите, что ваш бот подключается к сети, поэтому его можно проверить.

Используйте команду справки, в моем случае это ==help

В ваших личных сообщениях отображается что-то вроде этого: -

Подробнее

группы: команды в боте-коммандос сгруппированы по категориям. команда group может быть использована для перечисления этих категорий.

включить/отключить: платформа Commando имеет встроенную функцию включения/отключения команд в разных гильдиях, эти команды выполняют свою работу.

загрузить/выгрузить: эти команды можно использовать для регистрации команд вне кода.

reload: эту команду можно использовать для перезагрузки команды после того, как вы внесли изменения в код, чтобы обновить ее.

help: встроенная функция справки (очень подробная).

префикс: Commando также имеет функцию изменения префикса по умолчанию на разных серверах, команда префикса помогает пользователям сделать это.

ping: делает именно то, что говорит справка.

eval: запускает код, переданный как расширение файла index.js, и возвращает результат (рекомендуется не использовать).

Эти команды встроены в коммандо.

Создание собственных команд

Сначала создайте папку с именем commands в корневом каталоге вашего бота.

Далее внесите в код следующие изменения

Это создаст новую группу Starter Commands для вашего бота, на которую можно ссылаться в коде по имени test, а также читать файлы в папке команд и рассматривать их как команды для бота.

В папке с командами создайте другую папку с именем test и внутри папки с тестами создайте файл с именем foo.js, поскольку первая команда будет простая команда foo-bar.

Откройте файл foo.js и измените его содержимое на

Подробнее

Первая строка импортирует предопределенный класс Command из Commando Framework.

Затем мы создали команду как расширение класса Command .

Конструктор запускается, как только наш index.js считывает этот файл. Внутри нашего конструктора мы устанавливаем основные сведения о нашей команде.

name, memberName: задайте имя команды.

псевдонимы: устанавливает, какие другие команды можно использовать для выполнения того же действия.

описание, подробности: опишите, что делает команда.

примеры: показывает пользователю пример использования команды.

группа: устанавливает, что наша команда будет частью какой группы команд.

Следующая часть — это метод запуска, он вызывается всякий раз, когда пользователь использует команду, параметр msg — это сообщение, отправляемое пользователем, типа CommandoMessage .

Мы заставляем нашего бота отвечать bar всякий раз, когда пользователь использует команду foo .

Наконец, module.exports = fooCommand экспортирует команду, делая ее доступной для чтения в нашем файле index.js.

Теперь давайте проверим нашу команду foo.

Запустите бота, используя индекс узла и используйте команду справки.

В конце меню справки вы увидите что-то новое

Давайте воспользуемся справкой о нашей команде, воспользуемся командой help foo. Вы должны увидеть что-то вроде: -

Давайте воспользуемся нашей командой, сейчас есть 4 способа сделать это.

  • Используйте ==foo или ==f на сервере
  • Используйте foo или f в личных сообщениях.

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

Теперь, когда мы закончили с одной командой, давайте создадим другую, которая будет принимать входные данные (аргументы) от пользователя.

Создайте новый файл с именем say.js в тестовой папке.

Напишите следующий код в файле say.js.

Давайте посмотрим, что нового!
  • client_permissions: определяет список разрешений, которые вам не потребуются для правильной работы команды.
  • args: определяет, какие аргументы должен ввести пользователь.
    • ключ: определяет имя аргумента.
    • подсказка: определяет, что скажет бот, если пользователь не предоставил аргумент
    • type: определяет тип аргумента.

    Давайте протестируем нашу команду say
    Если вы воспользуетесь командой help сейчас, внизу вы увидите новую запись для команды say.< /p>

    Используйте справку перед использованием команды.

    Вы должны увидеть что-то похожее на: -

    Обратите внимание, как Commando подготовил формат для использования команды, поверьте мне, это удобная функция.

    Используйте команду say сейчас без передачи каких-либо аргументов.

    Вы увидите, что бот запрашивает текст, а также сообщение типа

    Еще одна функция платформы Commando — отмена команд.

    Вы можете либо сказать что-то, чтобы бот повторил это, либо подождать 30 секунд, чтобы отменить команду, либо сказать "Отмена" самостоятельно.

    Вы также можете передать аргумент при использовании команды, как в примерах.

    Проверка и регулирование

    А теперь давайте подумаем, а что, если бы пользователь пытался отправить ссылки или спам на сервер с помощью нашей команды say?

    Этого легко избежать, проверив команду say и убедившись, что в переданном аргументе нет ссылки.

    Читайте также: