2016-10-10 11 views
1

私はこのコードを持っています。なぜそれが動作しないのか本当に不思議です。Disord API、get_member(user_id)エラー

k = discord.Server.get_member(j) 

機能:それは静的メソッドであるかのように

@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のメソッドにアクセスしている。問題は、それがこのコードはdiscord.pyが使用する

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

言う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)) 
関連する問題