Ошибки сохранения ядра Npm install discord js ffmpeg opusscript ytdl

Обновлено: 21.11.2024

La voz en discord.js можно использовать для многих причин, сказок, связанных с музыкальным ботом, захвата или ретрансляции аудио. Puede utilizar la voz conectándose a un canal de voz para obtener una Conexión de Voz, donde puede iniciar la transmisión y recepción de audio.

Установка FFMPEG и кода для аудио

Para empezar, asegúrese de tener instalados estos componentes:

  • Установите ffmpeg через консоль: npm install ffmpeg-binaries --save ó desde su web FFmpeg
  • Копировать OPUS: npm install @discordjs/opus — npm install opusscript

Рекомендация: если вы активируете локальную сеть на ПК, убедитесь, что у вас есть подключение к Интернету, для воспроизведения жидкости и греха.

Подключиться к каналу de voz

Empezamos uniendo su BOT a un canal de voz del autor remitente, esto es Importante ya que nos permissionira obtener el methododo voiceConnection con el cual podemos empezar a transferir.

Пример 34:

Deconectandose de un canal de voz

Пример 35:

Transmitiendo en un canal de voz

При предварительном рассмотрении, наблюдая за тем, как один канал восходит к BOT для получения метода voiceConnection, можно подключиться к передаче аудио.

Существующий файл можно воспроизвести в архиве .mp3 на ПК, используя метод воспроизведения()

Пример 36:

В архиве нет ни одного файла формата .mp3, ffmpeg позволяет конвертировать видео и аудио в другие форматы.

Вы можете использовать метод play() , преобразовать коды (URL-адреса) в аудио для воспроизведения по каналу де-во, в этом случае вы можете воспроизвести коды (URL-адреса) для YouTube, используя модуль npm ytdl-core

>

Установите ytdl-core через консоль: npm install ytdl-core

Пример 37:

Как только вы можете воспроизвести URL-адрес YouTube, вы можете воспроизвести потоковые радиостанции, используя play(), и создать боты для передачи радиостанций для вашего сервера.

Para este ejemplo usamos una estacion de radio de musica electro, ustep puede elegir cualquier otro genero ingresando a Radionomy que se encarga de listar estaciones de radio.

Пример 38:

Recuerde que debe tener una buena conexión de internet para que la transmisión vaya fluida y sin cortes.

Важность диспетчера переменных

Es una instancia de StreamDispatcher, que gestiona la Transmisión en un un canal de voz. Podemos manejar los eventos con la varible dispatcher, saber cuando termina la reproducción, pausar, subir o bajar el volumen:

Определения:

Способы и классы передачи, используемые для консультации по документации Discord.js VoiceConnection.

Рекомендация: если вы хотите создать боты для передачи радио, перронозавр (Waxtz), создатель Baba, создайте BOT для кодирования радио, доступного на GitHub: Baba Radio, просто дескаргарируйте и используйте множество характеристик.< /p>

Сообщество видеоигр растет быстрыми темпами. И в индустрию приходит все больше и больше людей. Однако для нас, как для геймеров, чрезвычайно важно общаться с нашим сообществом и быть в курсе всех тенденций. Но выполнение этих задач как человека может быть тяжелой работой. И здесь в игру вступает бот Discord. Так вот вопрос как сделать дискорд бота?

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

Оглавление

Что такое бот Discord?

Бот Discord — это инструмент, предоставляемый discord, который может выполнять несколько задач в соответствии с вашими потребностями. Однако вам нужно будет сделать бота самостоятельно. Но однажды у вас есть бот с вами. Вы можете выполнять различные задачи, например искать сообщения в сообществе, общаться с другими пользователями и т. д.

Как создать Discord-бота?

Теперь вопрос: как сделать Discord Bot? Ну, есть два способа сделать дискорд-бота. Вы можете использовать языки программирования, такие как Python или Node js, для его создания. Или вы можете использовать инструмент под названием Zapier, который поможет вам создать бота для разногласий без программирования.

