簿記2級合格への自習ツール開発!Discord×PythonでクイズBotを作ってみた

「簿記の勉強、一人だと中々続かない…」

「Pythonを学んだけど、実用的なアウトプットのネタがない」

そんな悩み、ありませんか?

私は今回、その両方を一気に解決するために**「Discordで動くクイズBot」**を自作しました。自分一人で解くのはもちろん、**Discordの友達を巻き込んでランキングを競い合う「ゲーム」**に変えてしまったのです。

この記事では、Python初学者でも真似できる「Discord×Excel」のBot開発術と、私が実際にハマった落とし穴を全公開します!


1. なぜ「Discord×Python」なのか?

勉強を「孤高の作業」から「マルチプレイ」へ

一人の自習は挫折しやすいですが、使い慣れたDiscordなら話は別です。

  • スマホでいつでも: 通勤中や隙間時間にサクッとクイズ。
  • 仲間と競える: 正解数やスピードをランキング化して、友達と切磋琢磨。
  • アウトプットが最強のインプット: 自分で問題データを作る(Excelを更新する)過程こそが、一番の勉強になります。

2. 使用した技術スタック(マネしやすい構成)

特別なデータベースの知識は不要です。**「使い慣れたツール」**を組み合わせました。

役割使用ツール選定理由
言語Python 3.10+初心者でも読みやすく、ライブラリが豊富。
Bot基盤discord.pyスラッシュコマンド対応で操作性が抜群。
データ管理Excel (openpyxl)ここがポイント! 修正や追加が誰でも直感的にできる。
サーバーRender (Web Service)24時間稼働が無料枠で実現可能。

3. こだわった「3つの機能」

① 誰でも更新できる「Excelデータベース」

あえて高度なDBを使わず、Excelを採用。

quiz_data.xlsx のA列に問題、B列に正解を書くだけで、Botが即座に新しい問題を読み込みます。

② 盛り上がる「リアルタイムランキング」

ただ正解するだけでなく、回答の速さに応じたポイントシステムを導入。

「友達に負けたくない!」という心理が、簿記の仕訳スピードを劇的に向上させます。

③ 24時間安定稼働(Render×Flask)

無料枠のRenderを眠らせないため、Flaskを裏で動かして「生存確認(外部からの定期アクセス)」を行う工夫をしました。


4. 【実録】開発中に直面した「3つの壁」と解決策

ここが一番のハマりポイントでした。真似する方は、ここだけ注意してください!

  1. 日本語ファイル名の呪い
    • 現象: ローカルでは動くのに、Render(Linux)に上げると読み込めない。
    • 解決: ファイル名を quiz_data.xlsx英語に統一。基本中の基本ですが、意外と忘れます。
  2. 「修正が反映されない!」問題
    • 現象: Excelを更新してプッシュしたのに、Botの問題が変わらない。
    • 解決: Renderの管理画面から “Clear Build Cache & Deploy” を実行。キャッシュを疑いましょう。
  3. スラッシュコマンドが出てこない
    • 現象: Botを導入したのに、/quiz コマンドが表示されない。
    • 解決: bot.tree.sync() を実行するコードを確実に書き、サーバー側と同期させる必要があります。

5. 今後の展望:簿記×ITの可能性

今後はPandasを活用して、**「間違えやすい問題の分析」「家計簿データとの連携」**など、さらに実務に近い機能を載せていく予定です。

「ただの勉強」を「ツール開発」に変えるだけで、モチベーションは爆上がりします。


編集長からのアドバイス:

Pythonの勉強で一番大切なのは、完璧なコードを書くことではなく**「誰かが使って喜ぶものを作る」**ことです。まずはExcelに数問だけクイズを入れて、友達のサーバーに招待してみてください。そこからが、本当のプログラミングの楽しさの始まりです!


「自分のDiscordサーバーにもこのBotを入れてみたい!」と思った方へ。

具体的なサンプルコードや、Renderへのデプロイ手順の詳細を知りたい方は、ぜひコメントやSNSで教えてくださいね!

コメント

タイトルとURLをコピーしました