将用户移动到消息作者的语音频道
Moving a user to the message author's voice channel
试图让我的 discord 机器人将用户移动到消息作者所在的语音频道。例如我写 !move @john
然后机器人会把 "john" 移到我的语音频道。
# command to move a user to current channel
@bot.command()
async def move(ctx,member:discord.Member=None):
channel= discord.utils.get(ctx.guild.voice_channels)
if not member:
await ctx.send("Who am I trying to move? Use !move @user")
await member.move_to(channel)
目前它移动用户,但只移动到服务器中的第一个语音通道。怎样才能把它移到作者的语音频道?
作者所在的VoiceChannel
存储在ctx.author.voice.channel
中。值得注意的是,.voice
和 .channel
可以是 None
,因此我们需要检查
@bot.command()
async def move(ctx,member:discord.Member=None):
if ctx.author.voice and ctx.author.voice.channel:
channel = ctx.author.voice.channel
else:
await ctx.send("You are not connected to voice!")
if not member:
await ctx.send("Who am I trying to move? Use !move @user")
await member.move_to(channel)
试图让我的 discord 机器人将用户移动到消息作者所在的语音频道。例如我写 !move @john
然后机器人会把 "john" 移到我的语音频道。
# command to move a user to current channel
@bot.command()
async def move(ctx,member:discord.Member=None):
channel= discord.utils.get(ctx.guild.voice_channels)
if not member:
await ctx.send("Who am I trying to move? Use !move @user")
await member.move_to(channel)
目前它移动用户,但只移动到服务器中的第一个语音通道。怎样才能把它移到作者的语音频道?
作者所在的VoiceChannel
存储在ctx.author.voice.channel
中。值得注意的是,.voice
和 .channel
可以是 None
,因此我们需要检查
@bot.command()
async def move(ctx,member:discord.Member=None):
if ctx.author.voice and ctx.author.voice.channel:
channel = ctx.author.voice.channel
else:
await ctx.send("You are not connected to voice!")
if not member:
await ctx.send("Who am I trying to move? Use !move @user")
await member.move_to(channel)