如果猜测错误 DiscordPy,则断开用户与频道的连接
Disconnecting users from a Channel if guess is wrong DiscordPy
我正在编写一个 Discord 机器人。我创建了这个命令,它用 1 到 10 之间的随机整数玩一个小猜谜游戏。如果用户的猜测是正确的,只会弹出一条消息。如果不是,它将断开用户与语音通道的连接(如果它在一个通道中)。
这是我正在处理的代码:
@bot.command()
async def adivinar(ctx: commands.Context):
user = discord.Member
aleatorio = random.randint(1,10)
await ctx.send(f"Guess a number from 1 to 10")
msg = await bot.wait_for("message")
if int(msg.content) == aleatorio:
await ctx.send(f"Congrats! My number was {aleatorio}")
else:
await ctx.send(f"Nope. My number was {aleatorio}")
await user.move_to(None)
此代码无效。它在终端中显示此错误:
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: move_to() missing 1 required positional argument: 'channel'
为了制作“adivinar”命令,我查看了这段代码作为参考,效果非常好:
@bot.command()
async def kick1(ctx: commands.Context, user: discord.Member):
await ctx.send(f'{user.mention} has been kicked from {user.voice.channel.mention}')
await user.move_to(None)
我很确定这很容易解决。但目前我很难弄明白。谢谢!
您将用户分配给 discord.Member class,而不是真正的成员
user = discord.Member
您需要执行类似 ⬇ 的操作才能移动它
user = ctx.guild.get_member(1234) # user id
在您的情况下,您还可以使用 user = msg.author
我正在编写一个 Discord 机器人。我创建了这个命令,它用 1 到 10 之间的随机整数玩一个小猜谜游戏。如果用户的猜测是正确的,只会弹出一条消息。如果不是,它将断开用户与语音通道的连接(如果它在一个通道中)。
这是我正在处理的代码:
@bot.command()
async def adivinar(ctx: commands.Context):
user = discord.Member
aleatorio = random.randint(1,10)
await ctx.send(f"Guess a number from 1 to 10")
msg = await bot.wait_for("message")
if int(msg.content) == aleatorio:
await ctx.send(f"Congrats! My number was {aleatorio}")
else:
await ctx.send(f"Nope. My number was {aleatorio}")
await user.move_to(None)
此代码无效。它在终端中显示此错误:
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: move_to() missing 1 required positional argument: 'channel'
为了制作“adivinar”命令,我查看了这段代码作为参考,效果非常好:
@bot.command()
async def kick1(ctx: commands.Context, user: discord.Member):
await ctx.send(f'{user.mention} has been kicked from {user.voice.channel.mention}')
await user.move_to(None)
我很确定这很容易解决。但目前我很难弄明白。谢谢!
您将用户分配给 discord.Member class,而不是真正的成员
user = discord.Member
您需要执行类似 ⬇ 的操作才能移动它
user = ctx.guild.get_member(1234) # user id
在您的情况下,您还可以使用 user = msg.author