如何从每台服务器中的用户中删除角色?不和谐.py

时间:2020-12-21 16:43:19

标签: discord discord.py discord.py-rewrite

我正在制作一个验证机器人,我想执行一个命令,如果有人取消链接他们的 Roblox 帐户,那么它会在他们所在的所有服务器中从他们那里删除经过验证的角色。我知道如何在单个服务器中执行此操作,例如这个:

TemplateSyntaxError at /tweets/2/update
Unknown argument for 'include' tag: 'input|btn_title'.
Request Method: GET
Request URL:    http://localhost:8000/tweets/2/update
Django Version: 3.0.6
Exception Type: TemplateSyntaxError
Exception Value:    
Unknown argument for 'include' tag: 'input|btn_title'.
Exception Location: C:\Python\lib\site-packages\django\template\loader_tags.py in do_include, line 311
Python Executable:  C:\Python\python.exe
Python Version: 3.6.8
Python Path:    
['D:\\From Torrents\\Web , flask , django from torrent\\[FreeCourseSite.com] '
 'Udemy - Tweetme Build a Twitter-like app step by step with Django\\src',
 'C:\\Python\\python36.zip',
 'C:\\Python\\DLLs',
 'C:\\Python\\lib',
 'C:\\Python',
 'C:\\Users\\pc\\AppData\\Roaming\\Python\\Python36\\site-packages',
 'C:\\Users\\pc\\AppData\\Roaming\\Python\\Python36\\site-packages\\win32',
 'C:\\Users\\pc\\AppData\\Roaming\\Python\\Python36\\site-packages\\win32\\lib',
 'C:\\Users\\pc\\AppData\\Roaming\\Python\\Python36\\site-packages\\Pythonwin',
 'C:\\Python\\lib\\site-packages']
Server time:    Mon, 21 Dec 2020 16:35:25 +0000

但是我将如何在该成员使用机器人所在的所有服务器上执行此操作。谢谢!!!

1 个答案:

答案 0 :(得分:0)

每个公会的角色都是唯一的,您需要遍历每个公会,获取成员和角色,然后将其删除。

for guild in bot.guilds:
    member = guild.get_member(member_id) # Change the ID accordingly
  
    if member is not None:
        role = discord.utils.get(guild.roles, name='Verified')

        await member.remove_roles(role)

此代码循环遍历机器人所在的每个公会,尝试获取成员,如果它不是无类型(因为成员不必与机器人共享该特定公会),它将获取角色 obj 并删除

参考:

你还需要 intents.guildsintents.members