【发布时间】:2017-10-27 00:22:38
【问题描述】:
@Ava.command()
async def general(*args):
await Ava.send_message(message.Object(id='207602020968955906'), args)
@Ava.command(aliases=['game'])
async def setgame(*args):
await Ava.change_presence(game=discord.Game(name='%s'% (args)))
我对 Python 编码和使用 API 还很陌生,但我似乎无法让它发挥作用。
此代码应获取用户输入(按照命令)并在其他地方(在给定 ID 的目的地)重新打印。但是,在接受用户输入时,它似乎附加了一些奇怪的标点符号。
'Hi' 变成 ('Hi',) 例如。它总是相同的标点符号。正如您在上面看到的,我尝试了两种不同的拉 args 方法。我已经翻遍了,找不到答案 - 知道为什么 *args 会这样工作/如何解决它?
感谢任何帮助!
【问题讨论】:
-
args是一个元组。('Hi',)就是那个元组,里面有一个元素。它必须是一个元组,因为*args意味着您将捕获 0 个或多个参数。 -
你为什么要使用
*args? -
不要将元组
args的字符串表示与实际数据混淆。它只是添加了额外的字符来表示类型,就像'Hi'周围出现引号一样,它们不是存储数据的一部分。
标签: python python-3.x discord