Как предоставить выбор только упомянутому пользователю в discord.py?
Я написал код команды. По задумке после ее прописывания автором, только упомянутый пользователь сможет нажать на любую кнопку. Как это реализовать? Я искал везде информацию, где только можно и принял решение задать вопрос на форуме.
Код:
@bot.command(aliases = ["свадьба", "жениться"])
async def предложение(ctx, member: discord.Member):
await ctx.send(
embed = discord.Embed(description=f"{member.mention}, тебе сделал предложение {ctx.author.mention}! Согласишься?"),
components = [
Button(style = ButtonStyle.green, label = "Согласиться"),
Button(style = ButtonStyle.red, label = "Отказаться")
]
)
def check(m):
return m.member.mention == ctx.member.mention
responce = await bot.wait_for("button_click", check=check)
if responce.channel == ctx.channel:
if responce.component.label == "Согласиться":
await ctx.send(embed = discord.Embed(description = f"**{ctx.author.name}** принял предложение **{member.name}** "))
time.sleep(10)
await ctx.send(embed = discord.Embed(description = f"**{ctx.author.name}** сыграли свадьбу с **{member.name}**!"))
if responce.channel == ctx.channel:
if responce.component.label == "Отказаться":
await ctx.send(embed = discord.Embed(description = f"**{member.name}** отказала **{ctx.author.name}** (обидно наверное) :raised_hand: "))
Ответы (1 шт):
Автор решения: Tiubert
→ Ссылка
Попробуйте сделать условие используя id автора и переменную с id упомянутого участника:
if ctx.author.id == "переменная с id упомянутого участника":
print('Всё сработало')
else:
print('Ошибка')
По идее, должно сработать.
