类型错误:me()需要2个参数(给了3个)
我正在尝试使用一个supybot的插件,但总是遇到错误,没办法解决(我用的是Python 2.6)
我遇到的错误是:
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/supybot/callbacks.py", line 1180, in _callCommand
self.callCommand(command, irc, msg, *args, **kwargs)
File "/usr/lib/python2.6/site-packages/supybot/utils/python.py", line 86, in g
f(self, *args, **kwargs)
File "/usr/lib/python2.6/site-packages/supybot/callbacks.py", line 1166, in callCommand
method(irc, msg, *args, **kwargs)
File "/usr/lib/python2.6/site-packages/supybot/commands.py", line 913, in newf
f(self, irc, msg, args, *state.args, **state.kwargs)
File "/usr/lib/python2.6/site-packages/supybot/plugins/Slap1/plugin.py", line 109, in slap
self.me(irc, text)
TypeError: me() takes exactly 2 arguments (3 given)
ERROR 2013-03-19T15:13:13 supybot Exception id: 0x873c0
插件的代码可以在这里找到:
https://raw.github.com/StevenRKM/supybot-plugins/master/Slap/plugin.py
请帮我解决这个问题
2 个回答
2
我觉得这个信息给出了一个很明确的提示,说明哪里出错了。
你在调用 me()
这个函数时传了三个参数(self
、irc
和 text
),但这个函数其实只需要两个参数(self
和 msg
)。
4
你的 me
方法的定义是这样的:def me(self, msg)
。但是它被调用的方式是 self.me(irc, text)
,这就意味着它的定义应该改成 def me(self, irc, msg)
。