Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在discord.py中的on_user_update事件中获取公会id_Python_Discord.py - Fatal编程技术网

Python 在discord.py中的on_user_update事件中获取公会id

Python 在discord.py中的on_user_update事件中获取公会id,python,discord.py,Python,Discord.py,因此,我正在尝试进行on_user_update事件,并发送消息,以获取设置为帮会日志通道的通道id,我按帮会id排序,但on_user_update没有帮会属性。那么我该如何实现我的目标呢 代码如下: @机器人事件 用户更新前、后的异步定义: 与aiosqlite异步。将“database.sqlite”连接为数据库: 与db.executes异步从日志中选择通道\u id,其中guild\u id=?,答案作为光标显示在此处: result=wait cursor.fetchone 如果结果

因此,我正在尝试进行on_user_update事件,并发送消息,以获取设置为帮会日志通道的通道id,我按帮会id排序,但on_user_update没有帮会属性。那么我该如何实现我的目标呢

代码如下:

@机器人事件 用户更新前、后的异步定义: 与aiosqlite异步。将“database.sqlite”连接为数据库: 与db.executes异步从日志中选择通道\u id,其中guild\u id=?,答案作为光标显示在此处: result=wait cursor.fetchone 如果结果不是无: channel=bot.get\u channelid=intresult[0] 如果之前是。阿凡达!=在.avatar之后: av=不和谐。嵌入 av=discord.Embedtitle=**用户头像更新:*,颜色=7419530,描述=fAfter: av.set_imageurl=after.avatar_url 等待频道。sendembed=av
当您在are成员对象之前和之后调用_member_update时,这意味着您可以简单地执行此操作

guild = after.guild

当您在are成员对象之前和之后调用_member_update时,这意味着您可以简单地执行此操作

guild = after.guild

这是我能想到的使用on_user_update事件获取公会ID的唯一方法:


这是我能想到的使用on_user_update事件获取公会ID的唯一方法:


这不可能仅使用成员。唯一能够做到这一点的方法是获取一个帮会对象,然后使用after.id获取一个成员对象,或者遍历所有对象

帮会=等待bot.fetch_guildbuild_ID member=guild.get\u memberafter.id 当涉及到我的机器人日志的这个问题时,我不得不做一些非常简单的事情。以下是我所做的:

对于bot.guilds中的帮会: 对于帮会中的成员。成员: 如果member.id==after.id: 做事
这将遍历机器人可以看到的所有成员,并在发现有问题的用户时获取一个成员和一个帮会对象。但是,当机器人进入大量服务器时,必须对其进行更新,以便进行扩展。但同时,由于我的bot位于少量服务器中,因此对我来说效果很好。

仅使用成员是不可能的。唯一能够做到这一点的方法是获取一个帮会对象,然后使用after.id获取一个成员对象,或者遍历所有对象

帮会=等待bot.fetch_guildbuild_ID member=guild.get\u memberafter.id 当涉及到我的机器人日志的这个问题时,我不得不做一些非常简单的事情。以下是我所做的:

对于bot.guilds中的帮会: 对于帮会中的成员。成员: 如果member.id==after.id: 做事
这将遍历机器人可以看到的所有成员,并在发现有问题的用户时获取一个成员和一个帮会对象。但是,当机器人进入大量服务器时,必须对其进行更新,以便进行扩展。同时,由于我的机器人在少量服务器中,这对我来说很好。

我已经更新了答案,这可能是实现这一点的唯一方法。我已经更新了答案,这可能是实现这一点的唯一方法。