Discord.js setGame() not working anymore

42.6k views Asked by At

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. When I first coded the bot up until recently it worked just fine. Now the 3 discord bots I have aren't showing their games.

This is the code I'm using:

const Discord = require("discord.js");
const bot = new Discord.Client();
bot.on("ready", () => {
  console.log("Ready");
  bot.user.setGame("Type !help");
}
5

There are 5 answers

2
NintendoZaedus On BEST ANSWER

.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'.

0
LW001 On

The setGame() Method has stopped working, here's what you can do:

  • update to latest 11.1-dev or
  • use .setPresence({ game: { name: 'nameGoesHere', type: 0 } }); as a workaround instead

Source: https://github.com/hydrabolt/discord.js/issues/1807#issuecomment-323578919

0
Kxmxth On

setgame is depreciated use setActivity instead

example:

client.user.setActivity('activity here')

Or:

client.user.setActivity('activity here', {type: "WATCHING"})

type can be WATCHING, LISTENING, PLAYING or STREAMING

if streaming you need to add this below the setActivity code

url: "twitch.tv/urtwitchusername",
0
Pruina Tempestatis On

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.

0
koubi On

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