【问题标题】:How would I make my Python 3.6.1 Discord bot create a new text channel in a server?如何让我的 Python 3.6.1 Discord 机器人在服务器中创建新的文本通道?
【发布时间】:2018-06-16 21:46:24
【问题描述】:

我一直在阅读文档。文档显示了这个例子:

channel = await guild.create_text_channel('cool-channel')

我需要弄清楚如何处理guild,这样就没有关于guildNameError。 (我必须导入guild吗?等)

文档:

【问题讨论】:

  • create_test_channel 似乎是Guild 类的一个方法(“公会”是discord 对服务器的称呼)。您需要先获取Guild 的实例,然后才能创建所需的频道。示例代码中的小写guild 名称只是一个包含对Guild 实例的引用的变量。如果需要,您可以使用不同的名称(实际上,您的代码可能已经这样做了)。

标签: python discord discord.py discord.py-rewrite


【解决方案1】:

如果您使用的是重写分支,要创建一个文本通道,您需要这样做

guild = ctx.message.guild
await guild.create_text_channel('cool-channel')

如果您使用的是不受支持的异步分支,则需要创建文本通道

server = ctx.message.server
await client.create_channel(server, 'cool-channel', type=discord.ChannelType.text)

如果你需要弄清楚你正在使用哪个分支,你可以做print(discord.__version__)。如果版本是 0.16.2 或更低,则它是异步的。如果是1.0.0a,那就是重写

【讨论】:

  • 这个“ctx”是什么?
  • @Havnar 这是一个您需要包含在def commandName 中的参数。我认为它需要是第一个(除非你包括self
  • 使用这个库很难。我不是 python efficienado,在网上找到了几十种不同的符号。 (以及不兼容的版本)Pycharm 在 discord.py 对象上也没有智能/智能完成。我根据互联网给我的东西改写了我以前的东西,现在我已经通过了这个障碍。
  • @Havnar 有许多针对不同语言的不和谐库,因此您不仅限于 python。如果您仍想使用 python,您可能不一定需要重写任何内容以使此解决方案起作用。如果您使用的是async 分支(0.16.2),那么这对您不起作用。此外,您不需要将参数设置为“ctx”,它可以是任何东西。我认为“ctx”是最常见的,但我不确定
  • @AbdullahAlawad 你可以这样做。它不会被完全锁定,因为所有者(我认为是管理员)可以访问所有频道,但似乎您可以为所有人设置频道的权限为无,然后为作者添加权限(有关更多信息,请参阅discordpy.readthedocs.io/en/latest/api.html#textchannel文字频道上的信息)
【解决方案2】:

我的命令是这样的,不知道你能不能用,但它对我来说很好用:

@client.command()
async def create(ctx, *, name=None):
  guild = ctx.message.guild
  if name == None:
    await ctx.send('Sorry, but you have to insert a name. Try again, but do it like this: `>create [channel name]`')
  else:
    await guild.create_text_channel(name)
    await ctx.send(f"Created a channel named {name}")

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
  • if name == None 不推荐。请改用if name is None
猜你喜欢
  • 1970-01-01
  • 2020-05-22
  • 1970-01-01
  • 2021-10-30
  • 2018-06-03
  • 2021-04-03
  • 1970-01-01
  • 1970-01-01
  • 2021-03-17
相关资源
最近更新 更多