我试图让机器人踢球员谁的作用了一个星期,但我得到一些错误。
第一个
我已经在stackoverflow中尝试了一些相关的答案,比如TypeError: 'module' object is not callable和TypeError: 'datetime.datetime' object is not callable,但是没有任何效果,也许是因为这是我第一次使用python?
对不起,我的英语不好,但我需要一些帮助。
- 编辑-
我的第一个代码是
@bot.event
async def on_member_update(before, after):
if len(before.roles) < len(after.roles):
new_role = next(role for role in after.roles if role not in before.roles)
guild = bot.get_guild(*something*)
if '.• 미인증 유저' in new_role.name:
role_name1 = ".• 미인증 유저"
role1 = discord.utils.get(guild.roles, name=role_name1)
await asyncio.sleep(604800)
timenow = datetime.now
max_join_time_1 = timenow() - timedelta(weeks=1)
log_channel = bot.get_channel(*something*)
if after in role1.members and after.joined_at < max_join_time_1:
await after.kick(reason="일주일동안 인증하지 않으셨습니다.")
embed = discord.Embed(title="강퇴",
colour=0xB11B1B,
timestamp=datetime.now())
embed.set_thumbnail(url=after.avatar_url)
fields = [("이름", f"{after.name}", False),
("사유", f"7일간 미인증으로 머물러 강퇴당함.", False)]
for name, value, inline in fields:
embed.add_field(name=name, value=value, inline=inline)
await log_channel.send(embed=embed)
else:
pass
else:
pass
但后来我有了
TypeError: can’t compare offset-naive and offset-aware datetimes
错误,所以我将两个时区都固定为UTC。
首先,当我在我的电脑上运行它时,它工作得很好,只有当我将它上传到Heroku时,它才有错误。
但是编辑之后我也不能用我的电脑运行它。
2条答案
按热度按时间g0czyy6m1#
问题就在这里:
您创建了一个名为
timenow
的datetime
对象,然后尝试在下一行调用它。删除括号:
zfciruhq2#
在我的情况下,有一个datetime.py存在于我的活动python文件的同一目录中。