代码:
%s\n
输入正确的Python列表([“猫”,“狗”,“禁止宠物”])时出现奇怪的错误:
# Random Choice
@client.command(aliases=["rand_c"])
async def random_choice(ctx, python_list):
await ctx.send(random.choice(python_list))
在常规Python中它可以正常工作,但为什么在discord.py中不能呢?
答案 0 :(得分:1)
命令的所有输入最初都被视为字符串。您需要提供一个转换器函数来告诉命令该字符串做什么:
from ast import literal_eval
@client.command(aliases=["rand_c"])
async def random_choice(ctx, *, python_list: literal_eval):
await ctx.send(str(python_list))