Игра в угадывание чисел с помощью discord.py rewrite - PullRequest
1 голос
/ 29 мая 2020

Я пробовал этот код, бот говорит предположение, но не отвечает на мое предположение.

@commands.command()
async def game(self, ctx):
    number = random.randint(0, 100)
    for guess in range(0, 5):
        await ctx.send('guess')
        Message = await bot.wait_for('message')
        Message = int(Message)
        if Message.cleant_content > number:
            await ctx.send('bigger')
        elif Message.cleant_content < number:
            await ctx.send('smaller')
        else:
            await ctx.send('true')

1 Ответ

0 голосов
/ 29 мая 2020

Поскольку вы используете винтики, я бы предположил, что ваш бот инициализирован как self.bot, а не просто bot.

Кроме того, вы конвертируете объект сообщения в целое число и пытается получить доступ к атрибуту целого числа с именем cleant_content.

Вот как должен выглядеть ваш код:

@commands.command()
async def game(self, ctx):
    number = random.randint(0, 100)
    for i in range(0, 5):
        await ctx.send('guess')
        response = await self.bot.wait_for('message')
        guess = int(response.content)
        if guess > number:
            await ctx.send('bigger')
        elif guess < number:
            await ctx.send('smaller')
        else:
            await ctx.send('true')

Я также изменил несколько имен переменных для удобства чтения. Если вы хотите, вы можете добавить несколько проверок, было ли их предположение на самом деле числом или нет. полностью лишен своей цели, потому что вы не можете преобразовать <, @, #, !, > и тому подобное в целое число, что означает, что в любом случае это приведет к ошибке. Я надеюсь, что это имело смысл.


Ссылки:

...