2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Discord.jsで起動時に特定の名前のチャンネルでメッセージを出す。

Last updated at Posted at 2019-10-06

この内容は、Discord.py向けにも解説しています。こちらからご覧ください。

前提条件

既にnode.jsでDiscord.jsが動く前提で書きますので、環境を揃えてからお願いします。
実行方法等も特に説明しません。

コードの内容

同じ名前のチャンネルが複数のサーバーにある事を想定して書いてます。
なので、BOTがいる全てのチャンネルを読み込むような動作をします。
そうで無い場合はもっと無駄の少ないコードになると思います。

on-ready.js
const Discord = require('discord.js');
const client = new Discord.Client();

client.login("<Token>");

client.on('ready', () => {

    const ch_name = "チャンネル名";

    client.channels.forEach(channel => {
        if (channel.name === ch_name) {
            channel.send("起動しました")
            return;
        }
        return;
    });
})

これだけです。

コードの説明

Discord.jsを読み込んで、変数「Discord」に代入します。
const Discord = require('discord.js');

Discordにクライアント接続をします。
const client = new Discord.Client();

トークンを読み込んでDiscordにログインします。
の箇所にはあなたのBOTのトークンを入れてください。
client.login("<Token>");

BOTのクライアントが起動したときに{ }の中身を実行します。
client.on('ready', () => { })

BOTが接続している全チャンネルの情報を順番にchannelに代入して、チャンネルの数だけ繰り返します。
client.channels.forEach(channel => { });

チャンネルの名前がch_nameと一致したら実行します。
一致しなければ何もせずに次のチャンネルに行きます。
if (channel.name === ch_name) { }
return;

指定したチャンネルに「起動しました」と送信して終了します。
channel.send("起動しました")
return;

以上です。
間違い等があれば、Discordまでご連絡ください。

このソースコードはGitHubに掲載しています。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?