Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
82 views
in Technique[技术] by (71.8m points)

python - "raw_reaction_remove" not removing roles why?

My raw reaction add is working just fine but why im getting this error on remove ?

CODE:

@commands.Cog.listener() 
async def on_raw_reaction_remove(self, payload):

    msgID = 754487460142121070
    user = payload.user_id
    member = payload.user_id

    guild_id = payload.guild_id
    guild = discord.utils.find(lambda g : g.id == guild_id, bot1.guilds)
    
    canarinho = get(member.guild.roles, name="Canarinho")

    if not payload.guild_id:
        return

    if payload is not None:
        if payload.message_id == msgID:
            if str(payload.emoji) == ":canarinho:":
                await member.remove_roles(canarinho)

Error:

    canarinho = get(member.guild.roles, name="Canarinho")
AttributeError: 'int' object has no attribute 'guild'
question from:https://stackoverflow.com/questions/66057162/raw-reaction-remove-not-removing-roles-why

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You accidentally repeated a line.

 member = payload.user_id

It should be

member = payload.member

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...