pythonでdiscord Botを作ってみた
普段友人とオンラインゲームをしている時に無料通話アプリ「discord」を使っています。5人で1チームになって戦うゲームをよくやっているのですが、最近は情報系の勉強や仕事が忙しくて、すでに4人揃っている時だけ参加したいと思ってBOTを作成しようと思いました。今回はPythonを使ってサーバ内でボイスチャットに接続しているメンバーを30分に1回のペースで通知してくれるdiscordのBOTを作ってみました。あまり使う人が多いシステムでないですが、discordのBOTに関する日本語の記事がないので一応ソースコード貼っておきます。
開発環境やチュートリアルはこのURLに行って確認してください。
プロパティはdiscord.pyの中にあるclient.pyのソースコードを参考にしてください
import discord import asyncio my_bot = discord.Client() channel = discord.Object(id='自分のデフォルトチャンネルIDを入れる') server = discord.Object(id='自分のサーバIDを入れる') async def login_status_message(): while True: server_members = [member.name for member in my_bot.get_all_members()] logined_member = [member.name for member in my_bot.get_all_members() if member.voice.voice_channel is not None] if len(logined_member) == 4: m = "現在、"+logined_member[0]+"さんと"+logined_member[1]+"さんと"+logined_member[2]+"さんと"+logined_member[3]+"さんがSATで活動しています!" await my_bot.send_message(channel,m) n = "4パが出来ています!!" await my_bot.send_message(channnel,n) await asyncio.sleep(1800) @my_bot.event async def on_ready(): print('Logged in as') print(my_bot.user.name) print(my_bot.user.id) print('------') my_bot.loop.create_task(login_status_message()) my_bot.run("自分のTokenを入れる")