#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.