📘

外部のサーバーを使ったDiscord Botの作り方

に公開

無料で24時間稼働するDiscord Botの作り方(Python)

こんにちは、Hiroです!

このZennでは、サーバーやPC不要完全無料24時間稼働という環境で、Pythonを使ったDiscord Botの作り方を紹介します。


✨ この解説の特徴

  • 誰でもできる
  • 自前のサーバー不要
  • 完全無料
  • 常時オンライン

🔧 準備するもの

  • Discordアカウント

主な流れ

  1. DiscordのDeveloper PortalでBotを作成し、トークンを取得
  2. PythonでBotのコードを書く
  3. サーバーを触る

① DiscordのBotを作成し、トークンを取得する

まず、以下のURLにアクセスします👇
👉 https://discord.com/developers/applications

アプリを新規作成

左上の「New Application」ボタンをクリック
New Application

名前を決めて「Create」
Create Application

任意でアイコンや説明を設定します。


Botの設定を行う

「Bot」タブを開いて「Add Bot」をクリック
Add Bot


Botの招待URLを作成

左メニューの「OAuth2 → URL Generator」を開きます。

  • SCOPES: bot にチェック
  • PERMISSIONS: Administrator(または必要な権限を選択)

生成されたURLで自分のサーバーにBotを招待してください。
URL Generator


トークンを取得する

「Bot」タブにある「Reset Token」を押してトークンを発行します。
※このトークンは絶対に外部に漏らさないでください。
Reset Token

「General Information」から「APPLICATION ID」も控えておきましょう。


② Pythonでコードを書こう(初心者向け)

ファイル名は main.py を想定しています。

import discord
from discord.ext import commands

TOKEN = 'YOUR_BOT_TOKEN'  # 実際のトークンを入れてください
PREFIX = '!'

intents = discord.Intents.default()
intents.message_content = True

bot = commands.Bot(command_prefix=PREFIX, intents=intents)

@bot.event
async def on_ready():
    print(f'Logged in as {bot.user.name}')

@bot.command()
async def hello(ctx):
    await ctx.send('Hello!')

bot.run(TOKEN)

解説

  • discord.py ライブラリを使っています。
  • !hello と入力すると「Hello!」と返すBotです。
  • メッセージ内容を扱うには intents.message_content = True が必要です。

③ 無料サーバー「shironekoserver」で24時間稼働!

以下のサイトにアクセスします👇
👉 https://shironekoserver.com/


アカウント作成

右上の「ログイン」ボタンからDiscordでログイン
ログイン画面


サーバー作成

ダッシュボードに移動し、新しいサーバーを作成します👇
👉 https://shironekoserver.com/dashboard
サーバー作成


初期セットアップコマンド(コンソールに入力)

sudo apt install python3
sudo apt update
sudo apt install python3-venv python3-pip -y

ファイルをアップロード

「ファイル」タブから任意のフォルダを作成し、その中にBotのコード(例:main.py)をアップロードします。
ファイルアップロード


仮想環境を構築してBotを起動!

cd 作成したフォルダ名
python3 -m venv .venv
source .venv/bin/activate
pip install discord.py
python3 main.py

通常は使ったライブラリをrequirements.txtに保存しておき
pip install -r requirements.txt
で一発でいれられるようにするのが主流です

これで完成です
ご質問やリクエストがあれば、ぜひコメントで教えてください!
没になったけど知っておくといい知識や解説
cd 作ったファイル名
を入力し実行そうすることでそのフォルダの中に入りそのフォルダの中で作業を行うことができます。
基本的に作業する前はそうなっているか確認してください
python3 -m venv .venv
で仮想環境というものを有効化してください
pip install 〇〇で仮想環境内でライブラリをインストールしてください 
ディスコードボットをつくる人は絶対に↓入ると思います
pip install discord.py

Discussion