[英]discord.py TypeError: send() takes from 1 to 2 positional arguments but 3 were given
[英]TypeError: send() takes from 1 to 2 positional arguments but 3 were given
这是代码的一部分
@client.event
async def on_message(message):
# we do not want the bot to reply to itself
if message.author == client.user:
return
# The command /patch return a link with the latest patch note
if message.content.startswith('/patch'):
await message.channel.send(message.channel, 'Last patchnotes: https://www.epicgames.com/fortnite/en/news')
# The command /rank return attribute a rank according to the K/D of the user
用过的discord.py
当您键入/ patch
这是控制台显示的内容
Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Users\FeNka\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord\client.py", line 227, in _run_event
await coro(*args, **kwargs)
File "bot.py", line 107, in on_message
await message.channel.send(message.channel, 'Last patchnotes: https://www.epicgames.com/fortnite/en/news')
TypeError: send() takes from 1 to 2 positional arguments but 3 were given
有什么事吗
您的通话应更改为
await message.channel.send('Last patchnotes: https://www.epicgames.com/fortnite/en/news')
send
是message.channel
类的函数,因此可以访问self
。 它的调用可能类似于:
def send(self, message):
#does things
self
在这里是隐式的,您不发送它,这就是为什么当实际发送3
2
参数时看起来像传递了2
args的原因
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.