2
1

More than 3 years have passed since last update.

discord.pyを1.3.4にしなきゃ動かなくなったってお話

Last updated at Posted at 2020-07-26

経緯

先日discord APIのアップデートが入り、バージョン1.3.4以前のdiscord.pyでは、以下のようなエラーが発生して動作しなくなってします。

TypeError:__new__() got an unexpected keyword argument 'deny_new'

(なんか1.2.5の時も似たようなのありましたね。KeyErrorでしたっけ?)

解決法

discord.pyのバージョンを1.3.4以上にしてあげてください(記事掲載時点での最新は1.3.4)。
ちなみに現在のバージョンを確認するには、コンソール上でPythonのインタプリタ(対話モード)を開き、以下のコマンドを実行してください。

>>> import discord
>>> print(discord.__version__)
1.3.4

この場合は記事執筆時点で最新の、1.3.4がインストールされています。
今この記事を見ている人の大半は1.3.4以前のものを使っていると思いますので、1.3.3など違う出力になっていると思います。
バージョンを上げることができれば何でも大丈夫ですが、以下にいくつか方法を提示しておきます。

Herokuの場合

Herokuの場合はrequirements.txtというファイルでライブラリを管理しているため、このファイルを編集して上げる必要があります。
以下が例です。

requirements.txt
discord.py>=1.3.4

requirements.txtの書き方については、我らが味方note.nkmk.meが解説していますので、興味がある方は是非。
https://note.nkmk.me/python-pip-install-requirements/

また、Herokuの場合、requirements.txtに記述したライブラリが自動でアップデートされるわけではないため、1.3.4のリリース後にデプロイをしていない場合、gitでコミットを行いデプロイして上げる必要があります。
「何いってんのかよくわかんねぇよ!」って人は上の通りにrequirements.txtを更新するだけでも大丈夫です

Windowsの場合

Windowsの場合は、以下のコマンドをコマンドプロントで実行すればdiscord.pyを更新することが出来ます。
1.3.4が入らない場合はdiscord.pyの部分をdiscord.py==1.3.4に変更するなどしてみてください。

py -3 -m pip install -U discord.py
# voice関係のものを使っている場合
py -3 -m pip install -U discord.py[voice]

Linux or Macの場合

以下のコマンドをターミナルで実行してみてください。なお筆者はMacを持っていないためMacの仕様はよくわかってません。

python3 -m pip install -U discord.py
# Windowsの場合と同様にvoice関係の物を使っている場合
python3 -m pip install -U discord.py[voice]

終わりに

いかがでしたでしょうか。
「久しぶりにbotを起動したけど動かない!」みたいな方の手助けになったなら幸いです。
執筆が初めてなので、拙い箇所が多々あるかもしれませんがご容赦ください。

最後に、私がよく出没しているdiscordサーバのリンクを貼っておきます。
Discord Bot Portal JP
disocrd botについての質問などができるサーバですので、bot制作で躓いていたら参加してみると良いかもしれません。

Happy coding!

2
1
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
2
1