Added resolver

This commit is contained in:
hydrabolt
2015-10-31 22:24:05 +00:00
parent 5ccaca915b
commit cc3f9d931a
4 changed files with 123 additions and 6 deletions

View File

@@ -10,6 +10,7 @@ var Constants = require("../Constants.js"),
PacketType = Constants.PacketType;
var Cache = require("../Util/Cache.js");
var Resolver = require("./Resolver/Resolver.js");
var User = require("../Structures/User.js"),
Channel = require("../Structures/Channel.js"),
@@ -36,6 +37,7 @@ class InternalClient {
this.channels = new Cache();
this.servers = new Cache();
this.private_channels = new Cache();
this.resolver = new Resolver(this);
}
// def login
login(email, password) {
@@ -83,6 +85,7 @@ class InternalClient {
});
}
// def logout
logout() {
var self = this;
return new Promise((resolve, reject)=>{
@@ -113,6 +116,33 @@ class InternalClient {
});
}
// def startPM
startPM(resUser){
var self = this;
return new Promise((resolve, reject) => {
var user = self.resolver.resolveUser(resUser);
if(user){
// start the PM
request
.post(`${Endpoints.USER_CHANNELS(user.id)}`)
.set("authorization", self.token)
.end((err, res) => {
if(err){
reject(new Error(err.response.text));
}else{
resolve(self.private_channels.add(new PMChannel(res.body, self.client)));
}
});
}else{
reject(new Error("Unable to resolve resUser to a User"));
}
});
}
// def getGateway
getGateway() {
@@ -212,13 +242,10 @@ class InternalClient {
// format: https://discordapi.readthedocs.org/en/latest/reference/channels/messages.html#message-format
var channel = self.channels.get("id", data.channel_id);
if(channel){
channel.messages.add( new Message(data, channel, client) );
channel.messages.add( new Message(data, channel, client) );
}else{
client.emit("warn", "message created but channel is not cached");
}
break;
}