我正在尝试在 cog(discord.py) 中创建一个邀请命令,该命令会通知用户

时间:2021-02-12 04:17:01

标签: python discord.py

我正在尝试创建一个邀请命令,该命令在运行时会向用户发送一个到服务器的邀请链接。这是代码:

@commands.command(brief='A one time server invite',pass_context=True)
async def serverinvite(self, ctx):
    invitelink = await ctx.channel.create_invite(max_age = 90, max_uses=1, unique=True)
    await ctx.send(invitelink)

但是我有两个问题。 1) 当命令在我的 cog 中时,cog 不会加载。 2)我不知道如何将其设置为 DM 邀请链接 任何帮助将不胜感激。 谢谢!

1 个答案:

答案 0 :(得分:1)

首先,这里是官方文档,可以很好地回答您的问题

既然您正在尝试创建即时邀请,您的机器人将需要创建即时邀请的权限,如果机器人缺乏权限,这将行不通。另一种方法是创建一个永久的邀请链接,并在使用命令时将其发送给用户(这也有助于阻止淹没服务器的邀请部分)。

@commands.command(brief='A one time server invite',pass_context=True) 
async def serverinvite(self, ctx):
    invitelink = await ctx.channel.create_invite(max_age = 90, max_uses=1, unique=True)
    await ctx.author.send(invitelink)

阻止机器人创建邀请的原因可能是...

  • 缺乏创建邀请的权限
  • 未使用扩展加载齿轮