【发布时间】:2018-07-24 11:55:37
【问题描述】:
您好,我在尝试加载 cog 时遇到语法错误,我得到的错误是
await self.bot.send_message(channel, content=":warning: @mods There is a possible raid in progress! :warning:")
^
SyntaxError: invalid syntax
这就是我正在使用的东西
import asyncio
import os
import discord
from datetime import datetime
from __main__ import send_cmd_help, settings
from discord.ext import commands
from .utils import checks
from .utils.dataIO import dataIO
class AntiRaid():
"""Alerts Staff about possible incoming raids"""
def __init__(self, bot):
self.bot = bot
self.settings = dataIO.load_json("data/anti_raid/settings.json")
async def on_member_join(self, member):
server = member.server
if self.settings[server.id]["time_since_last_reset"] is None:
reset_time = 999 # a big number to trigger the timeout now
else:
last_reset = datetime.strptime(self.settings[server.id]["time_since_last_reset"], "%Y-%m-%d %H:%M:%S.%f")
reset_time = (datetime.now() - last_reset).total_seconds()
if reset_time > 30:
self.settings[server.id]["join_count"] = 0
self.settings[server.id]["time_since_last_reset"] = str(datetime.now())
dataIO.save_json("data/lockdown/settings.json", self.settings)
if self.settings[server.id]["join_count"] < self.settings[server.id]["max_joins"]:
self.settings[server.id]["join_count"] += 1
dataIO.save_json("data/lockdown/settings.json", self.settings)
return
if (self.settings[server.id]["join_count"] >= self.settings[server.id]["max_joins"]) and reset_time <= 30:
channel_id = self.settings[server.id]["channel"]
channel = self.bot.get_channel(channel_id)
await self.bot.send_message(channel, content=":warning: @everyone There is a possible raid happening! :warning:")
self.settings[server.id]["join_count"] = 0
self.settings[server.id]["time_since_last_reset"] = str(datetime.now())
dataIO.save_json("data/lockdown/settings.json", self.settings)
return
我不确定我在这里做错了什么有人可以帮助我吗?谢谢
【问题讨论】:
-
我看不到明显的语法错误(除了不一致的缩进,这在 Python 中非常很重要)。您确定您发布的代码与提供
SyntaxError的代码完全相同吗?
标签: python python-3.x discord.py