1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

さくらインターネットでdiscordrbを使ったボットを稼働させる

Last updated at Posted at 2018-11-10

初投稿です;

ボットを作成する

ここらへんは説明しません。
すみません。以下の記事を参照してください。
イチからDiscord Bot 。for Ruby

満足のいくボットが作れたら、さくらインターネットに自分の作ったボットを導入して、いつでもボットが応答できるようにしましょう。

さくらインターネットの設定

まずOSをインストールします。
たぶん、どんなOSでも大丈夫だと思いますが、
私はカスタムOSでUbuntu 18.04 amd64をインストールしました。

コンソールを起動

ログインしたら、次のコマンドを打ちます

コンソール
sudo apt update
sudo apt upgrade

aptのバージョンが古いのでアップデート&アップグレードします。

コンソール
sudo apt install ruby
sudo apt install ruby-dev

これでRudyがインストールされました

コンソール
sudo gem update
sudo gem upgrade
sudo gem install discordrb

これでdiscordrbがインストールされました

自分の作ったボットのソースコードを導入

一番、手っ取り早いのはGitHubです。

さくらインターネットでは最初からgitコマンドが使えると思います。
あらかじめ、リモートに上げておいたソースコードをクローンしていきます。

コンソール
git clone [URL]

ソースコードで注意すべきこと

ここで注意してほしいのは、ボットのトークンなどを間違ってGitに上げないこと。
ボットが乗っ取られる可能性があります。

main.rb
require 'discordrb'

bot = Discordrb::Commands::CommandBot.new (
token: 'HjJhk7hjHJKj765.Gwrjid82b3y.jaHHuTrdsU7.TDwd6ud8aadawo02hdz', # 危険!
client_id: 473987432971231273,
prefix:'/',
)

こんなふうに埋め込むのは非常にまずいです。
間違ってもこの状態でリモートにpushしないでください。

main.rb
require 'discordrb'

bot = Discordrb::Commands::CommandBot.new (
token: File.read('token').chomp
client_id: File.read('client_id').chomp
prefix:'/',
)

こんなふうに別のファイルにして、.gitignoreに追加しましょう。

.gitignore
token
client_id

さくらインターネットのサーバーをクローンした後は、

コンソール
vi token

などして、

token
HjJhk7hjHJKj765.Gwrjid82b3y.jaHHuTrdsU7.TDwd6ud8aadawo02hdz

というふうに書き込みましょう。(client_idも同様)

実行

あなたが書いたソースコードの名前がmain.rbの場合、

コンソール
ruby main.rb

これで実行できます。

感想

Qiita記事ってこんな感じで書けばいいのかなぁ、
よくわかんない。

さくらインターネットで環境整えるのに3日かかったので、
自分のためにこの記事を書きました。
ほんとすまん。

1
2
2

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?