Как сделать команду кика discord py

Обновлено: 07.07.2024

Привет людям, которые смотрели это. Мне нужна помощь в создании команды удара для моего бота discord. Я использую discord.js и node.js . У меня есть стартовые вещи, такие как const Discord = require('discord.js'); const Client = new Discord.Client(); . Я кодирую его с помощью Visual Studio Code. Я действительно не понимаю, что еще делать. Я пытался искать помощь в YouTube, но каждый раз, когда я пытаюсь, кажется, что это больше не работает. Кто-нибудь может меня проводить? Спасибо :D

2 ответа

У меня есть проблема, что когда я хочу включить своего бота discord на моем сервере, который использует cPanel, я не могу заставить его работать с панели управления node.js, не поместив команду shell node index.js в файл package.json и не используя функцию запуска скрипта панели. проблема в том.

Я нахожусь в процессе создания бота discord с использованием discord.py и asyncio. У бота есть такие команды, как kick и ban , которые, очевидно, не должны быть доступны обычным пользователям. Я хочу создать простую систему, которая определит, какие разрешения имеет роль пользователя, используя.

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

(от discord.js github)

Сейчас я создаю бота discord и хочу сделать команду poke. Пользователь может ткнуть другого участника. Я знаю, как упомянуть автора, но, похоже, не могу упомянуть пользователя. EXAMPLE: '!poke [пользователь, указанный автором]'. Как сделать так, чтобы мой бот упомянул этого пользователя?

Похожие вопросы:

Я пытаюсь понять, как сделать команду, которая 'reloads' команды Discord Bot и позволяет мне поддерживать работу бота, пока я добавляю новые команды. Это просто облегчает мне жизнь, поэтому мне не.

Я создаю бота discord, и я изо всех сил пытаюсь понять, как ударить пользователя. Я не могу найти код или документацию по этому вопросу. Вот код. private void MuteUserCommand()

У меня есть проблема, что когда я хочу включить своего бота discord на моем сервере, который использует cPanel, я не могу заставить его работать с панели управления node.js, не поместив команду.

Я нахожусь в процессе создания бота discord с использованием discord.py и asyncio. У бота есть такие команды, как kick и ban , которые, очевидно, не должны быть доступны обычным пользователям. Я.

Сейчас я создаю бота discord и хочу сделать команду poke. Пользователь может ткнуть другого участника. Я знаю, как упомянуть автора, но, похоже, не могу упомянуть пользователя. EXAMPLE: '!poke.

screenshot_1

Как создать команду «ban»/«unban» в discord.py

Если бот уже подготовлен к работе и добавлен на сервер в Discord (подробные инструкции, связанные с инсталляцией и авторизацией представлены в официальной документации), то следующий этап – подготовка кода Python, необходимого для взаимодействия с потенциальными нарушителями.

screenshot_2

Работают команды на основе библиотеки Discord.py, а потому и начинать предстоит с импорта уже заготовленных скриптов и commands в построчном режиме:

Следом добавляется источник для импорта:

from discord.ext import commands

Заданная основа для кода открывает простор для творчества и экономит время. Дальше предстоит подготовить код следующего формата:

После ввести конструкцию через async

async def ban(ctx, user: discord.Member, *, reason=None):

Функция разделяется на несколько строк с сохранением синтаксиса.

await ctx.send(f" пользователь успешно заблокирован")

Важно помнить о структуре: на следующей строчке после функции async для await понадобится отступ в 4 пробела.

screenshot_3

Снимается блокировка с помощью дополнительного кода. Основа уже знакомая.

Далее – уже знакомый набор дополнительных команд (важно сохранить структуру)

async def unban(ctx, *, member):

Обязательно 4 пробела впереди!

banned_users = await ctx.guild.bans()

И следом сразу строка для отсеивания лишней аудитории.

После задается For.

for ban_entry in banned_users:

Обязательно 4 пробела впереди!

И условие через if.

if (user.name, user.discriminator) == (member_name, member_discriminator):

await ctx.send(f" пользователь успешно разблокирован")

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

screenshot_4

После подготовки кода в чате сервера станут доступны команды !ban и !unban (префикс – восклицательный знак), сочетаемые с никнеймом нарушителя (!ban @nickname).

Почему команда может не работать

Тот же Visual Code способен сразу предупредить, в каком месте коду требуется доработка.

Всем привет.
В интернете очень мало качественных гайдов на тему разработки Discord-бота . Поэтому я решил написать полный подробный курс на эту тему.
В этом курсе мы будем учиться созданию Discord-бота на языке программирования Python (библиотека Discord.py) с нуля.

Создание приложения

Нажимаем на нее. В открывшемся окне нам будет предложено ввести название нового приложения.

Вводим и нажимаем Create. Теперь нам нужно выбрать вкладку "Bot" в меню слева.

