Попытка переключить пользователей между голосовыми каналами с помощью бота discord.py - PullRequest
1 голос
/ 01 августа 2020

Для тех, у кого такая же проблема, вы можете проверить ниже все комментарии, но вот TD; DR: Сначала я получил нужный канал и сохранил его в переменной, затем я получил автор сообщения и, наконец, я использовал код move_to.

async def moveplayer(ctx): channel = bot.get_channel(738705076557709392) member = ctx.message.author await member.move_to(channel)

Мне очень нравится писать код, но я не лучший в этом деле. В последнее время я стараюсь лучше использовать python для вещей, которые действительно могут мне помочь, а не забавных текстовых игр. Сейчас я пытаюсь сделать так, чтобы бот переводил пользователя с одного голосового канала на другой при использовании определенной команды c. Я пытался найти решения для всего stackoverflow и остальной части inte rnet, но все, с чем я столкнулся, у меня не сработало. Ниже приведены некоторые вещи, которые я уже пробовал. Я также пробовал использовать client = discord.Client(), а не bot = commands.Bot(command_prefix='hp!'), но, похоже, ничего не работает.

@bot.command(name='moveme')
@commands.has_role('HpBotAccess')
async def moveplayer(*ctx,**message):
    voiceChannel = bot.get_channel(738704912912744450)
    await client.move_to(message.author, voiceChannel.id)
@bot.command(name='moveme')
@commands.has_role('HpBotAccess')
async def moveplayer(message):
    channel = discord.utils.find(lambda x: x.name == 'Vibin 3', message.server.channels)
    await client.move_member(message.author, channel)
@bot.command(name='moveme')
@commands.has_role('HpBotAccess')
async def moveplayer(message):
    await move_to(716193638433947690)

Я также пробовал читать документы, но на самом деле не понять их, и поэтому вышеизложенное - это именно то, с чем я пробовал экспериментировать из других сообщений / небольшой части документации. Если у вас есть решение или вы можете мне помочь, опубликуйте его! Спасибо!

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

1 Ответ

0 голосов
/ 01 августа 2020

У меня есть функция, которая делает что-то похожее на моем боте discord.py. Думаю, ваша проблема в том, что вам нужно позвонить по номеру member.move_to(channel). Например, мой бот делает следующее:

channel = client.get_channel({channel ID here}) 
# channel now holds the channel you want to move people into

member = client.get_member({user_id of person to move})
#member now holds the user that you want to move

await member.move_to(channel)

. Вам нужно использовать move_to в классе member, и он принимает в качестве параметра channel. Вам необходимо использовать client для извлечения соответствующих данных для работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...