メンバー数をチャンネル名として表示するサンプル
関連
指定したサーバーのメンバー数を指定したチャンネルの名前として表示する
注意としてテキストチャンネルだと空白や一部文字が使えないので、ボイスチャンネルを使うとよい
code:js
const Discord = require('discord.js')
const client = new Discord.Client()
const GUILD = '...' // 動作させるサーバーのID
const CHANNEL = '...' // 名前を変更するチャンネルのID
// ボットがオフラインのときの変更は出来ないから、起動時に辻褄を合わせる
client.on('ready', () => {
const guild = client.guilds.cache.get(GUILD)
const channel = guild.channels.cache.get(CHANNEL)
channel.setName('メンバー数: ' + guild.memberCount)
})
// メンバーが参加したらチャンネル名を更新する
client.on('guildMemberAdd', member => {
// 指定したサーバーでのみ実行する
if (member.guild.id === GUILD) {
// チャンネルを取得して、名前を更新する
const channel = member.guild.channels.cache.get(CHANNEL)
channel.setName('メンバー数: ' + member.guild.memberCount)
}
})
// メンバーが退出したらチャンネル名を更新する(処理は上と同じ)
client.on('guildMemberRemove', member => {
if (member.guild.id === GUILD) {
const channel = member.guild.channels.cache.get(CHANNEL)
channel.setName('メンバー数: ' + member.guild.memberCount)
}
})
client.login()