Як зробити бота в ДІСКОРДІЯ

Ціна 74 грн. + 3 подарунки
відправка  Укрпоштою  40  грн.golubci

Як створити нового бота в ДІСКОРДІЯ

Так як зробити бота в ДІСКОРДІЯ без знання мов програмування практично неможливо, то єдиний спосіб, який допоможе здійснити задумане — редагування вже існуючого проекту. Але навіть для цього необхідно розуміти основні принципи.

Новий бот для Discord

створення бота

Далі ми докладно розглянемо, як зробити бота в Discord не маючи глибоких знань в програмуванні. Для цього ми будемо використовувати JavaScript. Додаткові матеріали для роботи завантажте по посиланню.

Етап 1: Підготовка

  1. завантажте node.js на ПК через офіційний сайт.
  2. Заздалегідь створіть нову папку, де і будуть зберігатися дані проекту.
  3. Встановіть модуль ДІСКОРДІЯ в тільки що створену директорію (у нас це bot). Запустіть командний рядок і введіть «cd Desktop / bot» (актуально, якщо ви створили папку з назвою bot на робочому столі) і натисніть «Enter». Після цього введіть «npm install discord.js -save ».
  4. Перейдіть на офіційний сайт Discord і знайдіть вкладку для розробників. Тут виберіть «My Apps» і натисніть «New App». розробникам Discord
  5. Вкажіть назву, опис, виберіть картинку і підтвердіть дії за допомогою кнопки «Створити».
  6. Перейдіть в налаштування і відзначте параметр «Громадський бот».
  7. Натисніть на кнопку «Створити бота». Якщо з’явиться помилка, то спробуйте написати ім’я латинськими буквами.
  8. Авторизуйтесь бота на сервері по посиланню. Для цього, перебуваючи в адресному рядку браузера «Client ID» на значення з параметрів додатка.
  9. Видайте всі необхідні дозвіл і підтвердіть дії.Створити додаток для Discord

Якщо ви все зробили правильно, то bot з’явиться на сервері. Його можна буде знайти в списку учасників.

Етап 2: Додавання команд

Після підготовчого етапу і створення «оболонки» необхідно прописати команди для бота. Для прикладу ми додамо найпростішу — відповідь на запит. Для цього знадобиться простий текстовий редактор (наприклад, блокнот), але краще використовувати спеціальну програму notepad ++ (доступна безкоштовно). Виконайте наступні дії:

  1. У першому рядку введіть «const Discord = require ( ‘discord.js ‘); «.
  2. У другій — «const client = new Discord.Client (); «.
  3. У третій — «var prefix = ‘++’». Замість «++» можете вказати будь-який інший префікс. Саме з нього будуть починатися всі команди.

Увага! Скрізь потрібно вводити текст з лапок, але самих лапок ( «») бути не повинно. Всі інші символи є обов’язковими.

