こんにちはGSです。
今回も前回同様にChatGPTを使用してみました。この作品も同様にSIGNATE投稿作品になりますのでもしよろしければ、twitterの方でRTやいいねをいただけたらと思います。
今回はbot開発のテーマで書かせていただきます。
背景
現在いろいろな企業では社内ツールでChatGPTを導入することを検討しているところもあるかと思います。そこで今回はdiscordにbotを入れるまでの部分と実際にChatGPTapiがdiscordでうまく動くまでの二段階でフローを考えましたが前者の部分で失敗した話をまとめたいと思います。
またこれを制作したGSは開発はド級の初心者であるため、記事内に間違いがある場合は指摘をください
実践
どこで失敗したか
先に原因について書きます。大きく分けて原因は二箇所あります
- 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'
というエラーが出ました。
次のこのコメントで、ログインには成功しましたが、コメントが返ってきませんでした。
ここがverの問題だと考えています。
次に公式のdiscord.pyのリファレンスを見に行きました。
これにpython fileの方を書き直した結果、特権ゲートウェイインテントについてのエラーが出ました。特権ゲートウェイインテントってなんだろうと思い調べたところ以下になります。上記の手順では2に該当する部分のチェック項目が漏れていたことがわかりました。
こちらの項目についていくつかonにして指示に従ったところ
成功しました。
感想
ChatGPTでは完全にクリアとはなりませんでしたが、ある程度の補完はできているかなと思っています。本当に必要最低限の手順は教えてくれたので、理解していない身としてはかなり危険だなと思いますが、役には立ったと感じています。