这是我的代码:
@bot.event
async def on_message(message):
x = (559253532759425044)
er = bot.get_channel(559253532759425044)
if not message.channel.id != x:
return
else:
if "p/" in message.content.lower():
await message.channel.send('Write this command in {}'.format(er.mention))
这是以上评估得出的结果:
await shardingManager.broadcastEval(`this.guilds.get('352896116812939264')`);
我的问题是,为什么不返回角色,渠道,成员... ?
我什至尝试了以下方法,但它也不起作用:
{ members: {},
channels: {},
roles: {},
presences: {},
deleted: false,
available: true,
id: '352896116812939264',
name: 'LenoxBot™',
...}
(机器人具有足够的权限来查看所有角色等)
谢谢!
答案 0 :(得分:2)
这里的问题是,在稳定版本中,Guild#roles
之类的东西还不能进行JSON序列化,例如由于使用了引用(guild.roles.first().client
),因此node.js仅返回{}
。
相关:https://github.com/discordjs/discord.js/issues/3144
如前所述,您可以使用discord.js v12,也可以自行序列化对象。