Угадай мой номер мини-игры на бот-диск с помощью discord.py - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь закодировать бот-диск с питоном.Я хотел включить эту мини-игру, где я могу угадать случайное число (в течение 7 попыток, это для цикла for).Но я получаю ошибки, которые не могу обнаружить в коде.Честно говоря, это из-за неправильных команд, но я не могу знать.

Я написал следующий код настолько ясно, насколько это возможно (я так думаю).

#name of file: Experimental Drone 5
import random
import discord
from discord.ext import commands
from discord.ext.commands import Bot
import asyncio    
drone = commands.Bot(command_prefix="!") 

[...]

@drone.command(pass_context=True)
async def chat(ctx):
    @drone.event
    async def on_message(message):

[...]

elif message.content.startswith("guess number"):                    #line 54
    await drone.send_message(message.channel, "text")
    z = random.randint(1, 100)
    for gT in range(1, 8):
        await drone.say("Guess it!")                                #line 58
        g = await drone.wait_for_message(int)
        if g > z:
            await drone.send_message(message.channel, "text")
        elif g < z:
            await drone.send_message(message.channel, "text")
        else:
            break
    if g == z:
        await drone.send_message(message.channel, "text")
    else:
        await drone.send_message(message.channel, "text. My number was 
        actually " + str(z))                                        #line 69

Ошибки: (имя пользователя изменено)

Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Users\name\AppData\Local\Programs\Python\Python36-32\lib\site-
      packages\discord\client.py", line 307, in _run_event
    yield from getattr(self, event)(*args, **kwargs)

File "C:\Users\name\Desktop\Trustworthy Drones\Experimental Drone 
      5\Experimental Drone 5 .py", line 58, in on_message
    await drone.say("Guess it!")

File "C:\Users\name\AppData\Local\Programs\Python\Python36-32\lib\site-
      packages\discord\ext\commands\bot.py", line 309, in _augmented_msg
    msg = yield from coro

File "C:\Users\name\AppData\Local\Programs\Python\Python36-32\lib\site-
      packages\discord\client.py", line 1145, in send_message
    channel_id, guild_id = yield from self._resolve_destination(destination)

File "C:\Users\name\AppData\Local\Programs\Python\Python36-32\lib\site-
      packages\discord\client.py", line 289, in _resolve_destination
    raise InvalidArgument(fmt.format(destination))

discord.errors.InvalidArgument: Destination must be Channel, PrivateChannel, 
User, or Object. Received NoneType
...