我正在尝试发出一个命令,其中机器人通过,dm (server id)
向我发送了服务器邀请,这就是我到目前为止所做的:
@client.command(name='dm')
async def dm(ctx, guild_id: int):
if ctx.author.id == owner:
guild = client.get_guild(guild_id)
guildchannel = guild.system_channel
invitelink = await guildchannel.create_invite(max_uses=1,unique=True)
await ctx.author.send(invitelink)
有些服务器可以工作,有些则不能。无效的服务器发送此消息:'NoneType' object has no attribute 'create_invite'
,有时它向我发送同一服务器的2条邀请链接。请尽快提供帮助,并在此先感谢。
答案 0 :(得分:0)
您的 client.get_guild(guild_id)
返回None,这意味着您的漫游器不在公会中,或者您的guild_id
不是有效的公会ID
更新:
再次考虑,我认为您的目标服务器没有system_channel
。然后,您可以在“公会设置”>“概述”>“系统消息通道”中进行检查。
答案 1 :(得分:0)
所以我找到了一种方法来更改它,这是代码:
@client.command(name='dm')
async def _dm(ctx, guild_id: int):
if ctx.author.id == owner:
guild = client.get_guild(guild_id)
channel = guild.channels[-1]
invitelink = await channel.create_invite(max_uses=1)
await ctx.author.send(invitelink)