python-3.x 尝试制作一个不和谐的机器人,但在.message或message.content上不工作

mrphzbgm  于 2022-12-20  发布在  Python
关注(0)|答案(2)|浏览(102)

我希望机器人使用gpt-3 API来回答问题,但由于某种原因。message不工作

import openai
import discord

openai.api_key = "apikey"

client = discord.Client()

@client.event

async def on_ready():
 print('online')

async def on_message(message):
   
    if message.content.startswith("!ask"):
        print('I read the message')
        

        question = message.content[5:]

        response = openai.Completion.create(
            engine="text-davinci-002",
            prompt=f"{question}\n",
            temperature=0.7,
            max_tokens=1024,
            top_p=1,
            frequency_penalty=0,
            presence_penalty=0
        )

        await message.channel.send(response.choices[0].text)

client.run('token')

一切工作正常,“在线”出现,但之后我不知道发生了什么,因为我没有得到任何错误(抱歉,如果它的东西明显,我只是现在学习)

client.run('token')
open.api_key="apikey"

在我的代码中显然被替换成了真实的的

mhd8tkvw

mhd8tkvw1#

如果你想注册一个事件,你必须把client.event装饰器放在事件函数的顶部,你的on_message函数肯定没有装饰器,所以你只需要在它上面放一个装饰器。

@client.event
async def on_message(message):
    ...
7eumitmz

7eumitmz2#

您需要对每个事件使用@client.event

@client.event
async def on_ready():
 print('online')

@client.event # <- this is new
async def on_message(message):
   # ...

相关问题