Как создать музыкального бота Discord?

Чтобы помочь вам создать музыкального бота Discord, Discord уже предлагает вам AAPI, который вы можете использовать для работы. И в этой части я буду говорить только об этом API. Итак, приступим:

Настройка бота для разногласий

  • Прежде всего перейдите на портал разработки Discord и создайте новое приложение.
  • Затем дайте своему боту новое имя и нажмите кнопку "Создать".
  • Затем выберите вкладку бота и нажмите "Добавить бота".
  • К настоящему времени наш бот будет готов, и теперь нам нужно пригласить его на наш сервер.

Добавление бота на ваш сервер

После того как вы закончите создание бота, вы должны пригласить его с помощью генератора URL-адресов OAuth2. Для этого выполните следующие действия:

  • Перейдите на страницу OAuth2 и выберите бота в области действия.
  • Затем вам нужно выбрать все необходимые разрешения для воспроизведения музыки и чтения сообщений.
  • Затем мы можем скопировать сгенерированный URL-адрес и вставить его в наш браузер.
  • После вставки мы добавляем его на наш сервер, выбрав сервер и нажав кнопку авторизации.

Создание нашего проекта

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

  • Сначала мы должны создать каталог и перейти в него. Для этого используйте следующие команды: mkdir musicbot && cd musicbot
  • Теперь нам нужно создать модуль проекта. Введите команду down npm init в терминал и нажмите кнопку ввода. Затем ответьте на все вопросы, и все готово.
  • Затем введите следующие команды: touch index.js && touch config.json
  • Затем откройте эти файлы с помощью редактора кода, такого как Atom или VS Code.

Установить зависимости

Далее используйте следующую команду для установки зависимостей в вашем проекте:

npm install discord.js ffmpeg-binaries opusscript ytdl-core – сохранить

Полный код Index.js

В конце откройте файл index.js и вставьте сюда следующие строки кода:

const Discord = require(‘discord.js’);

const ytdl = require('ytdl-core');

постоянный клиент = новый Discord.Client();

постоянная очередь = новая карта();

