首页 > 解决方案 > 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'))

标签: pythondiscord

解决方案


所有事件都采用隐式上下文参数。

async def on_ready(ctx):
    ...

async def on_message(ctx):
    ...

推荐阅读