Система проверки работает только в первый раз. После первого нажатия кнопки пишет: «Не удалось выполнить взаимодействие»Python

Программы на Python
Ответить
Anonymous
 Система проверки работает только в первый раз. После первого нажатия кнопки пишет: «Не удалось выполнить взаимодействие»

Сообщение Anonymous »

Привет!
В настоящее время я создаю систему проверки для своего сервера, которая может определить, прошел ли пользователь уже проверку или нет. Чтобы объяснить подробно, у меня есть команда, которая отправляет встраивание на канал с помощью кнопки. Когда вы нажимаете кнопку, вам должна быть предоставлена ​​роль, которая подтверждает вашу верификацию.
Это взаимодействие также должно определить, прошли ли вы уже верификацию на сервере, то есть у вас уже есть эта роль.
Я написал код, который действует немного странно. Когда я выполняю команду для публикации встраивания с помощью кнопки проверки, кнопка работает должным образом только при первом нажатии. Второй щелчок говорит:

"Это взаимодействие не удалось",

и я не понимаю, что происходит.
Вот код:

Код: Выделить всё

#Verification System
@client.command()
async def acceptterms(ctx):
channel = client.get_channel(961292090522869771)
verifyRole = discord.utils.get(ctx.guild.roles, name='Member')

verifyEmbed = discord.Embed(title='**Welcome to the Discord server.**', description='To get access to the rest of the server, you must agree to the our rules and Discord [community guidelines](https://discord.com/guidelines).\n\n**To agree and get access to the server, click on the button below this message.**', color=0xa7f0a7)

message = await channel.send(embed=verifyEmbed, components = [
Button(label= 'I agree to the server rules and Discord community guidelines.', custom_id='button1', style=ButtonStyle.blue)
])

interaction = await client.wait_for("button_click", check = lambda i: i.custom_id == "button1")
if verifyRole in ctx.author.roles:
await interaction.send(content = "You are already verified and have access to the entire server.")
else:
await interaction.send(content = "You are now verified! Welcome to the server!")
await ctx.author.add_roles(verifyRole)
Внизу вы можете видеть, что взаимодействие ожидает нажатия кнопки. При нажатии кнопки взаимодействие должно реагировать в соответствии с функцией «if». Но это не так. Кроме того, это работает только один раз после создания встраивания.
Есть ли у кого-нибудь решение этой проблемы?
Заранее спасибо.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»