Как называются боты с открытым кодом discord
Перейти к содержимому

Как называются боты с открытым кодом discord

  • автор:

Создание бота на основе discord.py. Часть 1

Это первая статья про создание бота для Discord. В конце статьи находятся ссылки на следующие части, со временем они будут дополняться. Статьи следуют друг за другом, без каких-либо «информационных дыр». Если нашли опечатку или неточность, отпишите о проблеме в комментариях или в личных сообщениях, максимально оперативно всё поправим! А теперь переходим непосредственно к созданию бота.

В данной части

  1. Создание тестового сервера
  2. Включение режима разработчика
  3. Создание приложения и получение токена
  4. Добавление бота на сервер
  5. Установка библиотеки discord.py
  6. Первые строчки кода

Создание сервера

Гайд будет максимально подробный, поэтому и начинать будем с создания тестового сервера. Зачем он нужен? Лишь для вашего удобства и безопасности, если у вас уже есть большой сервер, тем более не стоит сразу добавлять на него разрабатываемого бота. Никто не защищён от багов и дыр в безопасности.

  1. Заходим в дискорд
  2. Слева видим список серверов, листаем в самый низ до кнопки «Создать сервер«.
  3. Создаём сервер по любому из предложенных шаблонов.

Включаем режим разработчика

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

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

В категории «Настройки приложения» ищем «Расширенные«.

И включаем режим разработчика.

Получение токена

Для начала нам нужно зайти на страницу создание приложений и нажать New Application.

После этого вам предложат назвать ваше приложение (Потом можно будет изменить).

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

После создания, попадаем на страницу настройки приложения. В меню выбираем «Bot«.

На данной странице нажимаем на «Add Bot«. Скопируем токен и сохраним его.

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

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

В меню ищем пункт OAuth2 –> URL Generator.

В поле SCOPES выбираем bot и applications.commands. В появившемся ниже поле выбираем Administrator, это более удобно для тестирования. Но когда бот будет работать в продакшене, лучше выставлять только те права, которые правда нужны, потому что никто не защищён от потери токена, а с правами администратора это может стать очень большой проблемой.

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

Ура! Наш бот на тестовом сервере!

Установка библиотеки

Для начала нужно установить python, данный этап не расписан, но желательно установить версию 3.10 (Последняя версия на момент написания 3.10.5). Если у вас Windows, для проверки можете использовать следующую команду

py --version

В ответ получите версию вашего python. Устанавливать будем не стабильную, а разрабатываемую версию, для этого пропишем следующую команду. (Это можно делать уже внутри проекта). Хотя некоторые IDE устанавливаю git вместе с собой, можете скачать его отдельно.

py -m pip install git+https://github.com/rapptz/discord.py

Если всё же хотите установить стабильную, релизную версию, пропишите следующую команду.

py -3 -m pip install -U discord.py py -3 -m pip install -U discord.py[voice]

Подробнее про установку библиотеки и саму библиотеку можно прочитать тут.

Первые строчки кода

Пришло время писать код! Программирование в статьях будет происходить в PyCharm, хоть это и довольно тяжёлая IDEA, она удобная и бесплатная для студентов.

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

Для этого заходим в PyCharm, далее File –> Open.

P.s. Не обращайте внимания на другую тему IDE.

В появившемся окне ищем созданную папку, выбираем её и нажимаем «Ok«. Обратите внимание на то, что нужно просто нажать по папке, а не проваливаться в неё.

Если PyCharm автоматически не создал main.py, создайте его вручную.

Вставляем код ниже и запускаем.

import discord # Подключаем библиотеку from discord.ext import commands intents = discord.Intents.default() # Подключаем "Разрешения" intents.message_content = True # Задаём префикс и интенты bot = commands.Bot(command_prefix='>', intents=intents) # С помощью декоратора создаём первую команду @bot.command() async def ping(ctx): await ctx.send('pong') bot.run('token') 

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

Идём в дискорд и используем нашу первую команду.

Немного объясним данную структуру. Поскольку это обычная команда, вся информация хранится в ctx(Переменная одноимённого класса). Она имеет следующие поля:

['args', 'author', 'bot', 'channel', 'cog', 'command', 'command_failed', 'guild', 'invoked_parents', 'invoked_subcommand', 'invoked_with', 'kwargs', 'me', 'message', 'prefix', 'subcommand_passed', 'valid', 'voice_client']

И следующие команды:

