因此,最近我尝试创建一个bot,它可以根据服务器上的成员数量更改语音频道的名称,但我最终得到了以下错误:await memberchannel.edit(name = ">> 👥ᴍᴇᴍʙᴇʀꜱ: " + guild.member_count) AttributeError: 'NoneType' object has no attribute 'edit'
这是我的代码,我不知道如何访问.edit属性:
async def on_member_join(member):
guild = member.guild
memberchannel : discord.VoiceChannel = get(guild.channels, id=MemberCounterChannel)
await memberchannel.edit(name = ">> 👥ᴍᴇᴍʙᴇʀꜱ: " + guild.member_count)
我在on_member_remove函数中也做了同样的事情
使用
on_member_join
或其他与成员事件相关的事件必须要求启用成员意图。这可以让这些事件运行,因为它们是私有的,应该小心使用可以从Discord开发者门户启用意图,从那里您只需要确保在“Bot”类别的意图中启用了
Member
。然后,您需要在定义bot或客户端的部分中定义并使用bot代码中的意图:启用意图后,成员事件将起作用。在代码中,
memberchannel
也没有定义,也不是一个Discord参数这将获得您想要通过其ID编辑的频道,并在用户加入该用户加入的公会的当前成员计数时进行编辑
我必须使用discord developers面板切换应用程序中的所有意图,并将代码保留如下(ConfigFile是一个包含所有变量的json文件):
我还做了
membercount = guild.member_count - 1
部分,因为我只在我的服务器上使用这个bot,它不是商业用途,所以我不需要它来计算成员bot相关问题 更多 >
编程相关推荐