如何使用 discord.py 中的 id 获取频道?

时间:2021-02-23 09:14:11

标签: python python-3.x discord discord.py

我有一个命令可以发送带有用户提供的参数的嵌入。参数之一是通道。我已经将频道剥离到 ID,但 get_channel 说它是 missing 1 required positional argument: 'id'。这是我当前的代码:

  @commands.command(description='Send an embed message with Title, Colour, Footer and Field customization.')
  async def embed(self, ctx, *, args=None):
    if args == None:
      #code here
    else:
      embedConfig=args.split(" | ")
      if (len(embedConfig)-1) > 4:
        await ctx.send("Too many arguments!")
      else:
        embed=discord.Embed(title=embedConfig[1], description=embedConfig[3], color=int(embedConfig[2][1:],16))
        embed.set_footer(text=embedConfig[4])
        embed.timestamp = datetime.now()
        embedConfig[0] = embedConfig[0].lstrip("<#")
        print(embedConfig[0])
        embedConfig[0] = int(embedConfig[0].rstrip(">"))
        print(embedConfig[0])
        await ctx.send(embedConfig)
        channel = discord.Client.get_channel(embedConfig[0])
        await channel.send(embed=embed)

我正在使用带有 discord.py-rewrite 的命令扩展,上面的命令在一个 cog 中。谢谢!

1 个答案:

答案 0 :(得分:2)

您指的是类本身,而不是实例。

channel = self.client.get_channel(embedConfig[0]) # Or `self.bot`, however you named it in __init__ method