0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ChatGPTでdiscord botを作ろうとしたけど失敗した話

Last updated at Posted at 2023-03-18

こんにちはGSです。

今回も前回同様にChatGPTを使用してみました。この作品も同様にSIGNATE投稿作品になりますのでもしよろしければ、twitterの方でRTやいいねをいただけたらと思います。

今回はbot開発のテーマで書かせていただきます。

背景

現在いろいろな企業では社内ツールでChatGPTを導入することを検討しているところもあるかと思います。そこで今回はdiscordにbotを入れるまでの部分と実際にChatGPTapiがdiscordでうまく動くまでの二段階でフローを考えましたが前者の部分で失敗した話をまとめたいと思います。

またこれを制作したGSは開発はド級の初心者であるため、記事内に間違いがある場合は指摘をください

実践

スクリーンショット 2023-03-18 21.14.13.png
スクリーンショット 2023-03-18 21.14.19.png
スクリーンショット 2023-03-18 21.14.31.png
スクリーンショット 2023-03-18 21.14.45.png
スクリーンショット 2023-03-18 21.14.54.png

どこで失敗したか

先に原因について書きます。大きく分けて原因は二箇所あります

  • ChatGPT側の学習が2021年9月までのため使用しているdiscordライブラリが古い
  • 手順書の工程で特権ゲートウェイインテントに触れていなかったことです

具体的にどこで失敗したかに関しては、手順5の部分ですね。

次のプロンプトで

手順5にて

Traceback (most recent call last):
  File "/hogehoge/discord_bot_env/mybot.py", line 6, in <module>
    bot = commands.Bot(command_prefix='!')
TypeError: __init__() missing 1 required keyword-only argument: 'intents'

というエラーが出ました。

と返しました。すると、
スクリーンショット 2023-03-18 21.33.07.png

次のこのコメントで、ログインには成功しましたが、コメントが返ってきませんでした。
ここがverの問題だと考えています。

次に公式のdiscord.pyのリファレンスを見に行きました。

これにpython fileの方を書き直した結果、特権ゲートウェイインテントについてのエラーが出ました。特権ゲートウェイインテントってなんだろうと思い調べたところ以下になります。上記の手順では2に該当する部分のチェック項目が漏れていたことがわかりました。

スクリーンショット 2023-03-18 22.51.46.png

こちらの項目についていくつかonにして指示に従ったところ

スクリーンショット 2023-03-18 22.53.20.png

成功しました。

感想

ChatGPTでは完全にクリアとはなりませんでしたが、ある程度の補完はできているかなと思っています。本当に必要最低限の手順は教えてくれたので、理解していない身としてはかなり危険だなと思いますが、役には立ったと感じています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?