我正在努力让它在你输入命令的时候能立刻移动我,现在你必须在discord上@我。
@commands.command(name='movejohan', aliases=['mj', 'MJ'])
async def MoveJ(self, message, member: discord.Member = None):
"""Moves Johan to xxxxx"""
channel = bot.get_channel(xxxxxxxxxx)
await member.move_to(channel, reason='Moved By {}'.format(message.author))
这是我有的,我不知道怎么做才能让我特别感动,我就想改一下 member: discord.Member = None
到 member: discord.Member = bot.get_user(xxxxxxxx)
但这并不奏效,有什么办法吗?
你在使用的方式上没有任何问题。member: discord.Member = None
争论。
我建议采用这样的方式。
@commands.command(name='movejohan', aliases=['mj', 'MJ'])
async def MoveJ(self, message, member: discord.Member = None):
"""Moves Johan to xxxxx"""
if not member:
member = discord.utils.get(message.guild.members, id=xxxxxxxx) # put your user ID here!
# As Fin mentioned, you can also use message.guild.get_member(userID)
channel = self.bot.get_channel(xxxxxxxxxx)
await member.move_to(channel, reason='Moved By {}'.format(message.author))
当你输入成员参数时 你可以使用成员的任何属性 -- 你可以使用他们的用户ID,显示名称,用户名,你不需要明确提到他们。
你要指定从哪个公会获取成员,这可以使用上下文来完成。
@commands.command(name='movejohan', aliases=['mj', 'MJ'])
async def MoveJ(self, message):
"""Moves Johan to xxxxx"""
channel = self.bot.get_channel(xxxxx)
johan = message.guild.get_member(xxxxx)
await johan.move_to(channel, reason='Moved by {}'.format(message.author))