2017-11-27 7 views
0

はい、私はthisを複数回読みました。私はPythonとDiscordボットプログラミングには新しく、これを理解することはできません。コマンドはn!cat(n!は接頭辞です)であり、コマンドが実行されたチャネル上の猫のランダムな画像を送信することになっています。これはかなりシンプルなようですが、私はそれを理解することはできません。ここに私のコードは次のとおりです。コマンドが実行されたチャンネルに画像をアップロードする

@client.command() 
async def cat(): 
    cat_pic = random.randint(1,3) 
    if cat_pic == 1: 
     await client.send_file(channel, "cat1.jpg") 
    elif cat_pic == 2: 
     await client.send_file(channel, "cat2.jpg") 
    elif cat_pic == 3: 
     await client.send_file(channel, "cat3.jpg") 

あなたは、私は、コマンドが実行されたチャネルをターゲットにする方法を知らないので、私はchannelを定義していない見ることができるように。何か案は?ありがとう!デコレータで

答えて

2
@client.command(pass_context=True) 
async def cat(ctx): 
    cat_pic = random.randint(1,3) 
    if cat_pic == 1: 
     await client.send_file(ctx.message.channel, "cat1.jpg") 
    elif cat_pic == 2: 
     await client.send_file(ctx.message.channel, "cat2.jpg") 
    elif cat_pic == 3: 
     await client.send_file(ctx.message.channel, "cat3.jpg") 

pass_contextパラメータでctxあるメッセージの「コンテキスト」を通過します。それを使ってチャンネルに送ることができます。

関連する問題