如何在discord.py中创建Ticket命令?
您好,我想制作一个可以创建票证的discord机器人,但我不确定如何创建票证。我正在使用discord.py,我想知道是否有人可以提供帮助?我试过这个如何在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):
@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频道都归入一个特定的类别?这会更容易,我马上编辑我的帖子:)