Можно ли установить пользовательское присутствие / активность / статус discord с помощью команд discordjs bot?

#javascript #discord.js #bots

#javascript #discord.js #боты

Вопрос:

Я хочу установить пользовательский статус в discord, когда пользователь вводит определенную команду в личку с помощью бота. Я не нашел ничего, что могло бы это сделать https://discord.js.org/#/docs/main/stable/general/welcome

Кто-нибудь знает, как это сделать?

Спасибо

Ответ №1:

Тип активности CUSTOM_STATUS недоступен для ботов (и, следовательно, вы не можете установить пользовательский статус) Однако все другие типы действий должны быть пригодны для использования.

Вы можете настроить активность бота напрямую через ClientUser#setActivity :

 //for example ...
client.user.setActivity("a bunch of commands ", { type: "WATCHING" })
// Watching a bunch of commands
  

Примечания: «клиент» — это то, что вы создали в качестве экземпляра своего экземпляра клиента ( const someVar = new Discord.Client() ). Распространенными альтернативными именами являются «бот», «автомат», «discordbot»и т.д..

Вы должны поместить #setActivity в прослушиватель событий ( client.on("message" ... , client.on("ready" ... ), чтобы избежать проблем с тем, что клиент еще не вошел в систему.

Комментарии:

1. Спасибо за ответ. Мой вопрос был неясен, извините, но мне нужно обновить статус пользователя, а не статус бота, возможно ли это с тем же кодом?

2. Нет, область bot OAuth2 не включает в себя настройку данных присутствия пользователя (кроме ClientUser ). Причина этого проста: пользователь явно не дает согласия на то, чтобы это произошло. Если вы считаете, что это действительно необходимо, вам понадобится activities.write для этого, см. discord.com/developers/docs/topics /…

3. Хорошо, я понимаю. Спасибо за ваше время