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

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

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

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

JavaScript

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

Q&A

解決済

1回答

643閲覧

discord.js v14でグローバルチャットを作りたい

ibutya

総合スコア1

Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

JavaScript

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

0グッド

0クリップ

投稿2023/05/19 22:40

実現したいこと

discord.js v14でグローバルチャットを作りたい

前提

一応調べたコードでやってみたが、エラーを吐き出す

発生している問題・エラーメッセージ

js

1node:events:491 2 throw er; // Unhandled 'error' event 3 ^ 4 5TypeError: Discord.MessageEmbed is not a constructor 6 at Client.<anonymous> (/home/runner/bot-1/index.js:66:23) 7Emitted 'error' event on Client instance at: 8 at emitUnhandledRejectionOrErr (node:events:394:10) 9 10Node.js v18.12.1 11repl process died unexpectedly: exit status 1 12

該当のソースコード

js

1const Discord = require('discord.js'); 2 3 4client.login("MTEwNjc1MTQ3NjU5ODA1MDg2Nw.GwuMfD.Q_z9m8BbjFW_0HLuDnNU_ngSH2un7oUahC5-Do"); 5client.on('messageCreate', async message => { 6 if (message.channel.name === 'グローバルチャット') { 7 if (message.author.bot) return; 8 if (!message.attachments.size) await message.delete(); 9 const author = { name: message.author.tag, iconURL: message.author.displayAvatarURL() }; 10 const footer = { text: message.guild.name, iconURL: message.guild.iconURL() }; 11 for (const channel of client.channels.cache.values()) { 12 if (channel.name !== 'グローバルチャット') continue; 13 if (message.content) { 14 const embed = new Discord.MessageEmbed() 15 .setAuthor(author) 16 .setDescription(message.content) 17 .setColor(0x2C2F33) 18 .setFooter(footer) 19 .setTimestamp(); 20 await channel.send({ embeds: [embed] }); 21 } 22 for (const attachment of message.attachments.values()) { 23 const embed = new Discord.MessageEmbed() 24 .setAuthor(author) 25 .setImage(attachment.url) 26 .setDescription(attachment.url) 27 .setColor(0x2C2F33) 28 .setFooter(footer) 29 .setTimestamp(); 30 await channel.send({ embeds: [embed] }); 31 const blacklist = ["ここにミュートする人のID"] 32 if (blacklist.includs(message.author.id)) { 33 message.delete() 34 } else { 35 //処理 36 } 37 } 38 } 39 } 40});

試したこと

newやらを消してみたりしました

補足情報(FW/ツールのバージョンなど)

discord.js v14
node.js v18.12.1
Replit

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

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

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

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

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

guest

回答1

0

ベストアンサー

discord.js v14
ではDiscord.MessageEmbedが廃止されてて
EmbedBuilderになってるようです

const { EmbedBuilder } = require('discord.js'); const embed = new EmbedBuilder();

v14でかなり変更されたみたい

https://stackoverflow.com/questions/73028854/discord-js-v13-code-breaks-when-upgrading-to-v14
を参照してください。

投稿2023/05/20 02:57

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問