mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-18 12:33:30 +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:
|
- **callback** - `function` taking the following:
|
||||||
- **error** - error if any occurred.
|
- **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
|
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.
|
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
|
voiceJoin
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
|
|||||||
@@ -87,6 +87,12 @@ createdAt
|
|||||||
|
|
||||||
A `Date` referring to when the user was created.
|
A `Date` referring to when the user was created.
|
||||||
|
|
||||||
|
|
||||||
|
note
|
||||||
|
~~~~
|
||||||
|
|
||||||
|
The note of the user, `String`.
|
||||||
|
|
||||||
Functions
|
Functions
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
|||||||
@@ -791,6 +791,14 @@ var Client = (function (_EventEmitter) {
|
|||||||
return this.internal.setNickname(server, nick, user).then(dataCallback(callback), errorCallback(callback));
|
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
|
// def createRole
|
||||||
|
|
||||||
Client.prototype.createRole = function createRole(server) {
|
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 });
|
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
|
// def createRole
|
||||||
|
|
||||||
InternalClient.prototype.createRole = function createRole(server, data) {
|
InternalClient.prototype.createRole = function createRole(server, data) {
|
||||||
@@ -1778,6 +1791,22 @@ var InternalClient = (function () {
|
|||||||
self.incoming_friend_requests = null;
|
self.incoming_friend_requests = null;
|
||||||
self.outgoing_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;
|
self.state = _ConnectionState2["default"].READY;
|
||||||
|
|
||||||
client.emit("debug", "ready packet took " + (Date.now() - startTime) + "ms to process");
|
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.");
|
client.emit("warn", "user unbanned but user/server not in cache.");
|
||||||
}
|
}
|
||||||
break;
|
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:
|
case _Constants.PacketType.VOICE_STATE_UPDATE:
|
||||||
var user = self.users.get("id", data.user_id);
|
var user = self.users.get("id", data.user_id);
|
||||||
var server = self.servers.get("id", data.guild_id);
|
var server = self.servers.get("id", data.guild_id);
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ var Endpoints = {
|
|||||||
ME_SERVER: function ME_SERVER(serverID) {
|
ME_SERVER: function ME_SERVER(serverID) {
|
||||||
return Endpoints.ME + "/guilds/" + serverID;
|
return Endpoints.ME + "/guilds/" + serverID;
|
||||||
},
|
},
|
||||||
|
ME_NOTES: API + "/users/@me/notes",
|
||||||
GATEWAY: API + "/gateway",
|
GATEWAY: API + "/gateway",
|
||||||
AVATAR: function AVATAR(userID, avatar) {
|
AVATAR: function AVATAR(userID, avatar) {
|
||||||
return API + "/users/" + userID + "/avatars/" + avatar + ".jpg";
|
return API + "/users/" + userID + "/avatars/" + avatar + ".jpg";
|
||||||
@@ -135,6 +136,7 @@ var PacketType = {
|
|||||||
SERVER_UPDATE: "GUILD_UPDATE",
|
SERVER_UPDATE: "GUILD_UPDATE",
|
||||||
TYPING: "TYPING_START",
|
TYPING: "TYPING_START",
|
||||||
USER_UPDATE: "USER_UPDATE",
|
USER_UPDATE: "USER_UPDATE",
|
||||||
|
USER_NOTE_UPDATE: "USER_NOTE_UPDATE",
|
||||||
VOICE_STATE_UPDATE: "VOICE_STATE_UPDATE",
|
VOICE_STATE_UPDATE: "VOICE_STATE_UPDATE",
|
||||||
FRIEND_ADD: "RELATIONSHIP_ADD",
|
FRIEND_ADD: "RELATIONSHIP_ADD",
|
||||||
FRIEND_REMOVE: "RELATIONSHIP_REMOVE"
|
FRIEND_REMOVE: "RELATIONSHIP_REMOVE"
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ var User = (function (_Equality) {
|
|||||||
since: null,
|
since: null,
|
||||||
channel: null
|
channel: null
|
||||||
};
|
};
|
||||||
|
this.note = data.note || null;
|
||||||
this.voiceChannel = null;
|
this.voiceChannel = null;
|
||||||
this.voiceState = {};
|
this.voiceState = {};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -848,6 +848,12 @@ export default class Client extends EventEmitter {
|
|||||||
.then(dataCallback(callback), errorCallback(callback));
|
.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
|
// def createRole
|
||||||
createRole(server, data = null, callback = (/*err, role*/) => { }) {
|
createRole(server, data = null, callback = (/*err, role*/) => { }) {
|
||||||
if (typeof data === "function") {
|
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 });
|
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
|
// def createRole
|
||||||
createRole(server, data) {
|
createRole(server, data) {
|
||||||
server = this.resolver.resolveServer(server);
|
server = this.resolver.resolveServer(server);
|
||||||
@@ -1551,6 +1563,23 @@ export default class InternalClient {
|
|||||||
self.incoming_friend_requests = null;
|
self.incoming_friend_requests = null;
|
||||||
self.outgoing_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;
|
self.state = ConnectionState.READY;
|
||||||
|
|
||||||
client.emit("debug", `ready packet took ${Date.now() - startTime}ms to process`);
|
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.");
|
client.emit("warn", "user unbanned but user/server not in cache.");
|
||||||
}
|
}
|
||||||
break;
|
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:
|
case PacketType.VOICE_STATE_UPDATE:
|
||||||
var user = self.users.get("id", data.user_id);
|
var user = self.users.get("id", data.user_id);
|
||||||
var server = self.servers.get("id", data.guild_id);
|
var server = self.servers.get("id", data.guild_id);
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ export const Endpoints = {
|
|||||||
ME: `${API}/users/@me`,
|
ME: `${API}/users/@me`,
|
||||||
ME_CHANNELS: `${API}/users/@me/channels`,
|
ME_CHANNELS: `${API}/users/@me/channels`,
|
||||||
ME_SERVER: (serverID) => `${Endpoints.ME}/guilds/${serverID}`,
|
ME_SERVER: (serverID) => `${Endpoints.ME}/guilds/${serverID}`,
|
||||||
|
ME_NOTES: `${API}/users/@me/notes`,
|
||||||
GATEWAY: `${API}/gateway`,
|
GATEWAY: `${API}/gateway`,
|
||||||
AVATAR : (userID, avatar) => `${API}/users/${userID}/avatars/${avatar}.jpg`,
|
AVATAR : (userID, avatar) => `${API}/users/${userID}/avatars/${avatar}.jpg`,
|
||||||
INVITE: (id) => `${API}/invite/${id}`,
|
INVITE: (id) => `${API}/invite/${id}`,
|
||||||
@@ -93,6 +94,7 @@ export const PacketType = {
|
|||||||
SERVER_UPDATE : "GUILD_UPDATE",
|
SERVER_UPDATE : "GUILD_UPDATE",
|
||||||
TYPING : "TYPING_START",
|
TYPING : "TYPING_START",
|
||||||
USER_UPDATE : "USER_UPDATE",
|
USER_UPDATE : "USER_UPDATE",
|
||||||
|
USER_NOTE_UPDATE: "USER_NOTE_UPDATE",
|
||||||
VOICE_STATE_UPDATE : "VOICE_STATE_UPDATE",
|
VOICE_STATE_UPDATE : "VOICE_STATE_UPDATE",
|
||||||
FRIEND_ADD : "RELATIONSHIP_ADD",
|
FRIEND_ADD : "RELATIONSHIP_ADD",
|
||||||
FRIEND_REMOVE : "RELATIONSHIP_REMOVE"
|
FRIEND_REMOVE : "RELATIONSHIP_REMOVE"
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ export default class User extends Equality{
|
|||||||
since : null,
|
since : null,
|
||||||
channel : null
|
channel : null
|
||||||
};
|
};
|
||||||
|
this.note = data.note || null;
|
||||||
this.voiceChannel = null;
|
this.voiceChannel = null;
|
||||||
this.voiceState = {};
|
this.voiceState = {};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user