client.on(‘сообщение’, асинхронное сообщение =>

если (message.author.bot) вернется;

если (!message.content.startsWith(prefix)) return;

const serverQueue = queue.get(message.guild.id);

> else if (message.content.startsWith(`$skip`))

> else if (message.content.startsWith(`$stop`))

выполнение асинхронной функции (сообщение, очередь сервера)

const args = message.content.split(‘ ‘);

const voiceChannel = message.member.voiceChannel;

if (!permissions.has('CONNECT') || !permissions.has('SPEAK'))

const songInfo = await ytdl.getInfo(args[1]);

var connection = await voiceChannel.join();

функция пропуска(сообщение, serverQueue)

остановка функции(сообщение, очередь серверов)

функция воспроизведения (гильдия, песня)

const serverQueue = queue.get(guild.id);

const dispatcher = serverQueue.connection.playStream(ytdl(song.url))

В конце концов, просто запустите проект, и все готово.

Как создать Discord-бота без программирования?

На всякий случай, если вы не хотите заниматься программированием. Тогда есть отличный инструмент под названием Zapier. Кроме того, лучшая часть Zapier заключается в том, что вы можете подключить Discord к более чем 1500 приложениям, что позволит вам создавать ботов, которые извлекают информацию из Интернета.

Однако, чтобы провести вас по всем этапам, позвольте мне рассказать об основном приложении. Таким образом, вы можете получить четкое представление о том, как работает Zappier. Чтобы начать работу с Zapier, выполните следующие действия:

Для этого примера мы собираемся создать бота, который будет сообщать другим об обновлениях погоды. Предположим, у вас есть группа, которой вы хотите отправить сообщение о том, будет дождь или нет. Итак, чтобы приступить к работе, выполните следующие действия:

  • Прежде всего зарегистрируйтесь на Zapier.
  • Затем вас спросят: «Какие приложения вы используете». Просто найдите здесь прогноз погоды.

  • Теперь выберите событие приложения. Например, вы можете выбрать вариант "Будет ли сегодня дождь".

  • Затем нажмите кнопку "Продолжить".
  • Теперь вы получите возможность настроить прогноз. Здесь введите данные, например добавьте Локатор или местоположение, которое вы хотите проверить. А также вы должны выбрать долготу.
  • Затем нажмите кнопку "Продолжить".
  • Теперь вам нужно будет выбрать приложение действия. Для этого просто выберите Discord.
  • Далее вам нужно будет выбрать «Отправить сообщение канала», а затем нажать кнопку «Сохранить и продолжить».
  • После этого вам будет предложено ввести данные своей учетной записи Discord в Zapier. Вам нужно будет выбрать сервер, на который вы хотите добавить своего бота.
  • После того как вы закончите с этим, нам нужно будет настроить шаблон. Вам нужно будет выбрать канал, на который вы хотите отправить сообщение, а затем настроить сообщение.

  • Далее вам нужно будет настроить своего бота для разногласий. Например, вы сможете добавить имя бота, изменить значок и внести некоторые другие изменения в своего бота.
  • К настоящему моменту вы будете готовы к работе со своим ботом. Затем просто протестируйте своего бота для разногласий и проверьте, как он работает на вас.

В конце проверьте, все ли участники вашего канала Discord получили сообщение или нет. В целом, создать бота довольно просто. Следуя этим шагам, вы сможете создавать другие виды ботов, которые делятся новостями о последних играх, предстоящих событиях и так далее. Даже есть более 1500 других приложений, которые вы можете изучить. Дело в том, что вам нужно проявить творческий подход, чтобы создать подходящие приложения для своего канала Discord.

Кроме того, Zapier предлагает довольно много официальных руководств. Вы можете прочитать их, чтобы получить больше и больше информации о том, как создавать эффективных ботов Discord. И будьте изобретательны со своими ботами Discord.

Заключение

Итак, это все о дискорд-ботах. Боты Discord чрезвычайно полезны и могут выполнять множество задач. В конце концов, вам решать, как заставить бота Discord работать на вас.

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

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

Concord — это бот Discord с искусственным интеллектом для опроса CVE, воспроизведения музыки и многого другого.

Ядро приложения построено с использованием Discord.js

Функции ИИ используются из Wit.ai API

Распознавание голоса выполнено с помощью Opus

  • свободно-ffmpeg
  • подчеркивание --сохранить
  • node-witai-speech --save
  • двоичные файлы ffmpeg
  • опускрипт
  • ytdl-ядро
  • поиск на YouTube
  • узел-опус
  • Можно установить в системах Linux с помощью apt-get install espeak -y
  • Приведенную выше ссылку можно использовать для загрузки для Mac и Windows, для систем Linux вы можете использовать apt-get install ffmpeg -y
  • Клонируйте репозиторий с помощью git clone и запустите npm install
    • Вполне вероятно, что потребуется запустить npm reboot, чтобы привести ffmpeg в соответствие с вашим распространяемым пакетом, поэтому запускайте команду перестроения, если вы получаете ошибки, связанные с ffmpeg.
    • Пример файла конфигурации можно скопировать и изменить cp config.example.js config.js и изменить его по мере необходимости.

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

    Бот использует пользовательский класс Loader из файла loader.js. Этот класс будет отслеживать все команды бота. Перед добавлением команды в класс Loader нам нужно создать экземпляр нового объекта команды, этот объект команды будет содержать определенные свойства команды, такие как auth, locked и т. д.

    Начнем с добавления простой команды приветствия. По умолчанию все команды должны быть установлены в папке /functions с узнаваемым именем файла, в этом случае мы назовем его hello.js .

    Хотя приведенный выше пример дает вам представление о том, как работает загрузчик, он не очень полезен, пока вы не поймете, как получить доступ к свойствам бота, например к текущему каналу. Для этого передайте своим функциям параметр props, который будет объектом, содержащим все клиентские свойства, которые потребуются команде.

    В app.js вы увидите строку кода, проверяющую правильность команды и выполняющуюся соответственно, передавая объект props. Ниже я извлеку соответствующую информацию.

    Как правило, этих переданных свойств будет достаточно, чтобы сделать все, что вам нужно, но вы можете изменить это по своему желанию или необходимости.

    Давайте, наконец, закончим примером ответа пользователю с текстом, который он отправил, завернутым в команду под названием Repeat

    В настоящее время у меня нет отложенной загрузки для голосовых команд, но я планирую это сделать в будущем. На данный момент голосовые команды жестко закодированы в файле /services/speech_recognition.js внутри функции handleSpeech.

    • Отложенная загрузка голосовых команд с некоторым классом
    • Измените классы CVE и SpeechRecognition, чтобы они не принимали клиент в качестве аргумента исполнителя (это неаккуратно и неаккуратно)
    • Улучшить ИИ с помощью консоли wit.ai
    • Улучшить структуру каталогов и общую структуру дизайна.
    • Я хотел бы удалить espeak и, надеюсь, использовать какую-то альтернативу, например API, поскольку некоторые серверы могут не иметь возможности выводить звук по мере необходимости, что делает espeak проблематичным.

    MediaSPIP преобразует и перекодирует документы в соответствии с доступными в Интернете файлами и автоматизирует их использование без вмешательства создателя контента.
    Видео автоматически кодируются в поддерживаемых форматах HTML5: MP4, Ogv и WebM. Версия "MP4" используется для чтения флэш-памяти, необходимой для навигации по старым технологиям.
    Аудио-документы должны быть перекодированы в двух форматах, используемых наравне с HTML5: MP3 и Ogg. Версия "MP3" (. )

    Поддержка всех типов медиа

    Противоречие между логическими и другими форматами современных форматов документов, MediaSPIP и максимальным количеством форматов документов различных типов: изображения (png, gif, jpg, bmp и т. д.). авторы.); аудио (MP3, Ogg, Wav и др.); видео (Avi, MP4, Ogv, mpg, mov, wmv и др.); содержание текста, код или другие форматы (открытый офис, офис Microsoft (таблица, презентация), Интернет (html, css), LaTeX, Google Earth) (. )

    Возможность развертывания на ферме

    MediaSPIP может быть установлен на ферме, а также в сети "Noyau" Hébergé на сервере, на котором они работают, и может использоваться на множестве различных сайтов.
    Cela permet, например: de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus; быстрое развертывание множества уникальных сайтов; d’éviter d’avoir à mettre l’ensemble des creations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (. )

    Поддержка аудио и видео HTML5

    MediaSPIP использует HTML5-видео и аудио для лекций о документах, мультимедиа и приносит пользу последним инновациям W3C, поддерживающим современные навигаторы.
    Используйте навигаторы плюс старые, используйте flash Flowplayer.
    Преподаватель HTML5 использует специализированный набор для MediaSPIP: дополняется изменяемой графикой для соответствия выбранной теме.
    Технологии, разрешенные для распространения видео и использования в соответствии с установленными стандартами (. )

    Pas question de Marché, de cloud и т. д.

    Используйте словарь на сайте, описывая всю справочную информацию по методу, который соответствует цвету,
    в Web 2.0 и на предприятиях, которые существуют.
    Vous êtes donc invité à bannir l'use des termes "Brand", "Cloud", "Marché" и т. д.
    Notre Motion est avant tout de creer un outil simple, availableà pour tout le monde, фаворит
    le partage де creations сюр Интернет и др permettant aux авторы де Гардер ине автономии оптимальной.
    Aucun "contrat Gold ou Premium" n'est donc prévu, aucun (. )

    MediaSPIP является специализированным проектом распространения SPIP, предназначенным для управления документами, видео, звуками, изображениями и текстами на платформах типа «Youtube» или «flickr», как открытый исходный код, без различия формата документов.

    Комплект кода используется и распространяется по лицензии GNU/GPL. Комплект документации, представленный в соответствии с лицензией Art Libre.

    Même si elle est basee sur un Logiciel Déjà Largement Documenté, Cette Distribution utilisant un nombre важные де-модификации в режиме оригинального функционирования, necessite sa надлежащая документация. Beaucoup d'utilisateurs originaux de SPIP qui passeront par ici se requireeront très Certainement pourquoi Certaines выбирает существующую déjà dans la документацию officielle de SPIP le sont à nouveau ici, tout simplement parce que nous ne nous adressons pas forcement à un public familier de SPIP et que nous jugeons nécessaire de documenter l'ensemble du foctionnement de la Distribution.

    Discord API предоставляет вам простой инструмент для создания и использования собственных ботов и инструментов. Сегодня мы рассмотрим, как мы можем создать простого музыкального бота и добавить его на наш сервер. Бот сможет воспроизводить, пропускать и останавливать музыку, а также поддерживать функции очередей.

    DiscoD API 为 今您 来 工 一 一 一 一 的 工 音 工 一 一 创建 一 一 到 音 能够 播放 播放 播放 一 一 到 到 能够 播放能够 播放机器过和停止音乐,并且还将支持排队功能。

    设置Discord机器人 (Настройка бота для разногласий)

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

    Мы можем сделать это, посетив портал и нажав новое приложение.

    После этого нам нужно дать нашему приложению имя и нажать кнопку "Создать".

    После этого нам нужно выбрать вкладку бота и нажать добавить бота.

    Now our bot is created and we can continue with inviting it to our server.

    将机器人添加到服务器 ( Adding the bot to your server )

    After creating our bot we can invite it using the OAuth2 URL Generator.

    创建我们的漫游器后,我们可以使用OAuth2 URL Generator邀请它。

    For that, we need to navigate to the OAuth2 page and select bot in the scope tap.

    After that, we need to select the needed permissions to play music and read messages.

    Then we can copy our generated URL and paste it into our browser.

    After pasting it, we add it to our server by selecting the server and clicking the authorize button.

    创建我们的项目 ( Creating our project )

    Now we can start creating our project using our terminal.

    First, we create a directory and move into it. We can do so by using these two commands.

    After that, we can create our project modules using the npm init command. After entering the command you will be asked some questions just answer them and continue.

    之后,我们可以使用npm init命令创建我们的项目模块。 输入命令后,系统将询问您一些问题,只需回答并继续。

    Then we just need to create the two files we will work in.

    Now we just need to open our project in our text editor. I personally use VS Code and can open it with the following command.

    现在,我们只需要在文本编辑器中打开项目即可。 我个人使用VS Code,可以使用以下命令将其打开。

    Discord JS基础 ( Discord js basics )

    Now we just need to install some dependencies before we can get started.

    After the installation finished we can continue with writing our config.json file. Here we save the token of our bot and the prefix he should listen for.

    To get your token you need to visit the discord developer portal again and copy it from the bot section.

    That are the only things we need to do in our config.json file. So let’s start writing our javascript code.

    First, we need to import all our dependencies.

    After that, we can create our client and login using our token.

    Now let’s add some basic listeners that console.log when they get executed.

    After that, we can start our bot using the node command and he should be online on discord and print “Ready!” in the console.

    之后,我们可以使用node命令启动我们的机器人,他应该在不和谐状态下在线并显示“ Ready!”。 在控制台中。

    阅读讯息 ( Reading messages )

    Now that our bot is on our server and able to go online, we can start reading chat messages and responding to them.

    To read messages we only need to write one simple function.

    Here we create a listener for the message event and get the message and save it into a message object if it is triggered.

    Now we need to check if the message is from our own bot and ignore it if it is.

    In this line, we check if the author of the message is our bot and return if it is.

    After that, we check if the message starts with the prefix we defined earlier and return if it doesn’t.

    After that, we can check which command we need to execute. We can do so using some simple if statements.

    In this code block, we check which command to execute and call the command. If the input command isn’t valid we write an error message into the chat using the send() function.

    Now that we know which command we need to execute we can start implementing these commands.

    添加歌曲 ( Adding songs )

    Let's start by adding the play command. For that, we need a song and a guild (A guild represent an isolated collection of users and channels and is often referred to as a server). We also need the ytdl library we installed earlier.

    让我们从添加play命令开始。 为此,我们需要一首歌和一个公会(公会代表用户和频道的隔离集合,通常被称为服务器)。 我们还需要之前安装的ytdl库。

    First, we need to create a map with the name of the queue where we save all the songs we type in the chat.

    After that, we create an async function called execute and check if the user is in a voice chat and if the bot has the right permission. If not we write an error message and return.

    Now we can continue with getting the song info and saving it into a song object. For that, we use our ytdl library which gets the song information from the youtube link.

    This will get the information of the song using the ytdl library we installed earlier. Then we save the information we need into a song object.

    After saving the song info we just need to create a contract we can add to our queue. To do so we first need to check if our serverQueue is already defined which means that music is already playing. If so we just need to add the song to our existing serverQueue and send a success message. If not we need to create it and try to join the voice channel and start playing music.

    保存歌曲信息后,我们只需要创建合同即可将其添加到队列中。 为此,我们首先需要检查是否已经定义了serverQueue,这意味着音乐已经在播放。 如果是这样,我们只需要将歌曲添加到我们现有的serverQueue中并发送成功消息即可。 如果不是,我们需要创建它并尝试加入语音通道并开始播放音乐。

    Here we check if the serverQueue is empty and add the song to it if it’s not.Теперь нам просто нужно создать наш контракт, если serverQueue имеет значение null.

    В этом блоке кода мы создаем контракт и добавляем нашу песню в массив песен. После этого мы пытаемся присоединиться к голосовому чату пользователя и вызвать нашу функцию play(), которую мы реализуем после этого.

    播放歌曲 (Воспроизведение песен)

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

    Сначала мы создадим функцию play, которая принимает два параметра (гильдия и песня, которую мы хотим воспроизвести) и проверяет, пуста ли песня. Если это так, мы просто покинем голосовой канал и удалим очередь.

    После этого мы начнем воспроизводить нашу песню, используя функцию playStream() и URL-адрес нашей песни.

    Здесь мы создаем поток и передаем ему URL-адрес нашей песни. Мы также добавляем два слушателя, которые обрабатывают события конца и ошибки.

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

    注意: 这 是 一 一 会 一 一 一 一 递归 会 一 一 一 一 一 递归 一 一 一 一 结束 一 播放 一 一首 一首.

    Теперь мы готовы воспроизвести песню, просто набрав !play URL в чате.

    跳过歌曲 (пропуск песен)

    Теперь мы можем приступить к реализации функции пропуска. Для этого нам просто нужно завершить диспетчер, который мы создали в нашей функции play(), чтобы он начал следующую песню.

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

    停止歌曲 (Остановка песен)

    Функция stop() почти такая же, как skip(), за исключением того, что мы очищаем массив песен, что заставит нашего бота удалить очередь и оставить голос чат.

    index.js的完整源代码: (полный исходный код index.js: )

    Здесь вы можете получить полный исходный код нашего музыкального бота:

    推荐读物: (Рекомендуемое чтение: )

    结论 (Заключение)

    Вы дошли до конца! Надеюсь, что эта статья помогла вам понять API Discord и то, как вы можете использовать его для создания простого бота. Если вы хотите увидеть пример более продвинутого бота для разногласий, вы можете посетить мой репозиторий Github.

    一路 走到 最后! 希望 本 文 能 帮助 您 了解 了解 本 文 文 能 您 了解 了解 ap ap 创建 简单 简单 以及人. 如果 来 创建 简单 简单 更 高级 的 如果 如果 您 想 简单 查看 更 的 的 dishub 存储库 存储库.

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

    Если у вас есть какие-либо вопросы или отзывы, дайте мне знать в комментариях ниже.

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