Botで何ができるのか 結論から言えばその人のスキル次第で何でもできてしまいます。 ただし、プログラミングに慣れていない人が初めから難しいことに挑戦するのはなかなかハードルが高いと思います。 最初は、初心者向けの解説でありがちなテキストチャンネルにメッセージを送信する程度のものから始めることをオススメします。 なぜなら、自分の書いたプログラムが動いたときに喜びを感じられないと、モチベーションが保ちづらいからです。 だから、簡単な機能から始めていき徐々にステップアップしていったほうが良いと思います。 難しいことをしようとした結果、挫折してやめてしまうのが一番もったいないです。 「Botを作ること」自体はそんなに難しくないのですから。 話がずれてきたので、Botで何ができるのか、事例をいくつか紹介します。 ここに載せている機能はほんの一部にしか過ぎないので、他の機能についても知りたい人は各自で調べてみてください。 (というか、私自身が勉強不足で全然把握できていないです。 Discord Botは様々な言語、ライブラリで開発することができます。 他にも色々ありますが、有名どころはざっとこんな感じでしょうか。 discord. js(JavaScript) discord. py(Python) Discord. Net(C ) DiscordGo(Go) Discord4J(Java) discordrb(Ruby) 私の例を出すと、 RLエンジョイ部の「disco」というBotは discordrb(Ruby)、 RLAの大会運営用Botは discord. js(JavaScript) を使用しています。 最初はRubyで書きたいから discordrb、 今はJavaScriptで書きたいから discord. js を選択しました。 ほかに、 discord. py(Python)や Discord. Net(C )で簡単なBotを作ったこともあります。 私の場合は普段使わない言語で書いてみたいという興味本位な理由ですので、あまり参考にはならないと思いますが・・・。 基本的には自分の好きな言語で選択して良いと思いますが、人気で選ぶなら discord. js(JavaScript)、 discord. py(Python)のどちらかになります。 人気がある=情報量が多いということです。 当たり前ですが、わからないことを調べる際に情報量が多い方が解決しやすい傾向にあります。 そのあたりを考慮して選んでもらえたらと思います。 この記事では便宜上、 discord. jsを使用して説明していきますので、他の言語、ライブラリを使用される方は一部参考にならない部分があります。 ご了承ください。 それでは前置きが長くなりましたが、Botを作る過程の解説に入ります。 Botアカウントの作成 まずはBotのDiscordアカウントを用意してください。 下記のリンクにアクセスします。 New Application をクリックしてBotを作ってみましょう。 Botにつけたい名前を入力して Create をクリック。 APP ICON をクリックしてアイコンを設定。 アイコンを設定したら緑色のボタン Save Changes をクリックして保存します。 保存が完了すると緑色のメッセージが出ます。 次にBotの設定をしていきましょう。 なんか出てきますがとりあえず Yes, do it! これでBotのアカウント作成は完了しました。 後ほどこのページを使うので、できればこの状態で残しておいて次の作業からは別タブで作業していきましょう。 jsを使用しない方は読み飛ばしてください) 無料で簡単にBotを動かすためにGlitchを使います。 下記のリンクにアクセスします。 右下の Remix your own をクリック。 するとこのような画面に切り替わるので、ここからBot開発を始めることができます。 jsを使用しない方は読み飛ばしてください) 最初に. env を選択します。 DiscordのBotアカウントを作成したページ(Discord Developer Portal)に戻ります。 SETTINGS の Bot にある TOKEN の Copy ボタンをクリックします。 そして. これでBot Tokenの設定は完了です。 Botをサーバーに招待する 再びDiscordのBotアカウントを作成したページ(Discord Developer Portal)に戻ります。 今度は SETTINGS の OAuth2 を選択します。 OAuth2 URL GENERATOR の bot にチェックを入れます。 次に、BOT PERMISSIONS の 管理者 にチェックを入れます。 (Botに管理者権限を渡したくない場合はチェックを入れなくて良いですが、各権限を厳密に設定しておかないと、Botの権限が足りなくて動かないという事態に陥りますので、そのあたりは注意が必要です。 ) チェックを入れ終わったらURL横の Copy ボタンをクリックします。 そして、コピーしたURLにアクセスするとBotの招待ページに飛べるはずです。 招待するサーバーを選択して 認証 ボタンをクリックします。 あなたがロボットではないことを証明しましょう! これで自分のBotをサーバーに招待するところまで完了しました。 あとはBotの中身を作っていくだけです。 jsを使用しない方は読み飛ばしてください) いよいよプログラムを書いていきましょう。 コーディングというのはプログラムのソースコードを書くという意味 main. js を選択します。 Remix元のアプリケーションのソースコードが確認できます。 先頭の部分はGlitch用の内容なので特に気にしなくて良いです。 触らずにそのまま残しましょう。 listen 3000 ; この部分はBotの準備が完了したタイミング(ready)で、Botに何かをさせたいときに使います。 client. log 'bot is ready! client. user. log 'bot is ready! setPresence に関する情報が気になる人は下記のページを確認してください。 次に、この部分は誰かがチャットを送信したタイミング(message)で、Botに何かをさせたいときに使います。 client. isMemberMentioned client. 実際に動かしてみると分かりやすいので、Botへチャットでメンションを飛ばしてみましょう。 今度はユーザーが送信してきたメッセージをオウム返しするように「呼びましたか?」の部分を書き換えます。 client. isMemberMentioned client. author! reply message. content」で送信されたメッセージの内容が取れるので「呼びましたか?」の箇所を置き換えています。 また、if に下記の条件を入れておかないと自分自身に対して無限にメンションを飛ばすことになります。 message. author! user そのため、自分(Bot)以外のユーザーからメンションが飛んできた場合のみ返信するように条件を追加しました。 実際に動かすとこのようになります。 打ち込んだ内容がそっくりそのまま返ってきていることが分かります。 最後にテキストチャンネルを作るコマンドを作りましょう。 先ほど書き換えた処理の直後で構いません。 追加した処理は下記の通りです。 「addch チャンネル名」のように入力されたらテキストチャンネルを作成する機能となっています。 if message. content. content. guild. content. startsWith 'addch ' 「addch 」から始まるメッセージが入力されたらこの処理に入るようにしています。 それを調べるために startsWith を使用してチェックします。 Uptime Robotの使い方について解説します。 まずはSign-upでアカウントを作りましょう。 プランはFree Plan(無料)で十分です。 Free PlanのSign Upを選択してください。 名前、メールアドレス、パスワードを入力して、私はロボットではありませんにチェックを入れます。 海外のサイトですので、名前は英語表記のほうが良いかもしれません。 すべて完了したらSign-upを押しましょう。 確認メールが送信されますので、メールの受信箱を確認しましょう。 メールを受信したら、「アカウントをアクティベートしてください」と書かれていますので、リンクをクリックしてアクティベートしましょう。 これでアカウントの作成は完了です。 右上のLoginからログインしましょう。 登録したメールアドレスとパスワードを入力します。 Remember meにチェックを入れておくと1ヶ月間はログイン情報が保持されます。 ログインを省略したい場合はチェックを入れておくと便利ですが、他の人がそのPC等を使用してアクセスする場合も自動的にログインされてしまいますので、その辺は注意が必要です。 入力が済んだらLoginを押しましょう。 ログインするとダッシュボード画面が開かれます。 Add New Monitorを押して作成したbotを追加しましょう。 まず、Monitor TypeのHTTP s を選択します。 入力項目が増えました。 【Friendly Name】 名前です。 分かりやすければ何でも構いません。 【URL】 GlitchのbotのURLを設定します。 botのコーディング作業をしていた画面の上部にある「Show」から「In a New Window」を選択します。 新しいタブで開かれたページのURLをここに設定してください。 【Monitoring Interval】 監視のインターバル時間です。 デフォルトの5分のままでOKです。 右側のメールアドレスはアラートメールの設定です。 botのページにアクセスできない場合はメールでお知らせしてくれます。 チェックを入れないとMonitorを作成できませんので、チェックを入れてください。 ここまで済んだらCreate Monitorをクリックします。 正常に終了したら以下の緑色のメッセージが表示されますので、Closeを押して入力フォームを閉じてください。 ダッシュボードの一覧に作成したMonitorが追加されました。 選択してみましょう。 Current Statusで現在のbotの稼働状態を確認できます。 Upと表示されていますので、正常に稼働していることが分かります。 以上がUptime Robotの使い方の流れとなります。 Uptime Robotが5分ごとにbotのページにアクセスしてくれますので、Glitchのスリープを回避できます。 それにより、botを24時間稼働させることができるようになります。 まとめ 「簡単なDiscord Botの作り方」というタイトルなので、簡単にしか説明していませんが、Discordのチャットでカードゲームが出来るBotがあったり、色々調べてみると面白いBotがたくさん出てきます。 前確認したときもlatestが指定されていましたが、実際にインストールされていたバージョンは11. 4なので、おそらくpackage. jsonにかかれているバージョンではなく、それ"latest"が解決されたとき 最初にdiscord. jsが追加されたとき のバージョンがremix後も引き継がれているみたいです(package. jsonからdiscord. 2に置き換えれば最新のバージョンに変えられました) それから今確認したところなぜか、main. jsの15行目のconsole. logであった場所が. has client. user guild. channels. create channelName.
次の2018年1月14日追記 12月中旬頃よりが機能停止しています。 開発元のウェブサイトもアクセスができず、公式のサポート用discordチャンネルの更新も止まっています。 運営再開を期待したいところですが、望み薄の気がしているので新しい録音用botを調べています。 これが良いよというものがありましたら是非お教え頂ければ幸いです。 概要 discordだけでTRPGのボイスセッションができる環境を整えました。 ダイスボットと音楽の再生と 録音ができます。 用意するもの• 自分が管理権限を持っているdiscordサーバー• 英語だけのページに遭遇しても焦らない心• 多少複雑な手順でも挫けない心 導入するBot• サーバーへ招待するだけで誰でもボイスチャットを録音できるお手軽シンプルな録音専用bot。 InviteをクリックするとサーバーへBotを招待できます。 録音データはmp3形式になってというポッドキャストのホスティングサイトで視聴&DLできます。 全体公開ではなくリンクを知っている人にだけ公開のため気軽に使ってOK。 視聴ページはこんな感じです。 雑談を4時間くらい録音しましたが大丈夫でした。 良いのかな無料で。 DiscordでBCDice(どどんとふも使っているダイスロールエンジン)を使うためのbotです。 botの詳しい使い方は上記リンクから本家ページを開いてご確認下さい。 Mac用の起動スクリプトはのを自作して使っています。 MusicBotはmp3ファイルを再生できる珍しいdiscord用音楽再生botです。 Python製。 よくある音楽botはyoutubeなどの動画サイトに投稿されているものしか再生できないのですが、これは個人のサーバーやDropbox等にアップロードしたmp3ファイルも再生できます。 しかし1年前に更新がストップしたMusicBot本体にはリピート機能がありません。 そこで本題。 MusicBotにリピート機能を実装したを使用します。 以下、公式wiki(、)に沿ってインストール方法をざっくり書きます。 Pythonのインストール Pythonをインストールします。 バージョンは最新版、少なくとも3系 3. x をどうぞ。 パスも通しておいて下さい。 MusicBotのダウンロード の Clone or download からzipファイルをDLして適当なフォルダに解凍して下さい。 詳しくはをどうぞ。 後に設定ファイルで必要になるアカウントのIDを見られるようになります。 options. ini を作ります。 commandの順でダブルクリック 2回め以降は runbot. commandの各スクリプトをダブルクリックするだけで起動します。
次のコマンド 機能内容! help コマンドリスト表示! play URLの動画をキューに追加! play 検索で最初に出た動画をキューに追加! queue 現在のキューに入った動画のリストを表示! np 現在再生中の曲を表示! skip 曲をスキップ! search [サービス名] [検索結果最大数] 曲を検索して追加! shuffle キューの曲をシャッフル! clear キューを空にします! pause 現在の曲の再生を一時停止します! resume 曲の再生を再開します! summon botをVCに呼び出す. VCにいないと曲はかかりません! disconnect ボイスチャットからボットを切断します.
次の