python Discord bot抛出错误:discord.client忽略on_message中的异常

6kkfgxo0  于 2023-08-02  发布在  Python
关注(0)|答案(1)|浏览(105)

我试图通过遵循Python在线教程来制作一个不和谐的机器人,并且有相同的代码工作,但在我的设备中,它抛出了上述错误。
我在网上搜索了但是还是没有找到。
有人能详细解释一下这个问题吗?
这是我使用的代码

import discord
import os
import openai

openai.api_key = os.getenv("OPENAI_API_KEY")
token =os.getenv("SECRET_KEY")

class MyClient(discord.Client):
    async def on_ready(self):
        print(f'Logged on as {self.user}!')

    async def on_message(self, message):
        print(f'Message from {message.author}: {message.content}')
        if self.user != message.author:
          if self.user in message.mentions:
            response = openai.Completion.create(
              model="text-davinci-003",
              prompt= message.content,
              temperature=1,
              max_tokens=256,
              top_p=1,
              frequency_penalty=0,
              presence_penalty=0
            )
            channel=message.channel
            messageToSend = response.choices[0].text
            await channel.send(messageToSend)

intents = discord.Intents.default()
intents.message_content = True

client = MyClient(intents=intents)
client.run(token)

字符串
这是我得到的错误信息

2023-08-01 06:02:09 ERROR    discord.client Ignoring exception in on_message
Traceback (most recent call last):
  File "/home/runner/discordGPT/venv/lib/python3.10/site-packages/discord/client.py", line 441, in _run_event
    await coro(*args, **kwargs)
  File "main.py", line 20, in on_message
    response = openai.Completion.create(
  File "/home/runner/discordGPT/venv/lib/python3.10/site-packages/openai/api_resources/completion.py", line 25, in create
    return super().create(*args, **kwargs)
  File "/home/runner/discordGPT/venv/lib/python3.10/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 153, in create
    response, _, api_key = requestor.request(
  File "/home/runner/discordGPT/venv/lib/python3.10/site-packages/openai/api_requestor.py", line 298, in request
    resp, got_stream = self._interpret_response(result, stream)
  File "/home/runner/discordGPT/venv/lib/python3.10/site-packages/openai/api_requestor.py", line 700, in _interpret_response
    self._interpret_response_line(
  File "/home/runner/discordGPT/venv/lib/python3.10/site-packages/openai/api_requestor.py", line 763, in _interpret_response_line
    raise self.handle_error_response(
openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details.



我按照教程和它的工作有相同的代码,什么可能是问题,不造成它在我的设备上工作

wz3gfoph

wz3gfoph1#

当您在on_message中遇到错误discord.client Ignoring exception时,这意味着在Discord bot的on_message事件处理程序中发生了异常(错误),并且它被bot的客户端忽略。
以下是您可以采取的几个步骤来排除故障并解决此问题:
1.查看traceback:您提供的错误消息通常会与有关发生的特定异常的其他信息沿着记录。查找显示代码行和导致异常的特定错误的回溯或堆栈跟踪。这可以为问题的根本原因提供有价值的见解。
1.在on_message事件处理程序中处理异常:将on_message事件处理程序中的代码 Package 在try-except块中,以捕获可能发生的任何异常。这将防止未处理的异常被忽略,并为您提供适当处理它的机会。举例来说:
@client.event async def on_message(message):try:#您的代码在这里除了Exception作为e:print(f“发生错误:{e}”)
通过捕获异常并打印或记录错误,可以获得有关导致异常的特定问题的更多信息。
1.验证代码逻辑:检查on_message事件处理程序中的代码并确保其正确实现。检查是否存在任何潜在错误,例如不正确的函数调用、不正确的变量使用或缺少库或依赖项。
1.更新您的Discord库:请确保您使用的是最新版本的Discord库(例如discord.py)。过时版本的库可能存在可能导致错误的错误或兼容性问题。更新到最新版本通常可以解决这些问题。
1.向社区寻求帮助:如果您无法自行识别或解决问题,请考虑联系Discord社区或相关论坛寻求帮助。提供任何错误消息、追溯和相关代码段,以帮助其他人更有效地理解和诊断问题。
请记住,在代码中正确处理异常并确保机器人逻辑的正确实现将帮助您更有效地识别和解决错误。

相关问题