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

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

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JavaScript

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

2回答

655閲覧

discord.jsであらかじめ自分で書いたテキスト呼び出したい。

ChoCoChoCo

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JavaScript

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/05/15 09:38

前提・実現したいこと

JavaScriptであるコマンド(該当させたい名前)でテキストを出力させるシステムを作っています。

(例)descord内でA君と投稿したら
下記のフォーマットが出力されてBくんと投稿したらまた別の下記のフォーマットが出力できる状態

該当のソースコード

// Discord bot implements const discord = require("discord.js"); const client = new discord.Client(); client.on("A君", message => { console.log("bot is ready!"); }); client.on("message", message => { if (message.isMemberMentioned(client.user)) { message.reply("A君の詳細です。"); const embed = new discord.RichEmbed() .setTitle("詳細ページ") /* * Alternatively, use "#00AE86", [0, 174, 134] or an integer number. */ .setColor(0x00ae86) .setDescription("A君の状態") .setFooter( "This is the footer text, it can hold 2048 characters", "http://xxx" ) .setImage( "imagexxx" ) .setThumbnail("http://xxx.png") /* * Takes a Date object, defaults to current date. */ .setTimestamp() .setURL("https://xxx") .addField("役割", "その他") /* * Inline fields may not display as inline if the thumbnail and/or image is too big. */ .addField("その他情報", true) /* * Blank field, useful to create some space. */ .addBlankField(true) .addField("https://xxx", true); message.channel.send({ embed }); return; } }); ### 補足情報(FW/ツールのバージョンなど) 上記のソースコードでA.B.C.D君みたいにいろんなパターンで呼ぼ出せるようにさせたいです。 わかる方すみませんが教えていただけないでしょうか。

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

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

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

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

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

kyoya0819

2020/05/15 09:57 編集

Discord.jsでPythonを使うんですか?
Waki285

2021/07/16 08:44

カテゴリーを修正してくれるとありがたいです。
guest

回答2

0

discord.jsのイベントにA君というものはありません。
発言した言葉に応じてメッセージを送信したいのであれば、
message.contentを使いifで判定してあげれば動作すると思います。

js

1const discord = require("discord.js"); 2const client = new discord.Client(); 3 4client.on("ready", () => { //botが起動したときに処理が行われる 5 console.log("bot is ready!"); 6}); 7 8client.on("message", message => { //何かメッセージが送信されたらこの中の処理が行われる 9 10 if(message.content === "A君"){ 11 const embed = discord.RichEmbed() 12 .setTitle("詳細ページ") 13 .setColor(0x00ae86) 14 .setDescription("A君の状態") 15 .setFooter( 16 "This is the footer text, it can hold 2048 characters", 17 "http://xxx" 18 ) 19 .setImage( 20 "imagexxx" 21 ) 22 .setThumbnail("http://xxx.png") 23 .setTimestamp() 24 .setURL("https://xxx") 25 .addField("役割", "その他") 26 .addField("その他情報", "空白にはできない", true) 27 .addField("https://xxx", true); 28 .addBlankField(true) 29 30 message.channel.send({ embed }); 31 return; 32 } 33 34 if(message.content === "B君"){ 35 //A君と同じように書く 36 } 37 //.... 38})

このような感じになります。
.addFieldname値とvalue値の二つは必ず書かなければいけないので注意してください。

投稿2020/05/21 01:30

yutarou12

総合スコア155

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

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

0

こんにちは、下記のようにランダムに選んではどうでしょうか?

Javascript

1const people = [ 2 { 3 name: "A君", 4 message: "おはよー", 5 image: "", 6 }, 7 { 8 name: "B君", 9 message: "こんにちは", 10 image: "", 11 }, 12 { 13 name: "C君", 14 message: "こんばんは", 15 image: "", 16 }, 17 { 18 name: "D君", 19 message: "さようなら", 20 image: "", 21 }, 22]; 23const person = people[Math.floor(Math.random()*people.length)]; 24 25client.on(person.name, (message) => { 26 console.log("bot is ready!"); 27});

投稿2020/05/17 22:43

fake_shibe

総合スコア806

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

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

yutarou12

2020/05/21 01:21

person.name("A君"など)のイベント名はdiscord.jsには存在しません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問