Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/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
Python 如何使用discord.py v.1.0.0a更改频道名称?_Python_Python 3.x_Discord_Discord.py - Fatal编程技术网

Python 如何使用discord.py v.1.0.0a更改频道名称?

Python 如何使用discord.py v.1.0.0a更改频道名称?,python,python-3.x,discord,discord.py,Python,Python 3.x,Discord,Discord.py,我已经在网上搜索了很多。在那里,我遇到了API reference(),它帮助我找到了需要使用的命令。所以我的想法是使用以下代码: channel = client.get_channel(475772135730708480) @client.command() async def emoivb(ctx): await discord.VoiceChannel.edit(channel, name = "test") 问题是它无法处理此错误: File "C:/Users/MyUse

我已经在网上搜索了很多。在那里,我遇到了API reference(),它帮助我找到了需要使用的命令。所以我的想法是使用以下代码:

channel = client.get_channel(475772135730708480)
@client.command()
async def emoivb(ctx):
    await discord.VoiceChannel.edit(channel, name = "test")
问题是它无法处理此错误:

File "C:/Users/MyUser/Desktop/discordbot.py", line 25, in emoivb
    await discord.VoiceChannel.edit(channel, name = "test")
所以这个错误根本帮不了我。。。但是我确信我只是没有正确理解API引用,没有按照预期使用该命令。我对python编码还很陌生,所以这是最有可能发生的事情。
如果有人有更多的python知识,并且能够理解我做错了什么,我将非常感谢您的帮助!:)

更简单的方法是在命令中指定目标频道和名称,如

@client.command()
async def emoivb(ctx, channel: discord.VoiceChannel, *, new_name):
    await channel.edit(name=new_name)
但这并不完美:对于带有空格的名称,必须将现有频道名称括在引号中

!rename "Old Channel" New Channel

这是因为Discord不支持提及语音频道。

完整的错误消息是什么?它可能会告诉您
频道
文本频道
,而不是
语音频道
。正是出于这个原因,您应该只做
channel.edit(name='test')
。您可能会从一些更一般的Python阅读中受益,例如您的答案中的thx,它确实帮助了我,但是我得到了这个错误:raise MissingRequiredArgument(param)discord.ext.commands.errors.MissingRequiredArgument:channel是一个缺少的必需参数。@EmotionIce调用该命令时是否提供该参数?我提供参数的方式与我在初始try:channel=client.get_channel(475772135730708480)中编写的方式相同但我不认为这符合你提出论点的目的。Tbh我真的不明白我应该为频道定义什么,除了它是一个不和谐。VoiceChannel@EmotionIce我以这样的方式编写了命令,因此您可以直接将新旧名称传递给命令。请看我答案中的示例用法。@PatrickHaugh非常感谢您。没有你我整个晚上都在找它。