BETA

Discord Botでルーレット (Python)

投稿日:2019-05-22
最終更新:2019-05-22

はじめに

自分の作ったdiscordbotに実装してあるSplatoon2のブキルーレット機能

コマンド入力者が参加しているボイスチャンネルにいるメンバーを全員取得して、武器を割り当てるだけの機能です

botの作成方法等はここでは説明しないので他の人の記事を見て

ソース

from discord.ext import commands  
from random import randint,choice  

client = commands.Bot(command_prefix='$')  

def randBuki(buki_list, users):  
    len_u = len(users)  
    return {i:choice(buki_list) for i in users}  
with open('buki.csv', encoding='UTF-8') as f:  
    buki_list = f.readlines()  

@client.command()  
async def random(ctx):  
    # Botが既に他のVCに参加しているか  
    if ctx.voice_client:  
        # 参加している場合は出力  
        voice_channel = discord.utils.get(ctx.guild.channels, id=ctx.author.voice.channel.id)  
        p_list = voice_channel.members  
        voice_users= [ p_list[i].display_name for i in range(len(p_list))]  
        rand_buki = randBuki(buki_list1,voice_users)  
        mbuki = ''  
        stage = "Random Weapon"  
        for i in rand_buki.keys():  
            mbuki =  mbuki + '{}: {}'.format(i,rand_buki[i])  
        msg = discord.Embed(title=stage,description=mbuki, colour=0xffffff)  
        await ctx.send(embed=msg)  
    else:  
        # 参加していない場合  
        await ctx.send('`You need to join a voice channel to use this command`')  

client.run('DISCORD_TOKEN')  

適当にbuki.csvを作成

今回はsplatoon2のブキ一覧を使う
ちょっと長かったのでメモ書きにログとして投稿した。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@jp8hの走り書き

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!