【发布时间】:2018-03-31 01:05:54
【问题描述】:
目前正在搞乱 Discord.py Bot,我正在努力将多个未知值传递给这个函数。在此示例中,我允许用户添加多个数字,但我不知道它是否是 200 个数字中的 2 个数字。
使用下面的代码,我得到了一个似乎无法迭代的类对象(discord.ext.commands.context.Context 对象位于 0x032AAB10)。
我的类从以下代码中的 Music 类继承,https://github.com/Rapptz/discord.py/blob/async/examples/playlist.py
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
谢谢, 约翰
【问题讨论】:
-
可能因为
pass_context是True,你的第一个“数字”实际上是不和谐的上下文,而不是输入的人的数字。如果你将pass_context设置为False,会发生什么? -
问题解决了!如果您将其作为解决方案,我会将其标记为:D
-
嗯,这是一个随机的猜测。很高兴能提供帮助。
标签: python object parameter-passing discord discord.py