大佬教程收集整理的这篇文章主要介绍了on.message () 接受 0 个位置参数,但给出了 1 个(discord.py bot),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我用 python 编写了这个简单的 discord bot,当我尝试一些命令时,它给了我“on.message () 需要 0 个位置参数,但给出了 1 个”。这是机器人的代码。
import discord
import os
import requests
import Json
from keep_alive import keep_alive
clIEnt = discord.ClIEnt ()
@clIEnt.event
async def on_ready () :
await clIEnt.change_presence(activity=discord.Game('Sivo nebo'))
print ('We have logged in as {0.user}'.format(clIEnt))
@clIEnt.event
async def on_message () :
if message.author == clIEnt.user :
return
if message.content.startswith('!hi') :
await message.chAnnel.send('Hi!')
if message.content.startswith('!goodbye') :
await message.chAnnel.send('Goodbye!')
keep_alive()
clIEnt.run(os.getenv('TOKEN'))
所有事件都采用隐式上下文参数。
async def on_ready(ctX):
...
async def on_message(ctX):
...
,
尝试使用 async def on_message(messagE):
我很确定您当前的代码不会工作,因为消息未定义。
,如果您查看 discord.py
documentation,您会看到 on_message()
event reference 隐式采用参数:message
。因此,当您使用非参数定义 on_message
时,discord.py
会尝试传递 message
,但无法传递。
@client.event
async def on_message(messagE):
if message.author == client.user:
return
if message.content.startswith('!hi') :
await message.chAnnel.send('Hi!')
if message.content.startswith('!goodbye') :
await message.chAnnel.send('Goodbye!')
附带说明一下,我建议您查看 discord.ext.commands
framework,它允许您创建命令,并且比使用 message.content.startswith()
及其变体更好。
以上是大佬教程为你收集整理的on.message () 接受 0 个位置参数,但给出了 1 个(discord.py bot)全部内容,希望文章能够帮你解决on.message () 接受 0 个位置参数,但给出了 1 个(discord.py bot)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。