.. include:: ./vars.rst Users ===== The User Class is used to represent data about users. Attributes ---------- username ~~~~~~~~ A `String` that is the username of the user. discriminator ~~~~~~~~~~~~~ Used to differentiate users with the same username, provided by Discord. If you want to differentiate users, we'd recommend using the `id` attribute. id ~~ A `String` UUID of the user, will never change. avatar ~~~~~~ A `String` that is the user's avatar's ID, or if they don't have one this is `null`. avatarURL ~~~~~~~~~ A `String` that points to the user's avatar's URL, or if they don't have an avatar this is `null`. status ~~~~~~ The status of the user as a `String`; offline/online/idle. ----- Functions --------- mention() ~~~~~~~~~ Returns a `String`. This function will generate the mention string for the user, which when sent will preview as a mention. E.g: .. code-block:: js user.mention(); // something like <@3245982345035> This is mainly used internally by the API to correct mentions when sending messages, however you can use it. .. note:: You can also just concatenate a User object with strings to get the mention code, as the `toString()` method points to this. This is useful when sending messages. equals(object) ~~~~~~~~~~~~~~ Returns a `Boolean` depending on whether the User's ID (``user.id``) equals the object's ID (``object.id``). You should **always**, always use this if you want to compare users. **NEVER** do ``user1 == user2``. equalsStrict(object) ~~~~~~~~~~~~~~~~~~~~ Sees if the supplied object has the same username, ID, avatar and discriminator of the user. Mainly used internally. Returns a `Boolean` depending on the result.