我不知道如何在discord.py中扮演反应角色

问题描述 投票:0回答:1

[我尝试在获得角色后尝试执行print(role),并且该角色显然是“ None”,这可能是问题所在,但我完全不知道为什么会这样做[]

“代码预览”

而且此代码在另一个文件中,并且我在主文件中确实有bot.load_extension,所以这不是问题

import discord
from discord.ext import commands

colors = { # id of the emojis, it uses the name of the emoji to figure out which role to give
    714912285423829034, # red
    714912285180690463, # orange
    714912284807266425, # yellow
    714912284786294865, # green
    714912285088284703, # blue
    714912285084090379, # purple
    714912285172170862, # pink
    714912312938463234 # black
}

class Roles(commands.Cog, command_attrs=dict(hidden=True)):
    def __init__(self, bot):
        self.bot = bot

    @commands.Cog.listener()
    async def on_raw_reaction_add(self, payload):
        blocco = self.bot.get_guild(714868972549570653)
        member = blocco.get_member(payload.user_id)
        if payload.message_id == 714913902269562962:
            for color in colors:
                role = blocco.get_role(color)
                if role.name.lower().replace(" ", "") == payload.emoji.name.lower().replace("_", ""): # roles formatted like this: "Hello World", roles formatted like this: "hello_world"
                    await member.add_roles(role)



    @commands.Cog.listener()
    async def on_raw_reaction_remove(self, payload):
        blocco = self.bot.get_guild(714868972549570653)
        member = blocco.get_member(payload.user_id)
        if payload.message_id == 714913902269562962:
            for color in colors:
                role = blocco.get_role(color)
                if role.name.lower().replace(" ", "") == payload.emoji.name.lower().replace("_", ""): # roles formatted like this: "Hello World", roles formatted like this: "hello_world"
                    await member.remove_roles(role)



def setup(bot):
    bot.add_cog(Roles(bot))

我在获得角色后尝试执行print(role),并且该角色显然是“ None”,这可能是问题所在,但我完全不知道为什么这样做,而且此代码位于其他文件中,...] >

python bots discord discord.py roles
1个回答
0
投票

要修复代码,您需要将CSS代码链接到dscrd。我以为您正在使用python代码,但我认为它做了您想要做的事情。希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.