ChatGTP プログラミング学習

【初心者向け】ChatGPTでDiscord BOTを作成する手順

記事内に商品プロモーションを含む場合があります

DiscordのBOTは、コミュニティの運営をサポートしたり、自動化された便利な機能を提供したりと、多くの活用方法がありますが、初心者にとっては少しハードルが高く感じることもあるでしょう。しかし、心配はいりません!このガイドでは、初心者でもわかりやすく、ChatGPTとPythonを使って簡単にDiscord BOTを作成する手順を解説していきます。初めてプログラミングに挑戦する方や、BOT開発に興味がある方でも安心して取り組める内容となっていますので、一緒に楽しく学びましょう!

Discodeって何?

アカウント作成はこちら

Discordは、ゲーマーやコミュニティ、友人とのコミュニケーションを目的とした無料のチャットアプリケーションです。テキストチャット、ボイスチャット、ビデオチャットなどができるほか、サーバーと呼ばれるコミュニティスペースを作成して、さまざまなトピックについて話し合うことができます。

オンラインでのコミュニケーションを一新するなら、Discordが最適です!無料で使えるこのアプリは、テキスト、ボイス、ビデオの各チャット機能を備え、ゲーマーから一般ユーザーまで、誰でも手軽に利用できます。あなた専用のコミュニティスペース「サーバー」を作成し、趣味や興味を共有する仲間たちと活発な議論が可能です。さらに、DiscordのAPIを使えば、カスタムボットの作成や様々な自動化も実現でき、あなたのオンライン体験を次のレベルへと引き上げます。今すぐDiscordを活用して、コミュニティを盛り上げましょう!

コミュニティ参加はこちらから

Pythonの空ファイルの作成

コマンドプロンプトを開く

まず、コマンドプロンプトを開きます。Windowsでは、「スタートメニュー」→「検索」に「cmd」と入力し、「コマンドプロンプト」をクリックします。

ファイルを作成するディレクトリに移動する

ファイルを保存したいフォルダ(ディレクトリ)に移動します。例えば、C:\my-python-projectというフォルダにファイルを保存したい場合、次のコマンドを入力して移動します。

ファイルを作成するコマンド

コマンドプロンプト上でファイルを作成する方法は主に2つあります。echoコマンドを使ってファイルを作成する方法、もしくは notepadを使って作成する方法です。

方法 1: echo コマンドを使ってファイルを作成する

echoコマンドを使って、簡単なファイルを作成することができます。以下のコマンドを入力して、api.pyというファイルを作成します。

方法 2: notepad を使ってファイルを作成する

また、notepadコマンドを使ってファイルを作成し、その場で編集することもできます。以下のコマンドを入力します。

ファイルにコードを入力する

ポイント

  • dotenvライブラリを使って.envファイルからAPIキーなどの機密情報を読み込むようにしています。
  • **load_dotenv()**は、現在のディレクトリにある.envファイルを読み込み、環境変数として扱います。この手法はセキュリティの観点から、APIキーやパスワードをコード内に直接書かないため、よく使われます。
  • **os.getenv('OPENAI_API_KEY')**で、環境変数に設定されたOpenAIのAPIキーを取得します。このAPIキーは、ChatGPT APIを使用する際に認証として使用されます。
  • APIのエンドポイント:
    OpenAIのgpt-3.5-turboモデルを利用するために、正しいエンドポイントとしてhttps://api.openai.com/v1/chat/completionsを使用しています。このエンドポイントは、チャット形式のAPIリクエストを受け付けます。

.envファイル

まず、.env ファイルに OpenAI の API キーを追加保存します。

現在のディレクトリ構造

この構造において、main.pyからcommands/api.pyの関数をインポートするためには、commandsフォルダをモジュールとして認識させる必要があります。これを行うには、いくつかのステップを確認して実行する必要があります。

main.pyでモジュールをインポート(コードの書き換え)

  • commands/api.pyにあるget_data関数をインポートする際には、次のように書き換えます。

ポイント

環境変数の読み込み
.envファイルからDISCORD_TOKENを取得し、Discord Botのトークンとして使用します。

2. Botの初期化
commands.Botを使用して、!をコマンドプレフィックスにしたDiscord Botを作成し、メッセージ内容へのアクセスを許可します。

