前提
自身のDiscordサーバーを管理する管理Botを作りたくて、Discord.jsの勉強をしながら作っています。
実現したいこと
- ステータスメッセージにサーバー内の全メンバーの総数を表示させたい
- 追加: 複数のステータスメッセージを指定した時間でそれぞれ変更させたい(現状のものでは、ずれが発生してしまうためできるのであれば変更させたい)
発生している問題・エラーメッセージ
/home/runner/djs-disbot-template/index.js:20 client.user.setActivity({name:"サーバー内人数: "+`${member.guild.membercount}`},{type:`WATCHING`}) ^ ReferenceError: member is not defined at Timeout._onTimeout (/home/runner/djs-disbot-template/index.js:20:50)
該当のソースコード
js
1const http = require('http'); 2http.createServer(function(req, res) { 3 res.write("online"); 4 res.end(); 5}).listen(8080); 6 7const discord = require('discord.js'); 8const client = new discord.Client(); 9const guild = client.guilds.cache.get(`GuildID`); 10 11client.on('ready', () => { 12 console.log('ready'); 13 setInterval(() => { 14 client.user.setActivity({ name: `xxx` }, { type: `WATCHING` }) 15 }, 15000) 16 setInterval(() => { 17 client.user.setActivity({ name: "Ping:" + `${client.ws.ping}` + ` ms` }, { type: `WATCHING` }) 18 }, 7000) 19 setInterval(() =>{ 20 client.user.setActivity({name:"サーバー内人数: "+`${member.guild.membercount}`},{type:`WATCHING`}) 21 },23000) 22}); 23 24client.login(process.env.TOKEN);
TOKEN、GuildIDは、repl.itのSecretsに定義してあります。また、TOKENは、Botのトークン、GuildIDは対象のサーバーのIDです。
試したこと
Guild IDの定義方法について調べたものの有力が情報が得られなかった。(理解できなかった)
補足情報(FW/ツールのバージョンなど)
Discord v12 or 13 , Node.js v12.22.10
あなたの回答
tips
プレビュー