はじめに
splatoon2のbotを作成したときにVCルームに接続している人にランダム武器の機能を追加で実装したので、備忘録代わりに書いていこうと思います。先駆者の方がいたら申し訳ない。
ランダムに配布するものはcsvファイルで用意します 環境 Windows10 Python3.6
サンプルコード
※コピペ可
import discord from random import randint,choice def randBuki(buki_list, users): len_u = len(users) return {i:choice(buki_list) for i in users} #clientオブジェクトの生成 client = discord.Client() with open('buki.csv', encoding='UTF-8') as f: buki_list = f.readlines() @client.event async def on_message(message): #"random_buki"とチャットに入力があった場合反応 '''ランダム武器''' if message.content.startswith('random_buki'): voice_channel = discord.utils.get(message.server.channels, id=message.author.voice.voice_channel.id) p_list = voice_channel.voice_members voice_users= [ p_list[i].display_name for i in range(len(p_list))] rand_buki = randBuki(buki_list,voice_users) mbuki = '' for i in rand_buki.keys(): mbuki = mbuki + '{}:{}'.format(i,rand_buki[i]) msg = discord.Embed(title='ブキを決めるよ',description=mbuki, colour=0xffffff) await client.send_message(message.channel, embed=msg) client.run("あなたのトーーーーーーーーーーーークン")
ひのきのぼう てつのけん えくすかりばー
普通に表示してもよかったのですが、なぜか人数分の通知を投げているみたいだったのでEmbed
をつかってみました。
結構見やすくなったので結果オーライ
それではいいDiscordライフを