3. !askコマンドの実装
ユーザーが!askコマンドを使って質問を送ると、call_chatgpt_api関数を使ってChatGPT APIにリクエストを送り、応答を取得してDiscordに返します。

4. コマンドとイベントのロード
commandsディレクトリとeventsディレクトリから拡張機能(Cog)をロードし、Botの機能を追加します。

5. Botの起動
main()関数内で拡張機能をロードし、bot.start()でDiscordに接続してBotを起動します。

出力結果

ダダ
ダダ

よく見ると誤字がありましたが、とりあえず無事に完成しました😊

とりあえず、無事に完成いたしました。
実際にBOTを常時動かすためには、クラウドサービス等を使わないといけませんが、とりあえずはここまでです。

まとめ

今回の記事では、初心者向けにDiscord BOTの作成手順を解説しました。特に、初めてプログラミングに挑戦する方でも安心して取り組めるように、PythonとChatGPT APIを活用してBOTを作成する方法を紹介しました。この記事のポイントは以下の通りです。

  1. Discordとは何か: ゲーマーやコミュニティ向けの無料チャットアプリで、テキスト、ボイス、ビデオチャット機能を提供します。
  2. Python環境の準備: コマンドプロンプトを使って簡単にファイルを作成し、プログラミングの基本的な環境を整える方法を解説しました。
  3. ChatGPT APIの利用: OpenAIのAPIを活用し、質問に応答するBOTを実装しました。セキュリティ面での配慮として、環境変数からAPIキーを読み込む手法も紹介しました。
  4. BOTの実装と拡張: Discord APIを使った簡単なBOTの作成方法を学び、チャット形式で質問を受け付けてChatGPTから応答を得る仕組みを構築しました。

今後は、このBOTをさらに発展させ、自動化機能やコミュニティ運営の支援機能を追加していくこともできます。この記事を参考に、ぜひ自分だけのオリジナルBOTを作り上げ、Discordでの活動をより一層便利にしていきましょう!

もしわからないことがあれば、このブログやXに質問等を投げていただければと思います。

Xのアカウントはこちら

ダダのアカウント

プログラミング学習を進めているけれど、まだ副収入につなげられていない…そんなあなたへ!今こそ、学んだスキルを活かして副業に挑戦する絶好のチャンスです。プログラミングだけでなく、自分のスキルや商品をネットで販売する『ネットショップ』を開設してみませんか?

ネットショップを持つことで、自分の知識やスキルをより多くの人に届け、副収入を得ることが可能です。学んできたプログラミングを活かして、ショップのカスタマイズや運営も自由自在に行えますし、もし商品作成が難しい場合でも、デジタル商品やサービス提供など、いろんな選択肢があります。

このステップで一歩踏み出せば、今学んでいることが副収入に直結し、自分の時間をより有効に使うことができるはずです!一緒にネットショップを開設し、副業の第一歩を踏み出しましょう!

プログラミングを視覚的に理解したい方やプログラミングで絵を書いてみたい方はUdemyで講座も作っているのでこちらも参考にしてみてください

Udemy講座

Processing Python講座

ChatGPTでPythonの学習を始めてみたい方は以下の記事を参考にしてみてください

プログラミングを学びたいけど、どこから始めたらいいのか分からない、自分に合っているか不安…そんな悩みを持っている方におすすめしたいのが、 無料相談 サービスです!

この無料相談では、あなたの現状や目標に合わせて、最適な学習プランを一緒に考えてくれます。どんなスキルが必要なのか、どうやって学習を進めると効果的かを具体的にアドバイスしてもらえるので、無駄なく効率的にスタートを切ることができます。

さらに、プログラミング学習には同じ目標を持つ 仲間 がいること、そして頼りになる メンター の存在がとても大きな支えになります。独学ではどうしてもつまずきやすい部分も、メンターがあなたの成長に合わせて親身にサポートしてくれるので、安心して学びを進められます。

まずは 無料相談 で、あなたに合ったプランを見つけて、スキルアップへの第一歩を踏み出してみませんか?今なら、迷っている方でも気軽に相談できるチャンスです!

テックアカデミー無料メンター相談

-ChatGTP, プログラミング学習
-, , , , , ,