Добавление кнопок с ответами для встраивания discord.py

#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])
 

Это повторяющаяся функция, которая выполняется в определенное время в день. Однако, когда я пытаюсь связать ответ, он просто полностью игнорирует его. Какие-либо рекомендации? Вот моя попытка ответа:

 @slash.component_callback()
async def hello(ctx: ComponentContext):
    await ctx.send(content="You pressed a button!", hidden=True)
 

В конце я хочу, чтобы отправленное сообщение было скрытым сообщением.

Комментарии:

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.