「毎日Unity」の技術ブログ

開発で役立つ情報を発信する

【Python】DiscordBotの作成方法(2)

前回の記事で作成したDiscordBotを常時起動させる方法を記事にしました。

[ 作成方法 ]

下記サイトにアクセスします。
replit.com
「Create」をクリックします。

「Template」を「Python」にして「Title」を決めます。決めたら「Create Repl」をクリックします。

下記のコードを「main.py」にコピペして保存します。「token」と「channelID」は前回の記事のものに書き換えます。

import discord
import server

token = 'hogehogehogehogehoge'
channelID = piyopiyopiyopiyopiyo

intents = discord.Intents.all()
client = discord.Client(intents=intents)


@client.event
async def on_member_join(member):

  channel = client.get_channel(channelID)
  await channel.send(f"Hi {member.mention}, welcome to my Discord server.")


server.reboot()
client.run(token)

「server.py」を作成します。

下記のコードを「server.py」にコピペして保存します。

from flask import Flask
from threading import Thread

app = Flask("")


@app.route("/")
def main():
  return "Bot is alive."


def run():
  app.run(host = "0.0.0.0", port = 8080)


def reboot():
  server = Thread(target = run)
  server.start()

「Run」をクリックします。

「Webview」タブに表示されるリンクをコピーします。

下記サイトにアクセスします。
uptimerobot.com
「Add New Monitor」をクリックします。

「Monitor Type」は「HTTP(S)」、「URL (or IP)」は先ほどコピーしたリンク、「Monitoring Interval」は「every 5 minites」にします。「Alert Contacts To Notify」にチェックを入れ「Create Monitor」をクリックします。

[ 動作確認 ]

下記のようにサーバーに新しいメンバーが参加すると挨拶をします。