Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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 |如何为成员添加角色?_Python_Discord_Discord.py - Fatal编程技术网

Python Discord.py |如何为成员添加角色?

Python Discord.py |如何为成员添加角色?,python,discord,discord.py,Python,Discord,Discord.py,在一个成员对表情符号做出反应后,我想知道如何为他设置角色。 我试过几种方法,但都没用 AttributeError:'Guild'对象没有属性“添加角色” 我总是遇到这个错误,我试图用用户、有效负载或成员替换公会,但它还是找不到 我的“cogs”文件夹中有两个文件: •roles.py-处理带有反应的消息(此文件工作正常) •reaction.py—“倾听”对信息的反应 import discord import asyncio import emoji from discord.ext imp

在一个成员对表情符号做出反应后,我想知道如何为他设置角色。 我试过几种方法,但都没用

AttributeError:'Guild'对象没有属性“添加角色”
我总是遇到这个错误,我试图用用户、有效负载或成员替换公会,但它还是找不到

我的“cogs”文件夹中有两个文件:

•roles.py-处理带有反应的消息(此文件工作正常)

•reaction.py—“倾听”对信息的反应

import discord
import asyncio
import emoji
from discord.ext import commands
from discord.utils import get

client = commands.Bot(command_prefix='/',preload=True)

class Reaction(commands.Cog):

    def __init__(self, client):
        self.client = client

    @commands.Cog.listener()
    async def on_raw_reaction_add(self, payload):
        guild_id = payload.guild_id
        guild = self.client.get_guild(guild_id)
        user_id = payload.user_id
        user = self.client.get_user(user_id)
        message_id = payload.message_id
        channel = self.client.get_channel(payload.channel_id)
        emoji = payload.emoji.name

        if message_id == 809523588721934336 and emoji == "I think it makes sense, how are you supposed to add a role to a guild? You must add it to a 
discord.Member
instance, you can get it with
payload.member

dev = get(guild.roles, id=799632281639321632)
member = payload.member
await member.add_roles(dev)
导入不一致
导入异步
导入表情符号
从discord.ext导入命令
从discord.utils导入获取
client=commands.Bot(命令前缀='/',预加载=True)
类反应(commands.Cog):
定义初始化(自我,客户机):
self.client=client
@commands.Cog.listener()
原始反应添加上的异步定义(自身,有效负载):
帮会id=payload.guild\u id
帮会=self.client.get\u帮会(帮会id)
用户标识=有效负载。用户标识
user=self.client.get\u用户(用户id)
message\u id=有效负载。message\u id
通道=self.client.get\u通道(payload.channel\u id)
emoji=payload.emoji.name

如果message_id==809523588721934336和emoji==“我认为这是有意义的,你应该如何向公会添加角色?你必须将其添加到
discord.Member
实例中,你可以使用
有效负载.Member

dev=get(guild.roles,id=79963228139321632) member=payload.member 等待成员。添加_角色(开发人员)
还要记住,您必须启用
intents.members

参考:

在中,您可以看到公会没有添加角色的方法。
确实有这种方法。

非常感谢!现在它可以工作了:)