Предоставленный канал должен быть голосовым. ошибка с move_member

import discord
from discord.ext import commands
from discord.ext.commands import Bot
import asyncio
import time

bot = commands.Bot(command_prefix='$')

@bot.event
async def on_ready():
print ("Ready")

@bot.command(pass_context=True)
async def Move(ctx):
    #channel to move to '414543063575429131'
    #user to move '192361974053470208'
    await bot.move_member('192361974053470208', '414543063575429131')
    print("done")


bot.run("token_here")

Это мой код, но я, когда пытаюсь переместить пользователя, выдает ошибку «Предоставленный канал должен быть голосовым».

Я знаю, что бот работает, потому что раньше у меня было несколько простых команд, которые раньше отвечали на сообщения, и они работали нормально.

Я новичок в ботах на Python и Discord, поэтому не знаю, что мне делать. Любая помощь приветствуется.


person Community    schedule 17.02.2018    source источник


Ответы (1)


Аргумент канала для move_member должен быть объектом Channel, а не только идентификатором канала. Это указано в документации для move_member

Вы не можете передать Object вместо _ 5_ в этой функции.

@bot.command(pass_context=True)
async def move(ctx):
    destination = '414543063575429131'
    user = '192361974053470208'
    await bot.move_member(ctx.message.server.get_member(user), bot.get_channel(destination)) 
    # The get_member doesn't look to be strictly necessary, but it doesn't hurt
    # and improves readability
    print("done")
person Patrick Haugh    schedule 18.02.2018