[英]Unable to create a discord channel on discord.py 1.7.3
我一直在尝试使用 discord.py 创建一些命令。 我创建了一个命令,该命令根据用户使用以下代码输入的文本创建通道:
import discord
import os
client = discord.Client()
@client.event
async def on_message(message):
if message.author == client.user:
return
msg = message.content
if msg.startswith('$new'):
guild = discord.Guild
await guild.create_text_channel(msg.split(' ',1)[1])
当命令进入不和谐状态时,输出如下:
Ignoring exception in on_message
Traceback (most recent call last):
File "/home/runner/Switch-Bot/venv/lib/python3.8/site-packages/discord/client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "main.py", line 30, in on_message
if msg.startswith('$new'):
TypeError: create_text_channel() missing 1 required positional argument: 'name'
你做了
guild = discord.Guild
await guild.create_text_channel(msg.split(' ',1)[1])
这会从类中调用一个实例方法,因此您必须指定您希望它使用的实例( self
),这将导致name
参数不会按照您希望的方式传递。
看这里
你想要的是从实例中执行它:
await message.guild.create_text_channel(msg.split(' ',1)[1])
# or
await discord.Guild.create_text_channel(message.guild, msg.split(' ',1)[1])
你也应该改变
guild = discord.Guild
至
guild = message.guild
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.