因此,当我激活社区服务器时,我的命令(例如 on_member_joun() 或 on_member_remove())停止工作,但是当我返回朋友服务器时它可以工作。接下来的问题是,我需要对我的机器人进行哪些更改才能使其正常工作
这个命令不会打印 hi
@commands.Cog.listener()
async def on_member_join(self, member):
print('hi')
self.cursor.execute("SELECT user_id FROM `users` WHERE `user_id` = %s", (member.id,))
result = self.cursor.fetchone()
if result is None:
self.cursor.execute("INSERT INTO `users` (`user_id`, `cash`, `lvl`) VALUES (%s, %s, %s)", (member.id, 0, 0))
print(f"User {member.name} added to the database.")
connection.commit()
在我看来,这就像特权网关意图的问题。确保您的机器人已启用服务器成员意图。您可以在此处阅读有关 discord.py 和特权网关意图的更多信息:https://discordpy.readthedocs.io/en/stable/intents.html