diff --git a/src/client/Client.js b/src/client/Client.js index 89d94f00f..b4c9f42c0 100644 --- a/src/client/Client.js +++ b/src/client/Client.js @@ -266,8 +266,8 @@ class Client extends EventEmitter { * Logs the client in, establishing a websocket connection to Discord. * Both bot and regular user accounts are supported, but it is highly recommended to use a bot account whenever * possible. User accounts are subject to harsher ratelimits and other restrictions that don't apply to bot accounts. - * Bot accounts also have access to many features that user accounts cannot utilise. User accounts that are found to - * be abusing/overusing the API will be banned, locking you out of Discord entirely. + * Bot accounts also have access to many features that user accounts cannot utilise. Automating a user account is + * considered a violation of the ToS. * @param {string} token Token of the account to log in with * @returns {Promise} Token of the account used * @example @@ -395,11 +395,12 @@ class Client extends EventEmitter { * Bots can only fetch their own profile. * @param {Snowflake} [id='@me'] ID of application to fetch * @returns {Promise} - * client.fetchApplication('id') + * client.fetchApplication() * .then(application => console.log(`Obtained application with name: ${application.name}`) * .catch(console.error); */ fetchApplication(id = '@me') { + if (id !== '@me') process.emitWarning('fetchApplication: use "@me" as an argument', 'DeprecationWarning'); return this.rest.methods.getApplication(id); } diff --git a/src/structures/ClientUser.js b/src/structures/ClientUser.js index 37bef239b..4c43e4264 100644 --- a/src/structures/ClientUser.js +++ b/src/structures/ClientUser.js @@ -303,6 +303,7 @@ class ClientUser extends User { /** * Fetches messages that mentioned the client's user. + * This is only available when using a user account. * @param {Object} [options] Options for the fetch * @param {number} [options.limit=25] Maximum number of mentions to retrieve * @param {boolean} [options.roles=true] Whether to include role mentions @@ -412,4 +413,19 @@ class ClientUser extends User { ClientUser.prototype.setGame = util.deprecate(ClientUser.prototype.setGame, 'ClientUser#setGame: use ClientUser#setActivity instead'); +ClientUser.prototype.addFriend = + util.deprecate(ClientUser.prototype.addFriend, 'ClientUser#addFriend: userbot methods will be removed'); + +ClientUser.prototype.removeFriend = + util.deprecate(ClientUser.prototype.removeFriend, 'ClientUser#removeFriend: userbot methods will be removed'); + +ClientUser.prototype.setPassword = + util.deprecate(ClientUser.prototype.setPassword, 'ClientUser#setPassword: userbot methods will be removed'); + +ClientUser.prototype.setEmail = + util.deprecate(ClientUser.prototype.setEmail, 'ClientUser#setEmail: userbot methods will be removed'); + +ClientUser.prototype.fetchMentions = + util.deprecate(ClientUser.prototype.fetchMentions, 'ClientUser#fetchMentions: userbot methods will be removed'); + module.exports = ClientUser; diff --git a/src/structures/Guild.js b/src/structures/Guild.js index da1998c02..3c4e1377a 100644 --- a/src/structures/Guild.js +++ b/src/structures/Guild.js @@ -1333,4 +1333,16 @@ Object.defineProperty(Guild.prototype, 'defaultChannel', { }, 'Guild#defaultChannel: This property is obsolete, will be removed in v12.0.0, and may not function as expected.'), }); +Guild.prototype.acknowledge = + util.deprecate(Guild.prototype.acknowledge, 'Guild#acknowledge: userbot methods will be removed'); + +Guild.prototype.setPosition = + util.deprecate(Guild.prototype.setPosition, 'Guild#setPosition: userbot methods will be removed'); + +Guild.prototype.search = + util.deprecate(Guild.prototype.search, 'Guild#search: userbot methods will be removed'); + +Guild.prototype.sync = + util.deprecate(Guild.prototype.sync, 'Guild#sync:, userbot methods will be removed'); + module.exports = Guild; diff --git a/src/structures/OAuth2Application.js b/src/structures/OAuth2Application.js index 90e1ae420..68703c256 100644 --- a/src/structures/OAuth2Application.js +++ b/src/structures/OAuth2Application.js @@ -1,4 +1,5 @@ const Snowflake = require('../util/Snowflake'); +const util = require('util'); /** * Represents an OAuth2 Application. @@ -140,4 +141,7 @@ class OAuth2Application { } } +OAuth2Application.prototype.reset = + util.deprecate(OAuth2Application.prototype.reset, 'OAuth2Application#reset: userbot methods will be removed'); + module.exports = OAuth2Application; diff --git a/src/structures/User.js b/src/structures/User.js index 23ef38f0c..08ce895a9 100644 --- a/src/structures/User.js +++ b/src/structures/User.js @@ -2,6 +2,7 @@ const TextBasedChannel = require('./interfaces/TextBasedChannel'); const Constants = require('../util/Constants'); const Presence = require('./Presence').Presence; const Snowflake = require('../util/Snowflake'); +const util = require('util'); /** * Represents a user on Discord. @@ -300,4 +301,22 @@ class User { TextBasedChannel.applyToClass(User); +User.prototype.block = + util.deprecate(User.prototype.block, 'User#block: userbot methods will be removed'); + +User.prototype.unblock = + util.deprecate(User.prototype.unblock, 'User#unblock: userbot methods will be removed'); + +User.prototype.addFriend = + util.deprecate(User.prototype.addFriend, 'User#addFriend: userbot methods will be removed'); + +User.prototype.removeFriend = + util.deprecate(User.prototype.removeFriend, 'User#removeFriend: userbot methods will be removed'); + +User.prototype.setNote = + util.deprecate(User.prototype.setNote, 'User#setNote, userbot methods will be removed'); + +User.prototype.fetchProfile = + util.deprecate(User.prototype.fetchProfile, 'User#fetchProfile: userbot methods will be removed'); + module.exports = User; diff --git a/src/structures/interfaces/TextBasedChannel.js b/src/structures/interfaces/TextBasedChannel.js index 21f1c7bfa..e3ee25018 100644 --- a/src/structures/interfaces/TextBasedChannel.js +++ b/src/structures/interfaces/TextBasedChannel.js @@ -593,3 +593,10 @@ exports.applyToClass = (structure, full = false, ignore = []) => { Object.defineProperty(structure.prototype, prop, Object.getOwnPropertyDescriptor(TextBasedChannel.prototype, prop)); } }; + +TextBasedChannel.prototype.acknowledge = util.deprecate( + TextBasedChannel.prototype.acknowledge, 'TextBasedChannel#acknowledge: userbot methods will be removed' +); + +TextBasedChannel.prototype.search = + util.deprecate(TextBasedChannel.prototype.search, 'TextBasedChannel#search: userbot methods will be removed');