Я занимаюсь функцией вызова на бой и его отклонением для своего проекта
Сначала всё работало нормально, но когда я добавил функцию проверки отправителя(у человека, которому бросили вызов есть 2 варианта ответа да или нет и отвечать может только он(да пока я не делал т.к. я ещё не продумал механики боя) бот на команды перестал реагировать. Подскажите что делать пожалуйста.
#вызов
@client.command(pass_context=True)
async def battle(ctx, member: discord.Member):
author=ctx.message.author
enemy=member.mention
await ctx.channel.purge(limit=1)
await ctx.send(f'{enemy}, вам бросает вызов{author.mention}!. ^yes ли ^no')
@client.command(pass_context=True)
async def no(ctx):
if ctx.message.author == enemy:
await ctx.send(f'{enemy} отклонил(-а) запрос.')
else:
return
Ответы (1 шт):
Автор решения: RAINGM
→ Ссылка
@client.command()
async def battle(ctx: commands.Context, member: discord.Member):
await ctx.send(f'{member.mention}, вам бросает вызов {ctx.author.mention}!. ^yes ли ^no')
def check(m):
return m.author == member and m.channel == ctx.channel
try:
msg = await client.wait_for('message', check=check)
if msg.content == '^yes':
# battle
else:
# decline
except asyncio.TimeoutError:
return await ctx.send('vremya vishlo')