python - 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()
有谁知道可能是什么问题?
解决方案
这个问题与意图无关。这是因为您使用fetch_guild
的未填充成员,因此您的.get_member
呼叫返回无。
始终尽量避免使用 fetch 方法并尝试使用get_x
equal。
此外,此行为在fetch_guild
推荐阅读
- google-cloud-platform - BigQuery 中有哪些安全功能?
- oracle - 有什么方法可以为未知数量的列创建存储过程吗?
- oop - 在 Smalltalk 中,当发送者和参数属于不同类型时,定义可交换二进制方法的最佳方法是什么?
- android - 为什么 LiveData 在使用 get() 而不是 Transforamtion.switchmap 时返回 null?
- java - 不兼容的类型:lambda 表达式中的错误返回类型 | void 不是功能接口
- mysql - 基于join的高级查询
- python - chartjs的标签属性不采用字符串类型的上下文变量
- python - 在 PyQt Matplotlib 小部件中使用导航工具栏时禁用自动缩放
- dql - 用于检索文档名称的 DQL 查询
- sql - 我正在尝试在 SELECT 子句中创建一个子查询