0

我尝试遵循有关如何使用 discord.py 托管不和谐机器人的教程。我做的一切都正确,但 pyflakes 显示语法错误。你知道为什么吗?

我有两个文件:main.py 和 keep_alive.py。这是 main.py:

import os
import discord
from keep_alive import keep_alive
from discord.ext import commands

TOKEN = os.environ('TOKEN')
client = commands.Bot(command_prefix='!')

async def on_ready():
  await client.change_presence(activity=discord.ActivityType.listenting('to the server!', status=discord.Status.online)

keep_alive.keep_alive()
client.run(TOKEN, bot=True, reconnect=True)

这是keep_alive.py:

from flask import Flask
from threading import Thread

app = Flask('')

@app.route('/')
def main():
    return "<h1>Your bot is alive!</h1>"

def run():
    app.run(host="0.0.0.0", port=8080)

def keep_alive():
    server = Thread(target=run)
    server.start()`

当我运行程序时,我得到这个错误:

  File "main.py", line 12
    keep_alive.keep_alive()
    ^
SyntaxError: invalid syntax
 
4

1 回答 1

0

您的代码中存在重大错误。首先,您正在使用 repli,其中使用os.environ["Key_Name"]访问 env 令牌。然后你从keep_alive导入keep_alive,只需要使用keep_alive()调用它。那么你在 change_presence中缺少一个右括号) 。此外,不要更改 on_ready 事件中的存在(即使最初几次没有断开,您的机器人也可能断开连接。)而是更改机器人构造函数中的活动。

BotClient = commands.Bot(command_prefix=prefixes, intents=discord.Intents.all(), help_command=None, activity=discord.Activity(type=discord.ActivityType.listening, name="Spotify"))
于 2021-12-23T16:46:17.093 回答