繁体   English   中英

无法在 discord.py 1.7.3 上创建不和谐频道

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM