#discord.py #discord.py-rewrite
#discord.py
Вопрос:
У меня возникли проблемы с моим кодом, говорящим
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: edit() missing 1 required positional argument: 'self'
когда я запускаю команду. Self не нужно определять, верно? Кроме того, когда я добавляю self, у меня возникает проблема с ctx.
Код:
import discord
from discord.ext import commands
client = commands.Bot(command_prefix="/")
@client.command(pass_context=True)
async def join(ctx, member=discord.Member):
channel = ctx.author.voice.channel
await channel.connect()
await member.edit(mute=True)
@client.command(pass_context=True)
async def leave(ctx):
await ctx.voice_client.disconnect()
client.run("Token")
Комментарии:
1. Вы определили переменную «member» как класс discord. Член, а не как tpy eof параметра. Вы должны изменить
member=discord.Member
наmember: discord.Member
Ответ №1:
Мне удалось найти проблему и исправить ее.
import discord
from discord.ext import commands
client = commands.Bot(command_prefix="/")
@client.command()
async def join(ctx):
channel = ctx.author.voice.channel
await channel.connect()
await ctx.author.edit(mute=True)
@client.command()
async def leave(ctx):
await ctx.voice_client.disconnect()
client.run("Token")
проблема в том, что вы включили member
в свою функцию. Если вы хотите, чтобы он отправлял, редактировал или что-то делал с автором сообщения, просто сделайте ctx.author
, и оно будет установлено для автора сообщения.