目前正在搞乱Discord.py Bot,我正在努力将多个未知值传递给此函数。在这个例子中,我允许用户添加多个数字,但我不知道它是2个数字的200个数字。
使用下面的代码,我得到一个我无法迭代的类对象(discord.ext.commands.context.Context对象位于0x032AAB10)。
我的类继承自以下代码https://github.com/Rapptz/discord.py/blob/async/examples/playlist.py
中的Music类class John_Bot(Music):
@commands.command(pass_context=True, no_pm=True)
async def add(self, *nums):
result = 0
for num in nums:
try:
result += num
except:
await self.bot.say("Numbers only please")
break
await self.bot.say("{} = {}".format((' + '.join(map(str, list(nums)))), result))
如何从这个对象中获取变量?我很可能做了一些愚蠢的事情或者没有完全理解我在做什么,所以提前道歉:D
谢谢, 约翰
答案 0 :(得分:1)
您正在请求将上下文传递给您的函数,这将成为*nums
中的第一个参数。只需将pass_context
设置为False
,或将功能签名更改为async def add(self, ctxt, *nums)
。