2016-10-10 58 views
1

我有這段代碼,我很好奇它爲什麼不工作。問題是在k = discord.Server.get_member(j)它說Discord API,get_member(user_id)錯誤

"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) 

回答

0

此代碼訪問的discord.Server的方法,如果它是一個靜態方法:

k = discord.Server.get_member(j) 

功能get_member is defined as

def get_member(self, user_id): 

它接受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))