I have been coding my Discord bot using Discord.JS for about 2 months now and I\'ve just recently noticed that my bot isn\'t saying that it\'s playing what I\'m telling it.
setGame() is now deprecated, and discord.js asks you to use setActivity().
const Discord = require("discord.js");
const bot = new Discord.Client();
bot.on("ready", () => {
console.log("Ready");
bot.user.setActivity("Type !help");
})
Hope this helped.
.setGame() is deprecated now but you could use .setPresence() or you could use the .setActivity() which is the same thing and format as the .setGame().
Ex.
const Discord = require('discord.js');
const bot = new Discord.Client();
bot.user.setActivity('YouTube', { type: 'WATCHING' });
Here is a link to the documentation in case you wanted to change 'Watching' to something else like 'Playing'.
Here's a short example of using the .setPresence that LW001 linked to:
var Discord = require('discord.js');
var bot = new Discord.Client();
bot.on('ready', () => {
bot.user.setStatus('available') // Can be 'available', 'idle', 'dnd', or 'invisible'
bot.user.setPresence({
game: {
name: 'Type !help',
type: 0
}
});
});
https://discord.js.org/#/docs/main/stable/class/ClientUser?scrollTo=setGame
The setGame() Method has stopped working, here's what you can do:
.setPresence({ game: { name: 'nameGoesHere', type: 0 } }); as a workaround insteadSource: https://github.com/hydrabolt/discord.js/issues/1807#issuecomment-323578919