mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
Add notes (#423)
This commit is contained in:
@@ -822,6 +822,16 @@ Set the nickname of a user on a server.
|
||||
- **callback** - `function` taking the following:
|
||||
- **error** - error if any occurred.
|
||||
|
||||
setNote(user, note, `callback`)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Set the note of a user. This will only work for user accounts.
|
||||
|
||||
- **user** - A `User Resolvable`_ to which the note is applied.
|
||||
- **note** - `String`, content of the note, or `null` to clear.
|
||||
- **callback** - `function` taking the following:
|
||||
- **error** - error if any occurred.
|
||||
|
||||
Events
|
||||
------
|
||||
|
||||
@@ -957,6 +967,11 @@ userUnbanned
|
||||
|
||||
Emitted when a user is unbanned from a server. Supplies two parameters, a User_ object and a Server_ object.
|
||||
|
||||
noteUpdated
|
||||
~~~~~~~~~~~
|
||||
|
||||
Emitted when a note is updated. Supplies a User_ object (containing the updated note) and the old note.
|
||||
|
||||
voiceJoin
|
||||
~~~~~~~~
|
||||
|
||||
|
||||
@@ -87,6 +87,12 @@ createdAt
|
||||
|
||||
A `Date` referring to when the user was created.
|
||||
|
||||
|
||||
note
|
||||
~~~~
|
||||
|
||||
The note of the user, `String`.
|
||||
|
||||
Functions
|
||||
---------
|
||||
|
||||
|
||||
@@ -791,6 +791,14 @@ var Client = (function (_EventEmitter) {
|
||||
return this.internal.setNickname(server, nick, user).then(dataCallback(callback), errorCallback(callback));
|
||||
};
|
||||
|
||||
// def setNote
|
||||
|
||||
Client.prototype.setNote = function setNote(user, note) {
|
||||
var callback = arguments.length <= 2 || arguments[2] === undefined ? function () /*err, {}*/{} : arguments[2];
|
||||
|
||||
return this.internal.setNote(user, note).then(dataCallback(callback), errorCallback(callback));
|
||||
};
|
||||
|
||||
// def createRole
|
||||
|
||||
Client.prototype.createRole = function createRole(server) {
|
||||
|
||||
@@ -1060,6 +1060,19 @@ var InternalClient = (function () {
|
||||
return this.apiRequest("patch", _Constants.Endpoints.SERVER_MEMBERS(server.id) + "/" + (user.id === this.user.id ? "@me/nick" : user.id), true, { nick: nick });
|
||||
};
|
||||
|
||||
//def setNote
|
||||
|
||||
InternalClient.prototype.setNote = function setNote(user, note) {
|
||||
user = this.resolver.resolveUser(user);
|
||||
note = note || "";
|
||||
|
||||
if (!user) {
|
||||
return Promise.reject(new Error("Failed to resolve user"));
|
||||
}
|
||||
|
||||
return this.apiRequest("put", _Constants.Endpoints.ME_NOTES + "/" + user.id, true, { note: note });
|
||||
};
|
||||
|
||||
// def createRole
|
||||
|
||||
InternalClient.prototype.createRole = function createRole(server, data) {
|
||||
@@ -1778,6 +1791,22 @@ var InternalClient = (function () {
|
||||
self.incoming_friend_requests = null;
|
||||
self.outgoing_friend_requests = null;
|
||||
}
|
||||
|
||||
// add notes to users
|
||||
if (data.notes) {
|
||||
for (note in data.notes) {
|
||||
var user = self.users.get("id", note);
|
||||
if (user) {
|
||||
var newUser = user;
|
||||
newUser.note = data.notes[note];
|
||||
|
||||
self.users.update(user, newUser);
|
||||
} else {
|
||||
client.emit("warn", "note in ready packet but user not cached");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
self.state = _ConnectionState2["default"].READY;
|
||||
|
||||
client.emit("debug", "ready packet took " + (Date.now() - startTime) + "ms to process");
|
||||
@@ -2242,6 +2271,26 @@ var InternalClient = (function () {
|
||||
client.emit("warn", "user unbanned but user/server not in cache.");
|
||||
}
|
||||
break;
|
||||
case _Constants.PacketType.USER_NOTE_UPDATE:
|
||||
if (_this36.user.bot) {
|
||||
return;
|
||||
}
|
||||
var user = self.users.get("id", data.id);
|
||||
var oldNote = user.note;
|
||||
var note = data.note || null;
|
||||
|
||||
// user in cache
|
||||
if (user) {
|
||||
var updatedUser = user;
|
||||
updatedUser.note = note;
|
||||
|
||||
client.emit("noteUpdated", user, oldNote);
|
||||
|
||||
self.users.update(user, updatedUser);
|
||||
} else {
|
||||
client.emit("warn", "note updated but user not in cache");
|
||||
}
|
||||
break;
|
||||
case _Constants.PacketType.VOICE_STATE_UPDATE:
|
||||
var user = self.users.get("id", data.user_id);
|
||||
var server = self.servers.get("id", data.guild_id);
|
||||
|
||||
@@ -12,6 +12,7 @@ var Endpoints = {
|
||||
ME_SERVER: function ME_SERVER(serverID) {
|
||||
return Endpoints.ME + "/guilds/" + serverID;
|
||||
},
|
||||
ME_NOTES: API + "/users/@me/notes",
|
||||
GATEWAY: API + "/gateway",
|
||||
AVATAR: function AVATAR(userID, avatar) {
|
||||
return API + "/users/" + userID + "/avatars/" + avatar + ".jpg";
|
||||
@@ -135,6 +136,7 @@ var PacketType = {
|
||||
SERVER_UPDATE: "GUILD_UPDATE",
|
||||
TYPING: "TYPING_START",
|
||||
USER_UPDATE: "USER_UPDATE",
|
||||
USER_NOTE_UPDATE: "USER_NOTE_UPDATE",
|
||||
VOICE_STATE_UPDATE: "VOICE_STATE_UPDATE",
|
||||
FRIEND_ADD: "RELATIONSHIP_ADD",
|
||||
FRIEND_REMOVE: "RELATIONSHIP_REMOVE"
|
||||
|
||||
@@ -37,6 +37,7 @@ var User = (function (_Equality) {
|
||||
since: null,
|
||||
channel: null
|
||||
};
|
||||
this.note = data.note || null;
|
||||
this.voiceChannel = null;
|
||||
this.voiceState = {};
|
||||
}
|
||||
|
||||
@@ -848,6 +848,12 @@ export default class Client extends EventEmitter {
|
||||
.then(dataCallback(callback), errorCallback(callback));
|
||||
}
|
||||
|
||||
// def setNote
|
||||
setNote(user, note, callback = (/*err, {}*/) => { }) {
|
||||
return this.internal.setNote(user,note)
|
||||
.then(dataCallback(callback), errorCallback(callback));
|
||||
}
|
||||
|
||||
// def createRole
|
||||
createRole(server, data = null, callback = (/*err, role*/) => { }) {
|
||||
if (typeof data === "function") {
|
||||
|
||||
@@ -915,6 +915,18 @@ export default class InternalClient {
|
||||
return this.apiRequest("patch", `${Endpoints.SERVER_MEMBERS(server.id)}/${user.id === this.user.id ? "@me/nick" : user.id}`, true, { nick: nick });
|
||||
}
|
||||
|
||||
//def setNote
|
||||
setNote(user, note) {
|
||||
user = this.resolver.resolveUser(user);
|
||||
note = note || "";
|
||||
|
||||
if(!user) {
|
||||
return Promise.reject(new Error("Failed to resolve user"));
|
||||
}
|
||||
|
||||
return this.apiRequest("put", `${Endpoints.ME_NOTES}/${user.id}`, true, { note: note });
|
||||
}
|
||||
|
||||
// def createRole
|
||||
createRole(server, data) {
|
||||
server = this.resolver.resolveServer(server);
|
||||
@@ -1551,6 +1563,23 @@ export default class InternalClient {
|
||||
self.incoming_friend_requests = null;
|
||||
self.outgoing_friend_requests = null;
|
||||
}
|
||||
|
||||
// add notes to users
|
||||
if(data.notes) {
|
||||
for(note in data.notes) {
|
||||
var user = self.users.get("id", note);
|
||||
if(user) {
|
||||
var newUser = user;
|
||||
newUser.note = data.notes[note];
|
||||
|
||||
self.users.update(user, newUser);
|
||||
} else {
|
||||
client.emit("warn", "note in ready packet but user not cached");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
self.state = ConnectionState.READY;
|
||||
|
||||
client.emit("debug", `ready packet took ${Date.now() - startTime}ms to process`);
|
||||
@@ -1985,6 +2014,27 @@ export default class InternalClient {
|
||||
client.emit("warn", "user unbanned but user/server not in cache.");
|
||||
}
|
||||
break;
|
||||
case PacketType.USER_NOTE_UPDATE:
|
||||
if(this.user.bot) {
|
||||
return;
|
||||
}
|
||||
var user = self.users.get("id", data.id);
|
||||
var oldNote = user.note;
|
||||
var note = data.note || null;
|
||||
|
||||
// user in cache
|
||||
if(user) {
|
||||
var updatedUser = user;
|
||||
updatedUser.note = note;
|
||||
|
||||
client.emit("noteUpdated", user, oldNote);
|
||||
|
||||
self.users.update(user, updatedUser);
|
||||
|
||||
} else {
|
||||
client.emit("warn", "note updated but user not in cache");
|
||||
}
|
||||
break;
|
||||
case PacketType.VOICE_STATE_UPDATE:
|
||||
var user = self.users.get("id", data.user_id);
|
||||
var server = self.servers.get("id", data.guild_id);
|
||||
|
||||
@@ -8,6 +8,7 @@ export const Endpoints = {
|
||||
ME: `${API}/users/@me`,
|
||||
ME_CHANNELS: `${API}/users/@me/channels`,
|
||||
ME_SERVER: (serverID) => `${Endpoints.ME}/guilds/${serverID}`,
|
||||
ME_NOTES: `${API}/users/@me/notes`,
|
||||
GATEWAY: `${API}/gateway`,
|
||||
AVATAR : (userID, avatar) => `${API}/users/${userID}/avatars/${avatar}.jpg`,
|
||||
INVITE: (id) => `${API}/invite/${id}`,
|
||||
@@ -93,6 +94,7 @@ export const PacketType = {
|
||||
SERVER_UPDATE : "GUILD_UPDATE",
|
||||
TYPING : "TYPING_START",
|
||||
USER_UPDATE : "USER_UPDATE",
|
||||
USER_NOTE_UPDATE: "USER_NOTE_UPDATE",
|
||||
VOICE_STATE_UPDATE : "VOICE_STATE_UPDATE",
|
||||
FRIEND_ADD : "RELATIONSHIP_ADD",
|
||||
FRIEND_REMOVE : "RELATIONSHIP_REMOVE"
|
||||
|
||||
@@ -19,6 +19,7 @@ export default class User extends Equality{
|
||||
since : null,
|
||||
channel : null
|
||||
};
|
||||
this.note = data.note || null;
|
||||
this.voiceChannel = null;
|
||||
this.voiceState = {};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user