スマートフォン用の表示で見るそれ、ウニです。メモじゃーんwww2019-06-04Serenityを使ってDiscordをRustから遊ぶはじまりちょっと作りたいものがあったのでDiscordのAPIを調べてました。ぶっちゃけた話、Pythonでdiscord.pyを使った方が楽なんだと思うんですけど、Pythonをみたら発狂して転げ回る病気にかかったということにしているので今回はRustで。RustでDiscordAPIを叩くライブラリを探してみるとSorenityというライブラリが見つかりました。github.com日本語で説明しているページが見当たらなかったので、しばらくあちこちにらめっこしながら、とりあえずサンプルが動いたのでそこまで書いておきます。下準備まずはDiscord向けのbotを作る準備をしないといけません。Discord向けのアプリを作るためにまずデベロッパーポータルへ行きましょう。discordapp.comDiscordにログインした状態でアクセスすると、下のようなページが出ると思います。Application"をクリックし、作成するアプリケーションの名前を入力して作成します。日本語でも大丈夫みたいですね。作成すると下のようなページが出るはずです。アプリケーションを作ったそうしたら上図の赤丸のBOTをクリックします。wisely."と、「bot追加したらもう戻れねえぜ!賢い選択を。!"を力強くクリックしましょう。wisely"は『インディー・ジョーンズ/最後の聖戦』を元ネタとするミームみたいですねそれはさておき、クリックすると、BOTが生まれた上図のようなページに移動します。とびだしてきた!」ですかね。Discordは本当にゲーム関連の洒落が多くて素敵ですね。それもさておき、上図の赤丸部分がプログラムで使用することになるトークンです。覚えておいてください。訪れるたびに毎回少しずつ変化しますが、いつ作ったものを使っても問題ないです。次に、左カラムのOAuth2をクリックします。移動先のページをスクロールすると、下図のようなチェックボックスが大量に出てくるかと思います。OAuth2のURLジェネレータここではbotにチェックを入れます。するとさらに下に下図のようなチェックボックス群が出てきます。BOTの権限設定このチェックボックスでbotに与える権限を設定できます。これはbotを招待する際に権限オフにもできます。試すために管理者にチェックを入れます。その後2つ上の図の赤丸でリンクをコピーし、それにアクセスすると下図のような画面が出ます。BOTをサーバーに追加するそこから追加するサーバーを選んで認証を押してやるとBOTがスポーンしたBOTがサーバーに参加します。このままでは何もできません。プログラムで動かしてやる必要があります。BOTを動かすとりあえずSerenityをcloneしてきましょう。https://github.com/serenity-rs/serenity.gitそうしたらexampleディレクトリ内の01_basic_ping_botに移動しましょう。run・・・といきたいところですが、このままだと「トークンの環境変数がないぞ」と怒られて動きません。トークンをプログラム内か環境変数に書いてやる必要があります。DISCORD_TOKEN=<ここにトークン>とでもしておけばいいと思います。"ここにトークン"としておきましょう。connected!が出ますので、そうしたらDiscord上で"!ping"と書き込んでやると・・・こいつ・・・動くぞ・・・!動きましたね。BOTを動かしてみました。run自体が通らなかったり、そもそもサンプルコードを真剣に読んでなかったりと手こずりましたが、無事動いたのでよしとします。今後はこれを使って、前からやりたかったことをやってみようと思います。最後まで読んでいただき、ありがとうございました。Mainframeはいいぞ。月別アーカイブはてなブログをはじめよう!sorenutsさんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか?はてなブログをはじめる(無料)はてなブログとはそれ、ウニです。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。