首页 > 解决方案 > Intents 无法与 Discord.py 一起使用,同时启用了低谷网站和代码

问题描述

所以我正在制作不和谐机器人,如果你从消息中删除某些表情符号反应,它会删除某些角色。我通过不和谐开发者网站和代码启用了我的意图,但我仍然收到错误“NoneType”对象没有属性“remove_roles”,这是我的代码

import discord
from discord.utils import get
   
intents = discord.Intents.default()
intents.members = True


client = discord.Client(intents = intents)

@client.event
async def on_raw_reaction_remove(payload):
    guild = await client.fetch_guild(payload.guild_id)
    if payload.emoji.name == "":
        member = guild.get_member(payload.user_id)
        role = get(guild.roles, id = 861745493049868319)
        await member.remove_roles(role)


@client.event
async def on_ready():
    print("Bot is online")

client.run()

有谁知道可能是什么问题?

标签: pythondiscord.py

解决方案


这个问题与意图无关。这是因为您使用fetch_guild填充成员,因此您的.get_member呼叫返回无。

始终尽量避免使用 fetch 方法并尝试使用get_xequal。

此外,此行为在fetch_guild


推荐阅读