В правой верхней части экрана нажимаем "Add Bot" . В открывшемся окне нажимаем "Yes, do it!" .

Строка "USERNAME" - будущее имя бота.
Token - это и есть наш код доступа к API, ради которого мы все это делали.

Добавление бота в канал

После перехода по ссылке, в открывшемся выбираем наш сервер, куда мы хотим добавить бота.

Теперь нажимаем кнопку "Продолжить" , а затем "Авторизовать" , проходим проверку на робота. Готово! Наш бот добавлен в наш сервер.

Теперь перейдем непосредственно к разработке самого бота.

Установка Discord.py

Я буду показывать пример работы в Командной Строке Windows . В целом, ход действий мало отличается от Linux , так что, если у вас линукс, - пишите то же самое.

Для удобства работы лучше будет создать виртуальное окружение (Virtual Env) . В консоли переходим в папку нашего проекта. В ней выполняем следующие команды:

// Устанавливаем VirtualEnv, если он у вас еще не установлен
> pip install virtualenv

// Создаем нашу виртуальную среду
> python -m venv [название]

// Активируем виртуальную среду
[Windows] > [название]\Scripts\activate.bat
[Linux] > source [название]/bin/activate

// Активацию нужно будет повторять при каждом запуске консоли

Теперь нам нужно установить библиотеку Discord.py . Пишем в консоли:

Готово. Библиотека успешно установлено в наше виртуальное пространство. Теперь можно перейти непосредственно к коду.

Написание основы для бота

В папке нашего проекта создаем Python-файл с любым названием и открываем его в любом редакторе. В моем случае это будет bot.py .
В этот файл вы должны написать такой код:

import discord
from discord.ext import commands

Создание первой команды

JavaScript

API discord предоставляет инструмент для создания и использования ботов. Рассмотрим пример создания базового музыкального бота и добавления его на сервер. Бот сможет проигрывать, пропускать и останавливать музыку, а также будет поддерживать функцию очереди воспроизведения.

Установка discord-бота

Создаем новое приложение на портале разработки discord.

Переходим на портал и нажимаем на “new application”.


Затем вводим название приложения и нажимаем на кнопку “create”.

Затем переходим на вкладку бот и нажимаем на “add bot”.


Бот создан! Теперь можно перейти к добавлению его на сервер.

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

Добавляем созданный бот с помощью генератора OAuth2 URL.

Для этого переходим на страницу OAuth2 и выбираем бота в панели scope.



Теперь копируем сгенерированный URL и вставляем его в браузер.


Затем выбираем сервер, на который хотим добавить URL и нажимаем на кнопку “authorize”.


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

Переходим к созданию проекта с использованием терминала.

Для начала создаем директорию и переходим в нее, используя две следующие команды:

Затем создаем модули проекта с помощью команды npm init. После введения команды будут заданы несколько вопросов. Ответьте на них и продолжайте.

Создаем два файла, в которых мы будем работать.

Теперь откройте проект в текстовом редакторе. Я использую VS Code и открываю его с помощью следующей команды:

Основы Discord js

Прежде чем начать, нужно установить несколько зависимостей.

После завершения установки продолжаем написание файла config.json. Сохраните для бота токен и префикс, который он должен слушать.

Для получения токена снова зайдите на портал разработки discord и скопируйте его из раздела bot.


Это все, что нужно выполнить в файле config.json. Приступим к написанию кода javascript.

Сначала импортируем все зависимости.

Затем с помощью токена создаем клиента и логин.

Добавляем несколько базовых listeners, выполняющих метод console.log при запуске.

Теперь можно начать работу с ботом с помощью команды node. Бот должен быть online в discord и в консоль выведется“Ready!”


После этого проверяем, какую команду нужно запустить. Это можно выполнить с помощью простых операторов if.

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

Добавление песен

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

Для начала создаем map с названием очереди, в котором будут сохранены все песни, введенные в чат.

Переходим к получению информации о песне и сохранении ее в объект song. Для этого используем библиотеку ytdl, которая получает информацию о песне по ссылке на youtube.

Необходимая информация сохраняется в объект song.

В этом фрагменте мы проверяем, является ли serverQueue пустым. Если нет добавляем туда песню.

Если serverQueue имеет значение null, создаем контракт.

В этом блоке кода создается контракт, а песня добавляется в массив songs.

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

Проигрывание песен

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

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

Затем начинаем проигрывать песню с помощью функции playStream() и URL-адреса песни.

В этом фрагменте мы создаем stream и передаем его URL-адресу песни. Также добавляем два listeners, которые обрабатывают события end и error.

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

Теперь можно проиграть песню, введя !play URL в чат.

Пропуск песен

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

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

Остановка песен

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

Исходный код для index.js:

Полный исходный код для музыкального бота:

Заключение

У вас все получилось! Надеюсь, эта статья помогла вам разобраться в API Discord и создании с его помощью простого бота.

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