Тепер будемо створювати команду для відповіді на повідомлення (тут же, наступного рядком). Виглядати вона буде наступним чином:

  1. on ( ‘message’, message =><
  1. if (message.author === client.user) return;
  2. if (message.content.startsWith (prefix + ‘start’)) <
  1. message.channel.sendMessage ( ‘Welcome to server);
  • >
  • >);
  • В даному прикладі, повідомлення «Welcome to server» з’являтиметься у відповідь на нашу ++ start. За бажанням ви можете замінити текст на будь-який інший, але вводите його латиницею.
  • В останньому рядку додайте «client.login ( ‘токен’); «, де замість слова токен вкажіть його значення. Дізнатися його можна в параметрах.
  • На цьому етап програмування можна вважати закінченим.

    Етап 3: Тестування

    Тепер необхідно зробити так, щоб бот з’явився в списку онлайн учасників. Для цього знову відкриваємо командний рядок і вводимо «cd Desktop / bot» (для переходу в створену папку) і «node bot.js ». Якщо ви все зробили правильно, то він з’явиться онлайн.

    Введіть «++ start» в текстовому каналі ДІСКОРДІЯ. У відповідь bot повинен відправити повідомлення «Welcome to server». Якщо цього не відбувається, а в процесі ви міняли префікс і інші значення, то спробуйте перевірити код. Особливу увагу приділіть наявності прогалин і дужок.

    висновок

    Як бачите, зробити бота для ДІСКОРДІЯ сервера не так вже й складно. Якщо у вас є знання в області програмування, то аналогічним чином ви можете додати інші додаткові команди.

    Як зробити бота в Discord

    Користувачі часто запитують, як створити бота в ДІСКОРДІЯ і тим самим отримати програму з необхідними функціями. Відразу відзначимо, що досягнення такої мети — непросте завдання, а реалізувати її можна декількома способами, наприклад, на основі discord.js, на Python або за допомогою програми Discord Bot Maker.

    Як створити ДІСКОРДІЯ-бота на основі discord.js

    На практиці API Discord є зручним інструментом, що дозволяє створити, а згодом використовувати бота. З його допомогою легко розробити помічника для вирішення різних завдань, а далі поставити необхідний набір команд. Для прикладу розглянемо загальний алгоритм створення бота для музики. При правильному підході він зможе програвати, пропускати і зупиняти музичні файли. Крім того, в його функції входитиме підтримка черги на програвання мелодії.

    Виконайте наступні кроки:

    1. Увійдіть на сайт discord.com / developers / applications /.
    1. Тисніть на кнопку New Application.

    1. Введіть назву майбутнього бота ДІСКОРДІЯ, наприклад, Music Bot.
    2. Перейдіть на вкладку Bot, а після тисніть на кнопку Add Bot.


    Цих дій достатньо, щоб створити бота ДІСКОРДІЯ, після чого потрібно додати на сервер за допомогою OAuth2 URL-генератора. Зробіть наступні кроки:

    1. Прокрутіть до розділу OAuth2 і виберіть Bot в панелі Scopes.

    1. Вкажіть необхідні дозволи для програвання музики і читання.
    2. Копіюйте створений URL і вставте його в веб-провідник.
    3. Виберіть сервер, куди потрібно додати URL.
    4. Тисніть на кнопку авторизації (Authorize).


    На наступному етапі потрібно створити проект із застосуванням терміналу. Для цього створіть директорію і перейдіть її за допомогою наступних команд — mkdir musicbot && cd musicbot. Далі зробіть наступне:

    1. Створіть модулі проекту із застосуванням nmp init.
    2. Дайте відповідь на кілька питань, які необхідні, щоб створити бота в ДІСКОРДІЯ.
    3. Зробіть два файли, де буде вестися робота — touch index.js && touch config.json.
    4. Відкрийте проект в редакторі, наприклад, за допомогою VS Code із застосуванням наказу code.
    5. Встановіть групу залежностей, необхідних для подальшої роботи — npm install discord.js ffmpeg-binaries opusscript ytdl-core -save.
    6. Продовжіть створення файлу на config.json. На цьому етапі збережіть префікс і токен для бота.
    1. Увійдіть на портал створення ДІСКОРДІЯ і копіюйте токен з розділу Bot (тисніть на кнопку Copy).

    Тепер потрібно створити код javascript. Для цього скопіюйте наступні залежності:

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

    const ytdl = require ( ‘ytdl-core’);

    Після цього потрібно створити із застосуванням токена клієнт і логін.

    const client = new Discord.Client ();

    Далі додайте кілька listeners, які виконують console.log при пуску.

    Після цього почніть працювати з ботом ДІСКОРДІЯ із застосуванням node. Важливо, щоб новостворений Discord-бот був онлайн. В консолі з’явиться Ready!. Команда — node index.js.

    Завдання команд для бота ДІСКОРДІЯ

    Тепер залишається задати необхідні команди.

    Щоб прослухати повідомлення

    Щоб ДІСКОРДІЯ-бот міг читати, напишіть функцію.

    client.on ( ‘message’, async message => <

    Далі зробіть listener для massage-події, отримаєте повідомлення і збережіть його в massage. Якщо інформація прийшла від бота ДІСКОРДІЯ, ігноруйте її. Виконайте перевірку за допомогою наступної команди.

    if (message.author.bot) return;

    Якщо повідомлення повернулося, значить, його зміг створити бот. Тепер перевірте, з якого префікса воно починається.

    if (!message.content.startsWith (prefix)) return;

    Далі перевірте команду, яку потрібно активувати. Використовуйте наступні команди.

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

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

    message.channel.send ( ‘You need to enter a valid command!’)

    Після отримання списку команд, які можна запустити, переходите до їх створення.

    Додавання пісень

    Тут потрібна гільдія, пісня і бібліотека ytdl (повинна бути встановлена ​​заздалегідь). Зробіть map з назвою черзі, де будуть зберігатися пісні.

    const queue = new Map ();

    Тепер створіть async0-функцію з назвою execute і переконайтеся, чи знаходиться користувач в чаті, і чи є необхідний дозвіл. При його відсутності пишете повідомлення про помилку.

    async function execute (message, serverQueue) <

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

    const voiceChannel = message.member.voiceChannel;

    if (!voiceChannel) return message.channel.send ( ‘You need to be in a voice channel to play music!’);

    const permissions = voiceChannel.permissionsFor (message.client.user);

    if (!permissions.has ( ‘CONNECT’) || !permissions.has ( ‘SPEAK’)) <

    return message.channel.send ( ‘I need the permissions to join and speak in your voice channel!’);

    Перейдіть до отримання даних про пісню і збережіть її в song. Для цього буде потрібно ytdl-бібліотека, яка отримує дані по ютуб-посиланню.

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

    Необхідні дані зберігаються в song. Тепер потрібно створити контракт, що забезпечує додавання в чергу. Перевірте факт визначення serverQueue (програвання музики), а після відправте повідомлення про досягнення результату. Якщо це не вдалося зробити, потрібно його створити і з’єднатися з голосовим каналом і почати грати пісню.

    return message.channel.send ( `$ has been added to the queue!`);

    В розділ serverQueue, якщо він порожній, додайте трек. У разі, коли serverQueue має параметр null, зробіть контракт.

    // Creating the contract for our queue

    // Setting the queue using our contract

    // Pushing the song to our songs array

    // Here we try to join the voicechat and save our connection into our object.

    var connection = await voiceChannel.join ();

    // Calling the play function to start a song

    // Printing the error message if the bot fails to join the voicechat

    програвання треку

    Тепер потрібно створити опцію play для бота ДІСКОРДІЯ з параметрами гільдія і пісня, а також перевіркою об’єкта song.

    function play (guild, song) <

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

    Якщо так, потрібно піти з голосового каналу і видалити чергу.

    Далі трек грає із застосуванням URL і playStream.

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

    // Deletes the finished song from the queue

    // Calls the play function again with the next song

    Тут створюється stream, а його URL передається адресою пісні.

    пропуск треку

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

    function skip (message, serverQueue) <

    if (!message.member.voiceChannel) return message.channel.send ( ‘You have to be in a voice channel to stop the music!’);

    if (!serverQueue) return message.channel.send ( ‘There is no song that I could skip!’);

    Тут перевіряється, чи є користувач в голосовому каналі, і чи є трек для пропуску.

    зупинка

    Опція stop має на увазі очищення масиву song, видалення черги і виходу з чату.

    function stop (message, serverQueue) <

    if (!message.member.voiceChannel) return message.channel.send ( ‘You have to be in a voice channel to stop the music!’);

    Повний код бота для ДІСКОРДІЯ

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

    const ytdl = require ( ‘ytdl-core’);

    const client = new Discord.Client ();

    const queue = new Map ();

    client.on ( ‘message’, async message => <

    if (message.author.bot) return;

    if (!message.content.startsWith (prefix)) return;

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

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

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

    message.channel.send ( ‘You need to enter a valid command!’)

    async function execute (message, serverQueue) <

    Як створити Discord бота за допомогою Python

    З цього туторіал Ви дізнаєтеся, як повністю створити власного бота Discord в хмарі.

    Вам не потрібно нічого встановлювати на свій комп’ютер, і вам не потрібно нічого платити за розміщення свого бота.

    Ми будемо використовувати цілий ряд інструментів, в тому числі Discord API, бібліотеки Python, і платформи хмарних обчислень під назвою Repl.it.

    Як створити обліковий запис Discord Bot

    Щоб працювати з бібліотекою Python і API Discord, ми повинні спочатку створити обліковий запис Discord Bot.

    Ось крок до створення облікового запису Discord Bot.

    1. Переконайтеся, що ви увійшли на сайт Discord.

    3. Натисніть кнопку «Новий додаток».

    4. Дайте додатком ім’я і натисніть «Створити».

    5. Перейдіть на вкладку «Бот» і натисніть «Додати бота». Вам потрібно буде підтвердити дію, натиснувши «Yes, do it!»

    Залиште налаштування за замовчуванням для Public Bot і Require OAuth2 Code Grant.

    Ваш бот створений. Наступним кроком буде копіювання токена.

    Цей токен є паролем вашого бота, тому не повідомляйте його нікому. Це може дозволити комусь увійти в ваш бот і робити різні погані речі.

    Ви можете регенерувати токен, якщо він випадково стане доступний.

    Як запросити вашого бота приєднатися до сервера

    Тепер вам потрібно підключити свого користувача-бота до сервера. Для цього ви повинні створити для нього URL-адресу запрошення.

    Перейдіть на вкладку «OAuth2». Потім виберіть «бот» в розділі «scopes».

    Тепер виберіть потрібні дозволи для бота. Наш бот буде в основному використовувати текстові повідомлення, тому нам не потрібно багато дозволів. Вам може знадобитися більше, в залежності від того, що ви хочете, щоб ваш бот робив. Будьте обережні з дозволом «Адміністратор».

    Після вибору відповідних дозволів натисніть кнопку «Copy» над дозволами. Це скопіює URL-адресу, яку можна використовувати для додавання бота на сервер.

    Вставте URL-адресу в свій браузер, виберіть сервер, на який буде запрошено бот, і натисніть «Авторизувати».

    Щоб додати бота, ваш обліковий запис необхідні дозволи «Управління сервером».

    Тепер, коли ви створили користувача-бота, ми почнемо писати код Python для бота.

    Як написати код для базового бота Discord за допомогою бібліотеки discord.py

    Ми будемо використовувати бібліотеку Python discord.py, щоб написати код для бота. discord.py — це оболонка API для Discord, яка спрощує створення бота Discord на Python.

    Як створити репліку і встановити disocrd.py

    Ви можете розробити бота на своєму локальному комп’ютері за допомогою будь-якого редактора коду. Однак в цьому уроці ми будемо використовувати Repl.it, тому що це спростить всім користувачам виконувати його вказівки. Repl.it — це онлайн-середовище IDE, яку ви можете використовувати в своєму веб-браузері.

    Створіть новий Repl і виберіть «Python» в якості мови.

    Щоб використовувати бібліотеку discord.py, просто напишіть import discord вгорі main.py . Repl.it автоматично встановить цю залежність, коли ви натиснете кнопку «Run».

    Якщо ви віддаєте перевагу кодувати бота локально, ви можете використовувати цю команду в MacOS для установки discord.py:

    Можливо, вам доведеться використовувати pip3 замість pip .

    Якщо ви використовуєте Windows, ви повинні замість цього використовувати наступний рядок:

    Як налаштувати події Discord для вашого бота

    discord.py обертається навколо концепції подій. Подія — це те, що ви слухаєте, а потім реагуєте. Наприклад, коли відбувається повідомлення, ви отримуєте подія про це, на яке можете відповісти.

    Зробимо бота, який відповідає на конкретне повідомлення. Цей простий код бота разом з поясненням коду узятий з документації discord.py. Пізніше ми додамо в бота додаткові функції.

    Додайте цей код в main.py. (Ви можете назвати файл як-небудь інакше, тільки не discord.py.) Я незабаром поясню, що робить весь цей код.

    Коли ви створили свого користувача-бота в Discord, ви скопіювали токен. Тепер ми збираємося створити файл .env для зберігання токена. Якщо ви запускаєте свій код локально, вам не потрібен файл .env . Просто замініть os.getenv ( ‘TOKEN’) токеном.

    .env файли використовуються для оголошення змінних середовища. на Repl.it більшість створюваних вами файлів видно всім, але .env файли видно тільки вам. Інші люди, які переглядають публічну відповідь, не зможуть побачити вміст файлу .env .

    Тому, якщо ви розробляєте на Repl.it, включайте в файл .env тільки особисту інформацію, таку як токени або ключі.

    Натисніть кнопку «Додати файл» і створіть файл з ім’ям .env .

    Всередині файлу додайте наступний рядок, включаючи ваш фактичний токен, який ви скопіювали раніше:

    Тепер давайте розглянемо, що робить кожен рядок в коді вашого бота Discord.

    1. Перший рядок імпортує бібліотеку discord.py.
    2. Другий рядок імпортує бібліотеку os, але вона використовується тільки для отримання змінної TOKEN з файлу .env . Якщо ви не використовуєте .env файл, цей рядок вам не потрібна.
    3. Потім ми створюємо екземпляр Client . Це зв’язок з Discord.
    4. декоратор @client.event () використовується для реєстрації події. Це асинхронна бібліотека, тому все робиться за допомогою зворотних викликів. Як передзвонити — це функція, яка викликається, коли відбувається щось ще. У цьому коді подія on_ready () викликається, коли бот готовий до використання. Потім, коли бот отримує повідомлення, викликається подія on_message () .
    5. Тригер подій щоразу викликає on_message (), коли приймається повідомлення, але ми не хочемо, щось робити, якщо повідомлення від самих себе. Тому, якщо Message.author це те ж саме, що і Client.user, просто робимо return.
    6. Потім ми перевіряємо Message.content, чи починається з ‘$ hello’ . Якщо так, то бот відповідає ‘Hello!’В канал, в якому він використовувався.
    7. Тепер, коли бот налаштований, останній рядок запускає бот з токеном входу. Він отримує токен з файлу .env .

    У нас є код для бота, тому тепер нам просто потрібно його запустити.

    Як запустити бота

    Тепер натисніть кнопку запуску вгорі, щоб запустити свого бота в repl.it.

    Якщо ви пишете бота локально, ви можете використовувати ці команди в терміналі для запуску бота:

    В інших системах:

    Тепер перейдіть в свою кімнату в Discord і введіть «$ hello». Ваш бот повинен відповісти «Hello!».

    Як поліпшити бота

    Тепер, коли у нас є базовий бот, ми його покращимо. Не дарма він називається «Encourage Bot».

    Цей бот буде відповідати повідомленням ‘Hello!’Всякий раз, коли хтось відправляє повідомлення, що містить сумне або гнітюче слово.

    Будь-який бажаючий зможе додати підбадьорливі повідомлення для використання бота, а відправлені користувачем повідомлення будуть зберігатися в базі даних Repl.it.

    Бот також поверне випадкову надихаючу цитату з API, коли хтось набере в чаті повідомлення «$ inspire».

    Ми почнемо з додавання функції «$ inspire».

    Як додати в бота надихаючі цитати

    Ми будемо отримувати надихаючі цитати з API під назвою zenquotes.io. Нам потрібно імпортувати ще пару модулів Python, додати функцію get_quote () і оновити код нашого бота, щоб викликати функцію.

    Ось оновлений код. Після коду я поясню нові частини.

    Тепер нам потрібно імпортувати модуль requests . Цей модуль дозволяє нашому коду робити HTTP-запит для отримання даних з API. API повертає JSON, і модуль json спрощує роботу з повернутими даними.

    Функція get_quote () дуже проста. По-перше, вона використовує модуль запитів для запиту даних з URL-адреси API. API повертає випадкову надихаючу цитату. Цю функцію можна легко переписати для отримання котирувань з іншого API, якщо поточний перестане працювати.

    Потім всередині функції ми використовуємо json.loads () для перетворення відповіді API в JSON. Методом проб і помилок я зрозумів, як перевести цитату з JSON в потрібний строковий формат. Цитата повертається з функції у вигляді рядка.

    Остання частина коду оновлюється ближче до кінця. Раніше він шукав повідомлення, яке починалося з «$ hello». Тепер він шукає "$ inspire". Замість того, щоб повертати «Hello!», Він отримує цитату quote = get_quote () і повертає цитату.

    На цьому етапі ви можете запустити свій код і спробувати його.

    Як додати в бота обнадійливі повідомлення

    Тепер ми реалізуємо функцію, при якій бот відповідає обнадійливими повідомленнями, коли користувач відправляє повідомлення з сумним словом.

    Як додати сумні слова в бота

    Для початку нам потрібно створити список Python, що містить сумні слова, на які буде відповідати бот.

    Додайте наступний рядок після створення змінної client:

    Не соромтеся додавати в список більше слів.

    Як додати в бота обнадійливі повідомлення

    Тепер ми додамо список підбадьорливих повідомлень, якими бот відповість.

    Додайте наступний список після створеного вами списку sad_words:

    Як і раніше, не соромтеся додавати в список інші фрази за вашим вибором. Зараз я використовую всього три елементи, тому що пізніше ми додамо можливість користувачам додавати більше підбадьорливих фраз для використання ботом.

    Як відповідати на повідомлення

    Тепер нам потрібно оновити нашого бота, щоб він використовував два створених нами списку. По-перше, імпортуйте модуль random, тому що бот буде випадковим чином вибирати повідомлення зі списку. Додайте наступний рядок в оператори імпорту в верхній частині коду:

    Тепер ми оновимо функцію on_message (), щоб перевіряти всі повідомлення, щоб побачити, чи містять вони слово зі списку sad_words . Якщо буде знайдено сумне слово, бот відправить випадкове повідомлення зі списку.

    Ось оновлений код:

    Це гарний час для тестування бота. Тепер ви знаєте достатньо, щоб створити власного бота.

    Ссылка на основную публикацию