API不一致,获取成员(用户标识)错误

2024-09-26 22:11:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个代码,我真的很好奇为什么它不起作用。问题出在k = discord.Server.get_member(j)上面写着

"TypeError: get_member() missing 1 required positional argument: 'user_id'".

此代码使用discord.py

@client.event
async def on_message(message):
if message.content.startswith('/sendpm'):
    print(message.author)
    j = message.content.replace('/sendpm ', '')
    print(j)
    j = j.replace('@', '')
    j = j.replace('<', '')
    j = j.replace('>', '')
    j = j.replace('!', '')
    print(l)
    k = discord.Server.get_member(j) #problem is here
    await client.send_message(await client.start_private_message(k), spammsg)
    await client.send_message(message.channel, 'sent' + message.author.mention)

Tags: 代码clientsendmessagegetservercontentawait
1条回答
网友
1楼 · 发布于 2024-09-26 22:11:00

此代码正在访问discord.Server的方法,就像它是静态方法一样:

k = discord.Server.get_member(j)

函数^{} is defined as

^{pr2}$

它接受self作为第一个参数,因为它是要在实例上调用的,例如:

server = discord.Server()
server.get_member(user_id)

我不知道这是否是获取Server实例的正确方法。This example访问服务器实例的方式不同:

@client.event
async def on_member_join(member):
    server = member.server
    fmt = 'Welcome {0.mention} to {1.name}!'
    await client.send_message(server, fmt.format(member, server))

相关问题 更多 >

    热门问题