Python discord.py-“不协调”;“成员”;参数始终返回字符串,即使在使用转换器discord.User时也是如此

Python discord.py-“不协调”;“成员”;参数始终返回字符串,即使在使用转换器discord.User时也是如此,python,discord.py,Python,Discord.py,正如在标题中所说的,我在一个调节齿轮中有一个静音函数,它接受一个成员参数,但是即使在使用转换器时,“成员”最终也是一个类似于“user#0000”的字符串。其他所有调节类方法都将成员作为对象。这可能是什么原因造成的 这里是mute(): @commands.command() @commands.guild_only() @commands.has_权限(kick_members=True) 异步def静音(self,ctx,成员:discord.member,*,reason=“未指定”):

正如在标题中所说的,我在一个调节齿轮中有一个静音函数,它接受一个成员参数,但是即使在使用转换器时,“成员”最终也是一个类似于“user#0000”的字符串。其他所有调节类方法都将成员作为对象。这可能是什么原因造成的

这里是mute():

@commands.command()
@commands.guild_only()
@commands.has_权限(kick_members=True)
异步def静音(self,ctx,成员:discord.member,*,reason=“未指定”):
""""""
尝试:
等待成员。添加角色(self.get角色(ctx.guild.id,“静音角色”))
等待成员。删除\u角色(self.get\u角色(ctx.guild.id,“默认\u角色”))
例外情况除外,如e:
等待ctx.send(f“**错误**:`{e}`”)
其他:
wait ctx.send(f“{member.id}已静音。”)
如果不是self.get_频道(ctx.guild.id,“日志频道”):
等待ctx发送(self.no\u log\u chan)
返回
等待赛尔夫。获取频道(ctx.guild.id,“日志频道”)。发送(
self.get\u嵌入(
“静音”,
ctx.message.author,
“#00FF00”,
f“{member.id}被{ctx.message.author}\n禁用原因:{reason}*”,
datetime.now().strftime(“%H:%M:%S”),
ctx.message.author.avatar_url,
)
)
下面是我的kick()方法,它工作得非常好:

@commands.command()
@commands.guild_only()
@commands.has_权限(kick_members=True)
异步def kick(self,ctx,成员:discord.User,*,reason=“未指定”):
""""""
尝试:
等待ctx.公会.踢腿(会员)
例外情况除外,如e:
等待ctx.send(f“**错误**:`{e}`”)
其他:
wait ctx.send(f“{member.id}被踢了。”)
如果不是self.get_频道(ctx.guild.id,“日志频道”):
等待ctx发送(self.no\u log\u chan)
返回
等待赛尔夫。获取频道(ctx.guild.id,“日志频道”)。发送(
self.get\u嵌入(
“踢”,
ctx.message.author,
“#00FF00”,
f“{member.id}被{ctx.message.author}从服务器踢出\n原因:{reason}*”,
datetime.now().strftime(“%H:%M:%S”),
member.avatar_url,
)
)

直到最后一个版本,它的工作原理如下:

async def Function(ctx, member:discord.User):

希望它有用。

嗨,你能解释一下它变成字符串是什么意思吗?比如说你有错误吗?如果是,是什么?另外,一般来说,您不能向discord添加角色。用户对象,仅为discord。成员obj,用户的不特定于公会。嗨!抱歉说得这么模糊,我得到一个错误,说
“str”对象没有属性“id”
,例如,打印成员得到了我的“Mass#1111”。当使用discord.Member时,我仍然会遇到这个问题。这只是一个专业提示:
print
将您提供的内容转换为str。将用户/成员obj转换为str将产生
name#1234
格式。如果您尝试执行
print(type(member))
这会给您str吗?谢谢,我不知道,成员的类型实际上是,但是现在该函数不做任何事情,并且在控制台中没有输出:/your using
add_roles()
remove_roles()
用户一起使用
类型。
用户
类型没有这些方法。我想你的意思是使用discord.Member