Discord API?
おいしそうですね。
APIとは?
APIとは、Application Programming Interface
の略で、外部から何か特定のサービスを使用したりすることが出来ます。
うーん難しいですね...
例えば、TwitterにはTwitterAPIというAPIがあります。
本来、Twitterへのツイートは公式のTwitterアプリやページからしかできません。
しかし、TwitterAPIというものを使用することで、ちょっとプログラムを書けば、公式アプリ以外からツイートとかが出来たりします。
こんな感じです。感覚で理解してください。
Discordにも同様にDiscordAPIというものが存在します。
- 最初にWebSocketで接続する
- Discordから
Hello
が送られる - DiscordにWebSocketで
Identify
を送る(BOTの証明?) - メッセージを送信したいなら専用のURLにHTTPリクエストを送る
- BOTがメッセージを受信するとWebSocketで送信される
- WebSocketで定期的に送られてくる「HeartBeat」にはWebSocketで応えなければならない
というような感じの流れでやります。
もちろん、こんなのを全部手動でやっていったら流石にクリスマスまでには間に合いません。
ということで、主要なAPI×主要な言語には「ラッパー」というものが存在します。
ラッパー。
違います。
「wrap」(包む)+「er」で、ラッパーです。
「ゥラッパー」とでも発音するのが正しいのでしょうか?
ラッパーを使うと、難しいことをあんまり考えずにAPIを使用することが出来ます。
DiscordAPIとPythonにも色々なラッパーがあります。
Discord.py
とかPycord
とかnextcord
とか...
今回は、私の勝手ですがnextcord
を使います。
もちろん本来はどれを使ってもいいと思います。
が、気分的に...ね?
どのラッパーを使ってもほとんど変わりませんが、多少変わってくる部分はあると思うので、少なくともこのシリーズではnextcord
と明言させてもらいます。
では、さっそくラッパーをインストールしていきましょう。
Pythonはモジュールをインストールすることで使用することが出来ます。
$ pip install nextcord
# または
$ python -m pip install nextcord
こうすることで、Pythonにnextcord
をインストールすることが出来ます。
他にも、pip install XXX
というような感じで指定すれば色々なモジュールをインストールすることが出来ます。
終わったら、ちゃんとインストールが成功しているか対話モードで試してみましょう。
$ python
Python 3.10.0 (default, Dec 11 2021, 16:18:22) [GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import nextcord
>>> nextcord.__version__
'2.1.0'
>>>
こんな風にちゃんとバージョン情報が表示されたら成功です。
ModuleNotFoundError: No module named 'nextcord'
と表示された場合はモジュールのインストールに失敗しています。
もう一回インストールを試してみたりしてください。
(もし、discord.pyやpycordを以前にインストールしている場合は、正常に動作しない場合がありますので、出来ることならアンインストールしておくことをお勧めします。)
以降も、コードを書いていくうえで必要だなーと思うモジュールについては適時書いて、インストールを促していきます。
記入漏れもある場合がありますが、その場合はご自身でインストールしていただければ嬉しいです。
インストール完了!
さて、これでインストールまでは完了しました。
ついに次回からBOTを起動させてみたいと思います!!!
楽しみですね!!!!
とりあえず今日はお休みしましょう!
というわけで、今日の記事はここまでです。
もしよろしければ記事へのいいねをして、次回記事をお楽しみに!