Discord bot创建了一个"频道"变量

时间:2018-03-07 13:15:44

标签: python bots discord.py

我发现了python discord bot模块,这是练习我的python的一个非常好的练习。 所以使用discord模块我尝试创建一个频道并同时将它放在一个变量中(我不想在创建后在列表中搜索频道)

这是我试图执行的代码:

import discord  
from discord.ext import commands 

client = commands.Bot(command_prefix = "?")

@client.event 
async def on_ready():
    server = client.get_server(os.environ['DISCORD_SERVER_ID]) 
    cCurrent = client.create_channel(server, str("%s 0" %(pokeName)))
[...]
    await client.send_message(cCurrent, embed=raid.embed())

当我执行此代码时,出现错误:

in send_message
    [...]
 in _resolve_destination
    raise InvalidArgument(fmt.format(destination))
discord.errors.InvalidArgument: Destination must be Channel, PrivateChannel, User, or Object. Received generator

所以我想象client.create_channel还没有被执行,这是正常使用python吗?

如何在客户端和变量中同时创建新的通道对象?

1 个答案:

答案 0 :(得分:0)

Client.create_channel是一个协程,这意味着您必须使用await语法(或Python 3.4中的yield from)来获取其值:

cCurrent = await client.create_channel(server, str("%s 0" %(pokeName)))