質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1137閲覧

discord.jsでの役職作成方法

yutarou12

総合スコア155

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2019/08/02 01:05

###Discord botで役職追加をする

discora.jsを使い役職を作成するためにはどのようなコードを書いたら良いのでしょうか?
分かる方教えてください!

#####ツール
node.js
discord.js

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yut148

2019/08/02 01:19

役職?とはどの様なものを想定していますでしょうか? 役職で想像しているものを記載してみていただけないでしょうか。
yutarou12

2019/08/02 01:35 編集

!createを打つと あいう という役職を作成するような感じにしたいと思っております。
yutampp

2019/08/02 03:50 編集

調べてみた感じ、GuildMemberRoleStoreあたりを使えばできると思うのですが、yutarou12さんの理解 レベルが不明なのでなんとも回答しずらいです。 https://discord.js.org/#/docs/main/master/class/GuildMemberRoleStore まずbot用のサーバーを立ててNode.jsをインストールするところからだと思うのですが、まずサーバーは建てました?(どっかのVPSサーバ借りた?自宅?)Node.jsは分かるのですか?
yutarou12

2019/08/02 08:23

説明不足で申し訳ありません。 自宅でサーバーを建てておりbot導入、起動、まではすべて終わっております
yutampp

2019/08/02 10:53

PingPong応答(または似たような応答)も動作しましたか?
yutarou12

2019/08/02 10:56

動作しております
yutarou12

2019/08/02 10:57 編集

case 'y!ping': message.channel.send(` Ping を確認しています...`) .then((pingcheck) => pingcheck.edit(`${pingcheck.createdTimestamp - message.createdTimestamp} ms`)); break; コードのほんの一部です。 (今回の質問とは関係はありませんが)
yutampp

2019/08/02 12:52

OK。予想より理解度が高い。
guest

回答1

0

ベストアンサー

Discode自体あまり触ったことないですが公式文書をざっと読んだら理解できそうだったので、アプローチ方法を回答します。

まず、自分のギルドを取得する必要があります。
以下のコードでメッセージが送信されたギルドが取得できそうです。(きっと)
このサンプルコードを参考にしました。
メッセージクラスのギルドプロパティに関する公式ドキュメント

javasscript

1client.on('message', message => { 2 var guild = message.guild; 3});

ギルドに紐づく情報として役職が当然あるはずです。
多分英語でrole(役割)だろうなという予想の元、ギルドクラスの説明を見るとやはりありました。
ギルドクラスのrolesプロパティに関する公式ドキュメント

rolesはRoleStoreクラスでできています。
おそらくroleを追加するようなメソッドがあるのではないか、という予想の元、
RoleStoreクラスの公式文書をざっと眺めてみたところ、createというメソッドがありました。
RoleStoreクラスのcreateメソッドに関する公式ドキュメント
そこにこんなExamplesがあります。

javascript

1guild.roles.create({ 2 data: { 3 name: 'Super Cool People', 4 color: 'BLUE', 5 }, 6 reason: 'we needed a role for Super Cool People', 7}) 8 .then(console.log) 9 .catch(console.error);

お探しのコードはこれじゃないでしょうか。
役職名や色以外(権限とか)を設定したかったら、RoleData型について調べると幸せになれると思います。
RoleDate型に関する公式ドキュメント

最後に。質問するときはどのような環境で何に困っているのか(何もわからない!では話になりません)どこまで試してみてどんなエラーが出たのか、を明確に書きましょう。

投稿2019/08/02 12:49

yutampp

総合スコア182

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yutampp

2019/08/02 12:58 編集

あ、分かるとは思いますが、一応。 !createで役職を作りたいなら、 if (message.content === '!create') {/*上記のコード*/} と、条件付けします。 !で始まるのはそういう文化なんですかね。 参考にしました。 https://discord.js.org/#/docs/main/master/examples/attachments
yutarou12

2019/08/02 14:51

わかりやすく丁寧なご説明ありがとうございました。 初めの説明が不足しており申し訳ありませんでした。 今後質問する際は気をつけて質問しようと思っております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問