この内容は、Discord.py向けにも解説しています。こちらからご覧ください。
前提条件
既にnode.jsでDiscord.jsが動く前提で書きますので、環境を揃えてからお願いします。
実行方法等も特に説明しません。
コードの内容
同じ名前のチャンネルが複数のサーバーにある事を想定して書いてます。
なので、BOTがいる全てのチャンネルを読み込むような動作をします。
そうで無い場合はもっと無駄の少ないコードになると思います。
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に掲載しています。