我发现了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吗?
如何在客户端和变量中同时创建新的通道对象?
答案 0 :(得分:0)
Client.create_channel
是一个协程,这意味着您必须使用await
语法(或Python 3.4中的yield from
)来获取其值:
cCurrent = await client.create_channel(server, str("%s 0" %(pokeName)))