为啥我会收到这个语法错误(false syntax error pyflakes)

Posted

技术标签:

【中文标题】为啥我会收到这个语法错误(false syntax error pyflakes)【英文标题】:Why do I get this syntax error (false syntax error pyflakes)为什么我会收到这个语法错误(false syntax error pyflakes) 【发布时间】:2022-01-23 02:25:05 【问题描述】:

我尝试按照有关如何使用 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
 

【问题讨论】:

您在上一行缺少括号。每当您收到语法错误时,通常实际错误都在前一个留置权上 非常感谢 @12944qwerty 谢天谢地,它已在 python 3.10 中修复 【参考方案1】:

您的代码中存在重大错误。 首先,您正在使用 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"))

【讨论】:

以上是关于为啥我会收到这个语法错误(false syntax error pyflakes)的主要内容,如果未能解决你的问题,请参考以下文章

为啥我会收到语法错误:SassError:预期的“”?

为啥我会收到此错误:模块构建失败(来自 ./node_modules/babel-loader/lib/index.js):语法错误 Unexpected token, expected "

我在解析 JSON 时遇到错误。为啥我会收到这个错误?

请问哈,为啥会出来invalid syntax语法错误

当它不可能是真的时,为啥我会收到这个错误?

为啥我会收到这些错误,java truetype 错误?