質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

2回答

838閲覧

「!play_〇〇」とうつとyoutubeからリンクのものをひらって音楽を流してくれるbotの作成方法

Winter_1214

総合スコア11

Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/06/23 08:12

前提・実現したいこと

discordでpyhthonを用いたBotを作成しています。
「!play_〇〇」とうつと音楽を流してくれるというものを
作ろうとしています。
※〇〇はyoutubeのリンクです。_は半角スペースです。

該当のソースコード

python

1import discord 2 3client = discord.Client() # 接続するクライアント 4 5@client.event 6async def on_ready(): 7 print('Logged in as') 8 print(client.user.name) 9 print(client.user.id) 10 print('------') 11 12@client.event 13async def on_message(message): 14 if message.content == '!play': 15    ・ 16    ・ 17    ・ 18    ・ 19 20client.run(自分のtoken) # 実行する

### わからないこと
・・・・の部分がわからないので、わかる人がいらしたら、教えてくれたら幸いです。
「!play_〇〇」のように、例えば「!v_〇〇」として、vの後に聞きたいことを入れると、
それを投票してくれるみたいなものも教えてもらいたいです。
プログラム初心者でわからないことがたくさんあり、たくさん質問してすみません。
どうかよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Hyugopython

2020/06/30 02:21

人任せにしてる気がするので...Pythonの基礎知識を学びましょう
Winter_1214

2020/06/30 08:38

それは、わかっています。ご指摘ありがとうございます。 私はpythonに関して、無知なので現在勉強中です。
guest

回答2

0

python

1 2 3 4 5 @commands.command() 6 async def vote(self,ctx,*,subject=None): 7 print(ctx.guild.id) 8 print(self.Question) 9 if subject is None: 10 await ctx.send('dont missed my cmd') 11 return a 12 if ctx.guild.id in self.Question: 13 if self.Question[ctx.guild.id] is None: 14 self.adm[ctx.guild.id] = ctx.author 15 self.Question[ctx.guild.id] = subject 16 await ctx.send('i recorded') 17 else: 18 await ctx.send('ican remember 1q') 19 else: 20 await ctx.send('error') 21 22 @commands.command() 23 async def asr(self,ctx,a): 24 if a is None: 25 await ctx.send('missed cmd') 26 if ctx.guild.id in self.Question and a is not None: 27 if self.Question[ctx.guild.id] is not None: 28 self.asr_channel[ctx.guild.id] = ctx.channel 29 answer= a 30 answer_list = answer.split('/') 31 num = len(answer_list) 32 emoji=list() 33 if num >= 1: 34 emoji.append('1️⃣') 35 if num >= 2: 36 emoji.append('2️⃣') 37 if num >= 3: 38 emoji.append('3️⃣') 39 if num >= 4: 40 emoji.append('4️⃣') 41 q_embed = discord.Embed(title='ほーれアンケートだぞ',description=(str(self.Question[ctx.guild.id])),colour=discord.Colour.green()) 42 for (l_answer_num,l_answer) in zip(answer_list,emoji): 43 q_embed.add_field(name=(l_answer_num),value=(l_answer),inline=False) 44 self.reaction_message[ctx.guild.id] = await ctx.send(embed=q_embed) 45 for reaction_emoji in emoji: 46 await self.reaction_message[ctx.guild.id].add_reaction(reaction_emoji) 47 self.do_q[ctx.guild.id] = True 48 49 50 @commands.command() 51 async def fin(self,ctx): 52 print(self.asr_channel) 53 if self.do_q[ctx.guild.id] == True: 54 f_re_msg = await self.asr_channel[ctx.guild.id].fetch_message(self.reaction_message[ctx.guild.id].id) 55 result_e = discord.Embed(title='counted!',description=(f_re_msg.jump_url),colour=discord.Colour.magenta()) 56 for reaction in f_re_msg.reactions: 57 result_e.add_field(name=str(reaction.emoji),value='emojiwas'+str((reaction.count)-1)+'') 58 await ctx.send(embed=result_e) 59 self.do_q[ctx.guild.id] = False 60 self.Question[ctx.guild.id] = None 61 elif self.do_q[ctx.guild.id] == False: 62 await ctx.send('Noq') 63 self.Question[ctx.guild.id] = None 64 else: 65 self.do_q[ctx.guild.id] = False 66 self.Question[ctx.guild.id] = None 67

これはCogです。僕の友達が書いた投票機能ですが、LISENCEで保護してるのでコピペはやめてください。(僕は許可を取りました)念のためコピペするだけでは動かなくしてます。参考までに

投稿2020/06/30 02:28

Hyugopython

総合スコア148

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Winter_1214

2020/06/30 08:41

Cogが分かっていないので、Cogを勉強してから、 参考にさせていただきます。回答ありがとうございました。
guest

0

質問内容とは関係ないですが、Cogを学んでから実装すべきかと思います。
回答としましてはYoutubeのモジュールを使いましょう

因みに、某Ruthomはアメリカだからできることであって日本では著作権に引っかかるのでなのでマネしないことをお勧めします。(Youtubeの動画をダウンロード➡流すという工程において)

投稿2020/06/30 02:18

Hyugopython

総合スコア148

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Winter_1214

2020/06/30 08:40

もうこの質問見て、Cogが分かりませんでしたので、 Cogから勉強させていただくことにします。 分かりました。真似しないようにします。 ご指摘ありがとうございます。
Winter_1214

2020/06/30 09:01

はい、頑張ります。 このサイトいいよとかありましたら、教えていただけますでしょうか? 無理言ってすみません。なければ大丈夫ですので。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問