Для создания кнопок в дискорд боте на python, нам потребуется библиотека discord.py, в которой есть класс discord.Message , в котором есть метод add_reaction для добавления реакций к сообщению. Таким образом, мы можем добавить кнопки в бота, используя этот метод.
Пример добавления кнопок
В этом примере мы добавим две кнопки в наше сообщение, используя метод add_reaction:
После выполнения этого кода, мы увидим две кнопки в сообщении: галочку и крестик. Эти кнопки можно будет использовать для подтверждения или отмены какого-либо действия.
Вместо символов можно использовать и картинки, просто передав картинку в качестве аргумента метода add_reaction. Для этого можно использовать путь к изображению или ссылку на него:
После выполнения этого кода, вместо двух символов мы увидим две картинки. Картинки могут быть любыми изображениями в формате PNG, JPEG или GIF.
Таким образом, мы можем легко добавлять кнопки в сообщения нашего бота, используя метод add_reaction библиотеки discord.py. Это позволяет добавлять кнопки для подтверждения или отмены действия или любой другой необходимой функциональности.
Discord.py Ep. 9 — Buttons
Источник: hccoder.info
Добавить компоненты кнопки в сообщение (discord.py)
После того, как я увидел это (компоненты сообщения) в справочнике API Discord, мне было интересно, есть ли способ реализовать его с помощью python?
Я попытался создать массив json и передать его в своем сообщении, но не смог заставить его работать.
Я также попытался найти ссылку на python, но ничего не нашел.
Если у вас есть информация, спасибо, если вы ею поделитесь.
27 май ’21 в 15:32 2021-05-27 15:32
2021-05-27 15:32
6 ответов
Кнопки еще не реализованы в в Discord.py Wrapper от Rapptzпоследней на данный момент версии v1.7.2 .
Однако вы можете посмотреть здесь, что запланировано для следующего обновления, и каков статус разработки.
А пока вам придется либо делать собственные запросы к Discord API, либо искать неофициальные библиотеки.
user8620128 27 май ’21 в 17:34 2021-05-27 17:34
2021-05-27 17:34
На данный момент вы можете получить библиотеку под названием discord_components использовать кнопки.
Чтобы установить эту библиотеку, используйте pip install —upgrade discord-components (Иногда команда была бы pip3 install —upgrade discord-components ).
Чтобы импортировать кнопки компонентов Discord, используйте
from discord_components import DiscordComponents, Button, ButtonStyle, InteractionType
Затем просто добавьте этот код в бота on_ready() :
DiscordComponents(bot, change_discord_methods=True)
Чтобы добавить кнопку в сообщение, сделайте следующее:
await ctx.send(type=InteractionType.ChannelMessageWithSource, content=»Message Here», components=[Button(style=ButtonStyle.URL, label=»Example Invite Button», url=»https://google.com»), Button(style=ButtonStyle.blue, label=»Default Button», custom_id=»button»)])
Чтобы что-то сделать при нажатии кнопки, вы можете сделать что-то вроде этого:
Кнопка «Добавить на сервер» в профиле Discord бота
Этот метод переживает даже перезагрузки!
В любом случае, вот пример, который я собрал для вас, если он вам нужен:
В любом случае, если вы нашли это полезным, проголосуйте за этот пост 🙂 Удачного дня!
Источник: stackru.com
Блог
Добавление кнопок с ответами для встраивания discord.py
- Post author: admin
- Запись опубликована: 13 июля, 2022
- Post category: Вопросы по программированию
#python #discord #discord.py
#python #Discord #discord.py
Вопрос:
Я искал ответ, который подходит для моего кода, и, честно говоря, не могу его найти. Я знаю, как создавать кнопки и добавлять их в нижнюю часть моей вставки, но я не могу заставить их отправлять скрытое сообщение. Это мой код кнопки:
buttons = [ create_button(style=ButtonStyle.green, label=»I liked it»), create_button(style=ButtonStyle.grey, label=»I’m neutral»), create_button(style=ButtonStyle.red, label=»I did not like it») ] action_row = create_actionrow(*buttons) bcc2 = await bcc.send(embed=embed, components=[action_row])
Это повторяющаяся функция, которая выполняется в определенное время в день. Однако, когда я пытаюсь связать ответ, он просто полностью игнорирует его. Какие-либо рекомендации? Вот моя попытка ответа:
В конце я хочу, чтобы отправленное сообщение было скрытым сообщением.
1. Какой пакет вы используете для создания кнопок и выполнения команд с косой чертой? Насколько я знаю, с discord.py вами нельзя отправлять скрытые сообщения. Но некоторые пакеты предоставляют способ отправки «эфемерного сообщения» в качестве ответа на команды косой черты и другие компоненты.
Ответ №1:
Вы не можете сделать это с discord.py , но вы можете сделать это с помощью pycord, который является разветвлением discord.py . Новейшая версия pycord (2.0.0) поддерживает команды косой черты, компоненты сообщений и эфемерные сообщения.
Вы можете установить его, запустив это в своем терминале:
pip install -U git https://github.com/Pycord-Development/pycord
Чтобы заставить бота отправить скрытое сообщение, вы делаете это:
await ctx.send(‘This is a hidden message’, ephemeral=True)
Вы также можете использовать встроенную функцию командной строки с помощью pycord без необходимости установки сторонней библиотеки. Вы можете проверить документы здесь для получения дополнительной информации.
В этом руководстве объясняется, как создавать представления и кнопки с помощью pycord.
Источник: programbox.ru