python - on.message () 接受 0 个位置参数,但给出了 1 个(discord.py bot)
问题描述
所以我有这个用 python 编写的简单不和谐机器人,当我尝试一些命令时,它给了我“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):
...
推荐阅读
- c++ - 特定情况的分段错误
- python - 指定 aws ECS/Fargate 容器依赖项无法部署
- google-analytics - 为什么 Uncaught SyntaxError: Unexpected token ','?
- java - Java中的类,对象,方法和再次询问循环的问题
- python - 找不到使用 selenium 按下的按钮
- c++ - 更有效地在微控制器上对 C++ 进行基准测试
- html - Flexbox 忽略父类
- python - 如何将安装在一台机器上的 Anaconda env 传输到服务器?
- r - R 中的老鼠 - 我如何理解这个命令的作用?
- javascript - 在Javascript中重建嵌套对象