DiscordrbでDiscordのBOTを作ろう!

DiscordrbでDiscordのBOTをつくろう!

ということでBOTの作り方を紹介していきます!!

Discordへ登録していることとRubyインストールされてる前提で行きます

ちなみにRubyがインストールされているか確認する時には

 

>||
$ruby -v
||<

で確認できます

準備編^^

じゃあまずコマンドプロンプト

>||
$ gem install discordrb
||<

と打ちましょう。discordrbというgemがインストールされます!

 

次に

discordapp.com

ここへアクセスして、新しいアプリを作りましょう。

作成したら"Token"と"ClientID"をメモしてください。

Tokenは非常に重要なのであまり他人に教えないようにしましょう(BOTが乗っ取られる危険があります)

 

それでは早速プログラミングをしていきましょう!

Atomというテキストエディタがお勧めです!

 

いざ!プログラミング!

まずは簡単なコードでやってみましょう。

 

>|ruby|
require 'discordrb'

 

bot = Discordrb::Commands::CommandBot.new token: "tokenはここ'', client_id: cliendidはここ, prefix: '!

 

bot.message do |event|
  mes = event.message.content
  if mes == "Hello"
     event.respond "Hello!^^"
  end

  if mes == "Goodbye"
    event.respond "bye^^"
   end
end

 

bot.command :help do |event|

  event.respond "しらねーよ"

end

 

bot.run
||<

 

はい!それでtokenはここと書いてあるところに、先ほどのTokenを入れて、clientidはここというところにClientIDを入れてください!

そしたらコマンドプロンプロで

>||
$cd (rbファイルがあるパス)

 

$ruby (rbファイルの名前).rb
||<

と実行してください![INFO]なんたらこんたらと出たら成功です()

 

もっと本格的なBOTを作る!!!

というわけでここから下はもっと本格的なBOTを作るための方法を教えていきます!

 

BOTに○○をプレイ中と表示させる。

>|ruby|
bot.ready(){|event,game|
bot.game = "表示させたい内容"
nil
}
||<

 

これを追加することによって、BOTが起動した際に表示させたい内容がプレイ中になります!

 

指定したチャンネルにメッセージを送る

>|ruby|
bot.send_message(チャンネルID,"内容")
||<

をevent.respond の代わりに書くと指定したチャンネルに送信されます!

 

JOINメッセージを送ろう!

 

>|ruby|
member_join(){|event|

   event.respond "ようこそ!"

}
||<

これで誰かがサーバーに参加した際にようこそ!というメッセージが送信されます

DMに送信する際は

>|ruby|
event.user.pm "内容"
||<

 

のように書き換えます。

 

役職を与えよう!

 

>|ruby|

bot.command :role do |event|


rolename = "normal_member"
event.user.add_role(event.server.roles.find{|r| r.name == rolename})

 

end
||<

 

と書くことによって、!roleと実行したらnormal_memberという役職が与えられます

 

ちなみに

 

>|ruby| 

member_join(){|event

rolename = "normal_member"
event.user.add_role(event.server.roles.find{|r| r.name == rolename})

 }
||<

 

こうすれば誰かが参加した時に自動で役職を与えるBOTになります!

 

こんな感じでDiscordのBOTというのは作られています!

みなさんもぜひBOTを作ってみてください!工夫次第ではいろいろな面白いBOT

作れたりして、非常に楽しいです^^

 

参考:

https://github.com/xpjp/xpfiat-bot/commit/194780ae64c0236f9b053fe9bd45846eacf6fefe

 

上にはさらにいろいろなコードが乗っているのでぜひ参考にしてください!では!

 

追記、BOTを追加する方法忘れてましたw

http://discordapp.com/oauth2/authorize?client_id=ClientID&scope=bot&permissions=0

 

このリンクのClientIDを自分のClientIDに変えることによってBOTを追加できます!

permissions=0permissions=8にすると管理者権限がえれまする

ではっ!