Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在discord.py中创建Ticket命令?_Discord.py - Fatal编程技术网

如何在discord.py中创建Ticket命令?

如何在discord.py中创建Ticket命令?,discord.py,Discord.py,您好,我想制作一个可以创建票证的discord机器人,但我不确定如何创建票证。我正在使用discord.py,我想知道是否有人可以提供帮助?我试过这个 @bot.command() async def ticket(ctx): await create_text_channel(name, *, overwrites=None, reason=None, **options) 但是它没有任何作用,我得到了这个错误 Traceback (most recent call last):

您好,我想制作一个可以创建票证的discord机器人,但我不确定如何创建票证。我正在使用discord.py,我想知道是否有人可以提供帮助?我试过这个

@bot.command()
async def ticket(ctx):
    await create_text_channel(name, *, overwrites=None, reason=None, **options)
但是它没有任何作用,我得到了这个错误

Traceback (most recent call last):
  File "C:\Users\Robin\AppData\Roaming\Python\Python37\site-packages\discord\ext\commands\bot.py", line 903, in invoke
    await ctx.command.invoke(ctx)
  File "C:\Users\Robin\AppData\Roaming\Python\Python37\site-packages\discord\ext\commands\core.py", line 855, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "C:\Users\Robin\AppData\Roaming\Python\Python37\site-packages\discord\ext\commands\core.py", line 94, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: NameError: name 'create_text_channel' is not defined```

您给出的代码中有三个错误:

  • 是一个类方法,因此它仅适用于
    Guild
    实例
  • name
    变量未定义,因此可能会出错
  • 如果不需要任何覆盖或任何原因,则不需要编写
    overwrites=None
    reason=None
    ,这同样适用于
    *
最后,您的代码如下所示:

@bot.command()
异步def票据(ctx):
等待ctx.guild.创建文本频道(“频道名称”)
我猜您已经看过文档并复制粘贴了方法的标题,这是不必要的,您可以看看给出的示例,例如
channel=wait guild.create_text_channel('cool-channel')

如果要创建隐藏通道,还有以下示例:

覆盖={
guild.default\u角色:discord.PermissionOverwrite(read\u messages=False),
guild.me:discord.PermissionOverwrite(read_messages=True)
}
频道=等待公会。创建文本频道(“秘密”,覆盖=覆盖)

您好,感谢asnwer,但我希望这样,当有一个频道已经命名为ticket时,它会创建一个名为ticket1的频道,然后是2然后是3等。您是否将每个ticket频道都归入一个特定的类别?这会更容易,我马上编辑我的帖子:)