LoginSignup
2
2

More than 1 year has passed since last update.

【8日目】BOTをとりあえず起動してみよう【PythonでDiscordBOTを作ろう!】

Last updated at Posted at 2022-12-07

実行

ついに、BOTの起動をしてみましょう。
BOTの起動にはトークンと呼ばれるものが必要ですので、まずはそれを取得しましょう。

トークンの取得

Discord Developer Portalから、以前アプリケーションを作成したのと同様に、Applicationから、今度は自分が作成したアプリケーションを選択します。
次にBotを選択して、Reset Tokenを押します。

22CB5707-6D12-44BE-B6DF-9B9A0F716BDC.jpeg

なんか警告が表示されますが、Yes, do it!を押します。

トークンが表示されますのでそれをコピーしてどこか「誰にもみられない安全なところ」へ置いておきます。

プログラミング

import nextcord
from nextcord.ext import commands

bot = commands.Bot()

bot.run("TOKEN")

TOKENの所は先ほどコピーしたトークンを貼り付けてください。

では、このプログラムを実行してみてください。
そしたらDiscordを起動して、あなたのBOTを見てみましょう。

5A107F67-C913-4B28-940B-D09AD07AD05F.jpeg

デデーン
なんと! 緑色のマークがついてオンラインになっているではありませんか!
と、こんな風にBOTを起動させるだけなら凄く簡単なのです!

from ... import ...

from 〇〇 import ××文は、〇〇というモジュールから××をインポートするという感じです。
なので、今回はnextcord.extからcommandsをインポートしています。
このcommandsの中には、DiscordのBOTを作る上で必要なものたちが含まれています。
基本的にこれを使ってBOTを作っていきます。

bot = commands.Bot()

Pythonにはクラスとかインスタンス化というものがあります。
これは、オブジェクト指向プログラミングによく見られるもので、classというのは簡単に言えばテンプレートです。
このテンプレートを使うことで、中にある関数とかデータを使用することができ、大変便利となっております。

classオブジェクトを使うには、インスタンス化をする必要があります。
インスタンス化は、普通に関数として実行するようにクラス名の後に()を付けることで、インスタンス化されます。インスタンス化されたオブジェクトは、テンプレートをまんまコピーしたような感じで、扱うことができます。
今回は、botという変数にcommands.Botのオブジェクトをインスタンス化しています。

「テンプレートをコピー」という所からわかる方もいるかと思いますが、コピーしているので、中のデータを変更しても、元のオブジェクトのデータは変更されません。
これが、オブジェクト指向プログラミングのお話です。

気になった方はいろいろ調べてみてください!

bot.run(TOKEN)

bot.runは、そのインスタンス化されたBOTを起動する関数です。
その際、渡されたトークンで起動します。

というわけで、このbot.run()が実行されて、BOTが起動するというわけです。

とりあえず終わらせよう

BOTを終了するには、Ctrl + Cを押して、現在実行中のPythonプログラムを終了します。
Ctrl + Cはよく使われるショートカットキーなので覚えておきましょう。
でも、強制終了に近いのでそれも覚えておきましょう。

...これじゃ、寂しいよね?

さて、BOTをオンラインにすることはできました。
しかし、今の状態では「何かメッセージに反応する」とか「コマンドを使用する」とかはありません。

これじゃ、寂しいですし、BOTとは言えませんよね。

というわけで、実際に次回からもうちょっとだけ踏み込んで「イベント」について紹介していきます。
ここからはAPIリファレンスの時間です。

これであなたもBOT開発者へと近づきました!

というわけで、今日の記事はここまでです。
もしよろしければ記事へのいいねをして、次回記事をお楽しみに!

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