['fetch_message', 'history', 'invoke', 'pins', 'reinvoke', 'reply', 'send', 'send_help', 'trigger_typing', 'typing']

Если вы знакомы с синтаксисом языка, то данный список можно получить с помощью встроенной функции dir.

print(dir(ctx))

На более правильно прочитать документацию про Context.

Заключение

Сразу отвечу всем комментаторам. Да — подобных статей море, в том числе есть официальная документация. Но поскольку в моих планах есть создать серию статей, я хотел бы, что бы в них было описано всё, начиная с самых азов.

И небольшое примечание. Статьи строятся на основании того, что у вас есть опыт и знания программирования на python.

WildBeast: бот с открытым исходным кодом для Discord

Недели назад мы говорили с вами о Как установить Discord в Linux, una Приложение VoIP сверхмощный, специально разработанный для геймеров, который адекватно заменяет большинство текущих альтернатив. По этому поводу мы хотим представить бот для Discord называется WildBeast, который расширит многие функции созданных вами серверов.

Что такое WildBeast?

Это бот с открытым исходным кодом, разработанный командой Акулы, с целью предоставления инструмента, который автоматически выполняет различные задачи, среди которых модерация серверов Discord, автоматизация музыки в каналах, контроль нецензурных слов, приветствие новых пользователей и другие плюс.

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

бот для раздора

Особенности WildBeast

  • Позволяет передавать музыку с серверов YouTube, SoundCloud и т. Д.
  • В нем есть ряд предустановленных фраз и ответов на определенные команды.
  • Автоматическая система генерации мемов на основе параметров, введенных пользователями.
  • Обратите внимание на уведомления.
  • Серия команд для модерации канала (запретить, отключить звук, исключить и другие)
  • Разрешает изображения NSFW.
  • Интеграция с XKCD для поиска комиксов с канала.
  • Широкий спектр серверных функций (приветственные сообщения, информация о сервере и пользователе и т. Д.)
  • Управление ролями на серверах, с настройкой стилей и цветов.
  • Легко использовать, параметризовать и заставить его работать в вашем сообществе Discord.

Как использовать WildBeast в сообществе Discord

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

WildBeast — идеальный союзник для управления сообществом, этот бот сделает их более упорядоченными и практичными. Если мы хотим, чтобы WildBeast был ботом по умолчанию для вашего сообщества, вам следует перейти по следующей ссылке http://invite.wildbot.dougley.com/ выберите сервер вашей собственности, на который вы хотите добавить бота, авторизуйте интеграцию и начните пользоваться.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Из Linux » GNU / Linux » WildBeast: бот с открытым исходным кодом для Discord

2 комментариев, оставьте свой

Создание Discord-бота на Python. Часть 1

Приветствую, хабровчане и другие пользователи интернета. Сегодня я начну цикл статей, посвящённых созданию Discord-бота с помощью библиотеки discord.py. Мы рассмотрим создание как и примитивного бота, как и «продвинутого» бота с модулями. В этой статье мы сделаем стандартную команду и ещё одну небольшую команду. Начнём!

Создание бота и получение токена

Для того, чтобы добавить бота на сервер нужно создать свое приложение и во вкладке General Information скопировать Client ID.

Здесь заменяем CLID на ранее скопированный Client ID.

https://discordapp.com/oauth2/authorize?&client_id=CLID&scope=bot&permissions=8

Во вкладке Bot создаём бота и копируем токен.

Написание кода

Устанавливаем саму библиотеку.

pip install discord

Создаём файл config.py (так удобнее), и создаём там словарь.

settings =

Создаём main-файл, название может быть любое.
Импортируем библиотеки и наш файл конфига:

import discord from discord.ext import commands from config import settings

Создаём «тело» бота, название может быть любое:

bot = commands.Bot(command_prefix = settings['prefix']) # Так как мы указали префикс в settings, обращаемся к словарю с ключом prefix.

Начинаем писать основной код.

@bot.command() # Не передаём аргумент pass_context, так как он был нужен в старых версиях. async def hello(ctx): # Создаём функцию и передаём аргумент ctx. author = ctx.message.author # Объявляем переменную author и записываем туда информацию об авторе. await ctx.send(f'Hello, !') # Выводим сообщение с упоминанием автора, обращаясь к переменной author.

В конце запускаем бота с помощью:

bot.run(settings['token']) # Обращаемся к словарю settings с ключом token, для получения токена

