2017-08-19 4 views
0

私の質問は、ytの後に誰かが入力する変数urlをどのように設定するのですか?例えば、!YT [youtbubeリンク]は、URL = [ユーチューブリンク]どのようにして私の不協和音がYouTubeからのオーディオを再生するのですか

これは、現時点では私のコードであり、すべてのヘルプは高く評価され、感謝:)

@client.command(pass_context=True) 
async def yt(ctx): 
    url = 'https://www.youtube.com/watch?v=rPOUewuNKFE' 

    author = ctx.message.author 
    voice_channel = author.voice_channel 
    vc = await client.join_voice_channel(voice_channel) 

    player = await vc.create_ytdl_player(url) 
    player.start() 
+0

このコードでは、インデントを修正した後で動作しないものはありますか? –

+0

コードに何も問題はありません、誰かが置くリンクを再生する方法が分かりません!yt、私は自分のコードを入れて、人々が私のものを見ることができるようにします。 – OhFlummery

答えて

0
私はあなたがこれをすでに知っていると仮定

けどを作りますあなたのためにこれを行うことができるボットがあります。そうでない場合に備えて、YouTubeからのリンクを与えて、ボットがあなたと音声チャネルに入っていることを確認することができます。あなたが複数の音声チャンネルで異なるリンクを再生するようにしようとしているのかどうかはわかりません。私はボットがあなたとの音声チャンネルにいなければならないと考えて、ボットが複数のボイスチャンネルに対して異なる曲を演奏できることを非常に疑っています。

+0

ええ、私はこれを行うボットがあることを知っていますが、私は私のボットにそれをやってみたかった:P – OhFlummery

+0

それは理にかなっています。私は自分のボットを作ろうと考えました。私は本当に週末にのみ演奏するので、それは私を良くしてくれません。 – Daniel

0
@client.command(pass_context=True) 
    async def yt(ctx): 
     url = ctx.message.content 
     url = url.strip('!yt ') 

     author = ctx.message.author 
     voice_channel = author.voice_channel 
     vc = await client.join_voice_channel(voice_channel) 

     player = await vc.create_ytdl_player(url) 
     player.start() 
1

実際は非常に簡単です。関数の引数として追加するだけです。

@client.command(pass_context=True) 
async def yt(ctx, url): 

    author = ctx.message.author 
    voice_channel = author.voice_channel 
    vc = await client.join_voice_channel(voice_channel) 

    player = await vc.create_ytdl_player(url) 
    player.start() 

あなたがしたい場合は、標準関数の注釈(async def yt(ctx, url: str):)を使用して、引数の型を指定することができますが、デフォルトでは、とにかく文字列として渡す方法ですので、それは非常に有用ではありません。

+0

代わりに 'yt(ctx、url)'の代わりに 'yt(ctx、*、url)'を使うことができます。 – squaswin

+0

整形されたYoutubeのURLには空白が含まれていませんが、このプログラムでは空白で区切られた複数のURLを再生することはできません。 – randomdude999

関連する問題