はじめに
エンジニアの皆さん、日報書いていますか?
私は最近毎日書いていますが、正直なところ、毎回テンプレートをコピペしてくるのが非常に面倒だと感じていました。
日付を書き換えたり、昨日のフォーマットを探してきたり。この数秒のロスが積み重なるとストレスになります。
そこで今回、ChatGPTを使ってPython × Discord Bot で、コマンド一発でMarkdown形式の日報テンプレートを返してくれるBotを爆速で作ったので作り方を共有します。
なお、私は学生で、金銭的な理由からまだホスティングサービスでの常時稼働まではできていません。
今回紹介するのは「ローカルで動かすBot」になります。
完成イメージ
Discordのチャット欄で !nippou と打つだけです。
自分:!nippou
Bot:
# 日報
日付: 2025-12-23
## 今日したこと
-
## 明日すること
-
このように、今日の日付が入った状態で、コピーしやすいコードブロック形式で返してくれます。 あとはこれをコピペして埋めるだけ。毎日の日報入力が一瞬で終わります。
手順解説
ここからは、実際にBotを作る手順を解説します。かなりすぐ終わります。
1. Discord Bot の作成
まず、Botのアカウントを作成します。
- Discord Developer Portal にアクセス
2.「New Application」をクリックし、適当な名前(例: DailyReportBot)を入力
-
メニューの「Bot」をクリック
-
Tokenの項目にある「Reset Token」を押して、Tokenをコピーしてメモしておく(後で使います)
※ Reset Token を押した際に Discord アカウントのパスワード入力が求められます。 -
同じページの下の方にある Privileged Gateway Intents の 「MESSAGE CONTENT INTENT」 をONにする(これを忘れるとコマンドが反応しません)
2. 必要ライブラリのインストール
Bot を動かすための最低限の環境を整えます。
今回は Homebrew を使って Python をインストールしました。
brew install python
python環境で今回使用するライブラリをインストールします。
python3 -m pip install discord.py python-dotenv
3. Bot のコード作成
フォルダを作成し、bot.py というファイル名で以下のコードを保存します。
import os
import discord
from discord.ext import commands
from datetime import datetime
from dotenv import load_dotenv
from textwrap import dedent
load_dotenv()
TOKEN = os.getenv("DISCORD_TOKEN")
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix="!", intents=intents)
@bot.event
async def on_ready():
print(f"ログイン完了:{bot.user}")
@bot.command()
async def nippou(ctx):
today_str = datetime.now().strftime("%Y-%m-%d")
# テンプレートの中身
template = dedent(f"""
# 日報
日付: {today_str}
## 今日したこと
-
## 明日すること
-
""").strip()
await ctx.send(f"```markdown\n{template}\n```")
# Botの起動
bot.run(TOKEN)
4. 環境変数の設定
コードと同じフォルダに .env というファイルを作成し、先ほどコピーしたBotのトークンを貼り付けます。
touch .env
DISCORD_TOKEN=ここに先ほどメモしたBotトークンを貼り付け
Botトークンは他人に知られるとBotを乗っ取られる危険があります。GitHub等にアップロードする際は .env を .gitignore に含めるなどして、絶対に公開しないようにしましょう。
5. Bot を起動
ターミナルで以下を実行します。
python3 bot.py
ログイン完了: DailyReportBot#1234 のように表示されれば起動成功です。
※ Bot はターミナル上で動作しているため、ターミナルを閉じたり実行を中止すると停止します。
再度利用する際は、もう一度 python3 bot.py を実行して起動してください。
6. Bot をサーバーに招待する
自分のサーバーで使えるように招待します。
-
Developer Portal の左メニュー「OAuth2」を選択
-
OAuth2 URL Generator項目のScopes で bot にチェック
-
Bot Permissions で Send Messages (メッセージを送信) にチェック
-
Generated URLから生成されたURLをブラウザで開き、自分のサーバーを選択して「認証」ボタンを押す
7. 使ってみる
Discordの任意のチャンネルで、以下のコマンドを送信します。
!nippou
このようなテンプレートが返ってきたら成功です。

これで、毎日の「テンプレどこだっけ」「日付書くの面倒」から解放されました。
おわりに
今回はローカル実行版ですが、このBotのおかげで日報作成のハードルが下がり、毎日快適になりました。
もしこの記事の反響が良ければ、Render や Railway を使ってデプロイし、常時稼働するBotとして公開したいです。
良さそう、作ってみたいと思ったら、ぜひLGTMをお願いします。