Полный код

import discord from discord.ext import commands from config import settings bot = commands.Bot(command_prefix = settings['prefix']) @bot.command() # Не передаём аргумент pass_context, так как он был нужен в старых версиях. async def hello(ctx): # Создаём функцию и передаём аргумент ctx. author = ctx.message.author # Объявляем переменную author и записываем туда информацию об авторе. await ctx.send(f'Hello, !') # Выводим сообщение с упоминанием автора, обращаясь к переменной author. bot.run(settings['token']) # Обращаемся к словарю settings с ключом token, для получения токена

Должно получится так:

Бонусный туториал!

Сделаем вывод случайных картинок с лисами
Для этого импортируем еще пару библиотек:

import json import requests

Приступим к написанию команды.

@bot.command() async def fox(ctx): response = requests.get('https://some-random-api.ml/img/fox') # Get-запрос json_data = json.loads(response.text) # Извлекаем JSON embed = discord.Embed(color = 0xff9900, title = 'Random Fox') # Создание Embed'a embed.set_image(url = json_data['link']) # Устанавливаем картинку Embed'a await ctx.send(embed = embed) # Отправляем Embed

Должно получится так:

Конец

На этом 1 часть закончена. Скоро будет опубликована 2 часть.

В Discord добавлен чат-бот на базе OpenAI. Включение и примеры использования

В Discord добавлен чат-бот на базе OpenAI. Включение и примеры использования

Вы уже наверняка много слышали о чат-боте под названием ChatGPT, который был создан компанией OpenAI. Так вот примерно такой же бот, даже с небольшими нововведениями, был добавлен в Discord и сейчас находится в режиме бета-тестирования. Он автоматически считается участником сервера и пока общение с ним бесплатно для всех. Далее я хочу показать, как включить данного бота, начать с ним общение, а также дам общее представление о том, что он может отвечать.

Включение Клайда

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

  1. Откройте свой сервер, нажмите по его названию и из появившегося списка выберите пункт «Настройки сервера». Переход к настройкам Discord для включения чат-бота
  2. На панели слева выберите раздел «Интеграция» и активируйте пункт «Включить Клайда», если по умолчанию он отключен. Включение чат-бота в Discord через насртройки сервера

Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей

Проверка работы чат-бота

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

Проверка наличия чат-бота в чате сервера Discord

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

Примеры общения с Клайдом

Теперь давайте с вами попробуем пообщаться с чат-ботом и выясним, насколько быстро он отвечает за поставленные вопросы, будут ли ответы точными, а также какие данные из интернета он может предоставить. Например, тот же ChatGPT в своей бесплатной версии пока еще не может выдать ссылки или картинки (это было исправлено в новой версии, которая пока что платная).

  1. Вы всегда можете просто спросить у Клайда, что он умеет. Данное сообщение от него будет довольно большим по размеру, поэтому первые несколько секунд вы будете видеть уведомление «Clyde печатает». Отправка первого сообщения для чат-бота на сервере в Discord
  2. Далее появится абзац с общим описанием возможностей чат-бота. Из него уже можно узнать, какие функции он поддерживает и в каком направлении его использовать. Ответ на вопрос по возможностям чат-бота в Discord
  3. Он предоставляет вполне точные и быстрые ответы на самые распространенные вопросы. Может выдать рецепт блюда по указанным ингредиентам, подобрать литературу по теме, решить математические примеры или даже сочинить небольшой рассказ. Корректность и полнота ответов зависит от тех условий, которые вы будете ставить боту, поэтому не забывайте в сообщении описывать все детали. Общий вопрос для чат-бота в Discord
  4. Как вы уже знаете, Клайд работает со ссылками, поэтому его можно попросить найти музыкальный трек в интернете или любой официальный сайт. На следующем изображении как раз виден пример такой выдачи. Работа со ссылками в чат-боте Discord
  5. Примерно то же самое касается и гифок. Вы можете задать тему или название конкретной гифки, бот найдет ее в открытом источнике и вставит в ответ саму ссылку. Дискорд прогрузит данную гифку и воспроизведет ее. Отправка гифок в чат-боте Discord
  6. Если результат вас не устраивает или вы хотите получить другие ответы, снова обратитесь к Клайду и опишите, что хотели бы увидеть. Так без проблем можно менять гифки, плейлисты или получать дополнительные варианты решения ваших вопросов. Продолжение общения с чат-ботом в Discord

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *