gpt4 book ai didi

python - 你如何摆脱 "SyntaxError: ' 等待'外部功能“

转载 作者:行者123 更新时间:2023-12-05 08:11:02 25 4
gpt4 key购买 nike

我正在尝试将 discord 机器人更改为在线状态

我一直在用pycharm和terminal。我已经尝试以多种不同的方式重新排序代码,但这是我现在拥有的

import discord
from discord.ext import commands
client = commands.Bot(command_prefix=".")
@client.event
async def on_ready():
print('Bot is ready.')
await client.run(bot token)

我也试过这些:

import discord
from discord.ext import commands
client = commands.Bot(command_prefix=".")
@client.event
async def on_ready():
print('Bot is ready.')
await client.run(bot token)
on_ready

import discord
from discord.ext import commands
client = commands.Bot(command_prefix=".")
@client.event
async def on_ready():
print('Bot is ready.')
await client.run(bot token)
on_ready

我遇到了这些错误:

:8: RuntimeWarning: 从未等待协程 'on_ready'RuntimeWarning:启用 tracemalloc 以获取对象分配回溯

SyntaxError: 'await' 外部函数

请帮我让机器人上线

最佳答案

首先,await 不能在 async def 函数之外,您正在等待的东西缩进不够,无法在函数 on_ready 内.

其次,您不应该尝试手动调用 on_ready,一旦机器人运行,它会自己调用 on_ready

第三,永远不要把 client.run 放在 on_ready 里面! 如果你确实把它放在文件的末尾,而是把它放在文件的末尾在 on_ready 内部,它永远不会运行。

所以,这将是理想的代码:

@client.event
async def on_ready():
print('Bot is ready!')

client.run(TOKEN)

至于存储机器人 token ,我会把它放在数据库中,例如 replit 或 mongoDB 数据库。

关于python - 你如何摆脱 "SyntaxError: ' 等待'外部功能“,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65814096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com