- とある団体の中で使うため作ったdiscord botのコードをそのまま持ってきた
- 元々、全て自分で作ったコードand別にセキュアな情報入れてないand隠したいことないため、そのまま公開
- いろいろ勉強してもっとdiscord bot作る力を上げていきたい
- 既存の便利なbotを使いこなすスキルも大事だけど、自分で作れるのもカッコいいよね!
- のじゃろり狐が好きだからそういうテイストなbotにしていきたい
- vscode前提です
- typescript、yarn使ってます
- 公開にしてますが、誰かと一緒にこのリポジトリで何かしよう的な予定はないです。ただ隠すことがない趣味開発リポジトリだから公開にしているだけです
- このREADMEページ等にある程度の解説入れてますが、見たら大体わかるだろ前提です。
.env.example
を参考に環境変数を用意yarn install
yarn run:example
ここまで動けばおk!!!
公式ドキュメント 読めばだいたいわかると思います
- とりあえず、2022年時点で行っていた自分のVPSで浮かべてた方法をご紹介します
- 大前提としてdiscord appの画面でトークン等のセキュア情報は取得しておいてください
- どこぞのクラウドサービスに浮かべるときもやり方の雰囲気は同じかと
- 好きなやり方で
sudo yum install -y nodejs npm
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install yarn
- ↓このコマンドは一例で
mkdir -p /var/apps; cd /var/apps
git clone [email protected]:ccmiko/my-discord-bot.git
cd my-discord-bot
- ここで
.env
を作る(後述の通りsystemdから参照できるconfファイル作るからいらないかもしれない、インフラ的な部分は詳しくないごめんなさい)
yarn install
- ここでお試しでbot動かしたい場合は
package.json
のスクリプトを参照してください
- 環境変数値を設定ファイルに落とし込む(
.env
あればいらないかもしれない。インフラ的な部分は詳しくないごめんなさい)
# 中身はとりあえず.envと同じでOK
sudo vi /etc/systemd/system/my-discord-bot.conf
- サービスの定義を作る
sudo vi /etc/systemd/system/my-discord-bot.service
- ↓中身
[Unit]
Description=discord bot
[Service]
WorkingDirectory=/var/apps/my-discord-bot
EnvironmentFile=/etc/systemd/system/my-discord-bot.conf
ExecStart=/usr/bin/yarn run:bot:start
[Install]
WantedBy=multi-user.target
- chmod的な権限の変更が必要かもしれない。覚えてないごめんなさい
- 最後に一通り動かしてみる
sudo systemctl daemon-reload
sudo systemctl status my-discord-bot
sudo systemctl start my-discord-bot
sudo systemctl stop my-discord-bot
sudo systemctl restart my-discord-bot
- discord appページで設定した対象のサーバでbotがオンラインになってたら成功だと思います。