Python discord py如何将角色授予id为的服务器成员用户

Python discord py如何将角色授予id为的服务器成员用户,python,python-3.x,discord.py,discord.py-rewrite,Python,Python 3.x,Discord.py,Discord.py Rewrite,关于我的代码作用的解释:我的代码检查我服务器上的成员的活动中是否有特定的关键字“TEST”,并为用户提供排名。如果关键字从活动中删除,排名也会被删除。脱机成员不受此影响。所以我必须保存一个文件中的成员 现在我有一个问题: await bot.guilds[0].get_member(int(member_id)).add_roles(role) AttributeError: 'int' object has no attribute 'id' 这就是我的代码: @tasks.loop(sec

关于我的代码作用的解释:我的代码检查我服务器上的成员的活动中是否有特定的关键字“TEST”,并为用户提供排名。如果关键字从活动中删除,排名也会被删除。脱机成员不受此影响。所以我必须保存一个文件中的成员

现在我有一个问题:

await bot.guilds[0].get_member(int(member_id)).add_roles(role)
AttributeError: 'int' object has no attribute 'id'
这就是我的代码:

@tasks.loop(seconds=120)
async def check_activity():
    role = 773634102149775390
    file = open('role_members.txt', 'r')
    member_list = [str(member.id) for member in bot.get_all_members() if not str(member.status) == 'offline' and 'TEST' in str(member.activity)]
    for line in file.readlines():
        if line[:-1] not in member_list:
            member = await bot.guilds[0].get_member(int(line))
            await member.remove_roles(role)
    a_file = open('role_members.txt', 'a')
    for member_id in member_list:
        await bot.guilds[0].get_member(int(member_id)).add_roles(role)
        a_file.write(member_id + '\n')
            
        
check_activity.start()

如何解决此问题?

您可以在没有文件的情况下完成此操作,只需使用id获取帮会。然后检查帮会成员的活动

@tasks.loop(秒=120)
异步定义检查活动():
角色名称='Test'
帮会=bot.get_帮会(123456798)
role=discord.utils.get(guild.roles,name=role\u name)
对于帮会中的成员。成员:
试试:#如果他在线。
状态=成员。活动[0]。名称
如果角色名称处于以下状态:
等待成员。添加_角色(角色)
其他:
等待成员。删除_角色(角色)
除了:#他离线了
通过

每次用户离线时,机器人都会删除排名,我不希望这样。他们应该保持等级,你能帮我吗?在一个有1000名成员的公会中,给予等级的“秒=120”时间必须是多少?因为许多成员的文本处于自定义状态,但没有获得排名。现在它保留了角色,你应该选择你认为合适的最佳时间
hours=
minutes=
seconds=
。我有一个问题,“除外”功能无法正常工作。现在,使用我的特定关键字删除他的状态的用户,他们保持排名。