mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
Fixed start PM
This commit is contained in:
@@ -126,7 +126,9 @@ var InternalClient = (function () {
|
||||
if (user) {
|
||||
|
||||
// start the PM
|
||||
request.post("" + Endpoints.USER_CHANNELS(user.id)).set("authorization", self.token).end(function (err, res) {
|
||||
request.post("" + Endpoints.USER_CHANNELS(user.id)).set("authorization", self.token).send({
|
||||
recipient_id: user.id
|
||||
}).end(function (err, res) {
|
||||
if (err) {
|
||||
reject(new Error(err.response.text));
|
||||
} else {
|
||||
@@ -160,7 +162,7 @@ var InternalClient = (function () {
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
self.resolver.resolveChannel(where).then(next)["catch"](function (e) {
|
||||
return reject(new Error("Error resolving destination"));
|
||||
return reject(new Error("Error resolving destination - " + e));
|
||||
});
|
||||
|
||||
function next(destination) {
|
||||
@@ -336,39 +338,6 @@ var InternalClient = (function () {
|
||||
client.emit("warn", "message created but channel is not cached");
|
||||
}
|
||||
break;
|
||||
|
||||
case PacketType.MESSAGE_DELETE:
|
||||
// format https://discordapi.readthedocs.org/en/latest/reference/channels/messages.html#message-delete
|
||||
var channel = self.channels.get("id", data.channel_id);
|
||||
if (channel) {
|
||||
// potentially blank
|
||||
var msg = channel.messages.get("id", data.id);
|
||||
client.emit("messageDeleted", msg);
|
||||
if(msg){
|
||||
channel.messages.remove(msg);
|
||||
}
|
||||
} else {
|
||||
client.emit("warn", "message was deleted but channel is not cached");
|
||||
}
|
||||
break;
|
||||
case PacketType.MESSAGE_UPDATE:
|
||||
// format https://discordapi.readthedocs.org/en/latest/reference/channels/messages.html#message-format
|
||||
var channel = self.channels.get("id", data.channel_id);
|
||||
if (channel) {
|
||||
// potentially blank
|
||||
var msg = channel.messages.get("id", data.id);
|
||||
if(msg){
|
||||
// old message exists
|
||||
var nmsg = channel.messages.update(msg, new Message(data, channel, client));
|
||||
client.emit("messageUpdated", nmsg, msg);
|
||||
}else{
|
||||
var nmsg = channel.messages.add(new Message(data, channel, client));
|
||||
client.emit("messageUpdated", nmsg);
|
||||
}
|
||||
} else {
|
||||
client.emit("warn", "message was updated but channel is not cached");
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
@@ -12,10 +12,10 @@ var User = require("../../Structures/User.js"),
|
||||
Message = require("../../Structures/Message.js");
|
||||
|
||||
var Resolver = (function () {
|
||||
function Resolver(client) {
|
||||
function Resolver(internal) {
|
||||
_classCallCheck(this, Resolver);
|
||||
|
||||
this.client = client;
|
||||
this.internal = internal;
|
||||
}
|
||||
|
||||
Resolver.prototype.resolveMentions = function resolveMentions(resource) {
|
||||
@@ -58,7 +58,9 @@ var Resolver = (function () {
|
||||
accepts a Message, Channel, Server, String ID, User, PMChannel
|
||||
*/
|
||||
var found = null;
|
||||
if (resource instanceof Message) {
|
||||
if (resource instanceof User) {
|
||||
found = resource;
|
||||
} else if (resource instanceof Message) {
|
||||
found = resource.author;
|
||||
} else if (resource instanceof TextChannel) {
|
||||
var lmsg = resource.lastMessage;
|
||||
@@ -104,11 +106,11 @@ var Resolver = (function () {
|
||||
} else if (resource instanceof Server) {
|
||||
found = resource.channels.get("id", resource.id);
|
||||
} else if (resource instanceof String || typeof resource === "string") {
|
||||
found = self.client.internal.channels.get("id", resource);
|
||||
found = self.internal.channels.get("id", resource);
|
||||
} else if (resource instanceof User) {
|
||||
// see if a PM exists
|
||||
var chatFound = false;
|
||||
for (var _iterator2 = self.client.internal.private_channels, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
|
||||
for (var _iterator2 = self.internal.private_channels, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
|
||||
var _ref2;
|
||||
|
||||
if (_isArray2) {
|
||||
@@ -132,7 +134,7 @@ var Resolver = (function () {
|
||||
found = chatFound;
|
||||
} else {
|
||||
// PM does not exist :\
|
||||
self.client.internal.startPM(resource).then(function (pmchannel) {
|
||||
self.internal.startPM(resource).then(function (pmchannel) {
|
||||
return resolve(pmchannel);
|
||||
})["catch"](function (e) {
|
||||
return reject(e);
|
||||
|
||||
@@ -7,7 +7,9 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
||||
|
||||
var Channel = require("./Channel.js");
|
||||
var User = require("./User.js");
|
||||
var Equality = require("../Util/Equality.js");
|
||||
var Cache = require("../Util/Cache.js");
|
||||
|
||||
var PMChannel = (function (_Equality) {
|
||||
_inherits(PMChannel, _Equality);
|
||||
@@ -21,7 +23,8 @@ var PMChannel = (function (_Equality) {
|
||||
this.type = data.type || "text";
|
||||
this.id = data.id;
|
||||
this.lastMessageId = data.last_message_id;
|
||||
this.recipient = this.client.internal.users.add(data.recipient);
|
||||
this.messages = new Cache("id", 1000);
|
||||
this.recipient = this.client.internal.users.add(new User(data.recipient, this.client));
|
||||
}
|
||||
|
||||
/* warning! may return null */
|
||||
|
||||
17
lib/index.js
17
lib/index.js
@@ -10,24 +10,11 @@ a.on("debug", function (m) {
|
||||
});
|
||||
|
||||
a.on("message", function (m) {
|
||||
if (m.content === "$$$") a.reply(m, "hi man!").then(function (m) {
|
||||
a.updateMessage(m, "!!!").then(function (m) {
|
||||
a.updateMessage(m, "the old content was " + m.content);
|
||||
});
|
||||
if (m.content === "$$$") a.sendMessage(m.author, "hi!")["catch"](function (e) {
|
||||
return console.log(e);
|
||||
});
|
||||
});
|
||||
|
||||
a.on("messageUpdated", function(newm, oldm){
|
||||
if(oldm){
|
||||
a.sendMessage(oldm, `woah! ${newm.author} changed their message! how rude`)
|
||||
}
|
||||
})
|
||||
a.on("messageDeleted", function(oldm){
|
||||
if(oldm){
|
||||
a.sendMessage(oldm, `woah! ${oldm.author} deleted their message! how rude`)
|
||||
}
|
||||
})
|
||||
|
||||
a.login(process.env["discordEmail"], process.env["discordPass"])["catch"](function (e) {
|
||||
return console.log(e);
|
||||
});
|
||||
@@ -129,6 +129,9 @@ class InternalClient {
|
||||
request
|
||||
.post(`${Endpoints.USER_CHANNELS(user.id) }`)
|
||||
.set("authorization", self.token)
|
||||
.send({
|
||||
recipient_id: user.id
|
||||
})
|
||||
.end((err, res) => {
|
||||
if (err) {
|
||||
reject(new Error(err.response.text));
|
||||
@@ -169,7 +172,7 @@ class InternalClient {
|
||||
|
||||
self.resolver.resolveChannel(where)
|
||||
.then(next)
|
||||
.catch(e => reject(new Error("Error resolving destination")));
|
||||
.catch(e => reject(new Error("Error resolving destination - "+e)));
|
||||
|
||||
function next(destination) {
|
||||
//var destination;
|
||||
|
||||
@@ -10,8 +10,8 @@ var User = require("../../Structures/User.js"),
|
||||
Message = require("../../Structures/Message.js");
|
||||
|
||||
class Resolver {
|
||||
constructor(client) {
|
||||
this.client = client;
|
||||
constructor(internal) {
|
||||
this.internal = internal;
|
||||
}
|
||||
|
||||
resolveMentions(resource) {
|
||||
@@ -41,7 +41,9 @@ class Resolver {
|
||||
accepts a Message, Channel, Server, String ID, User, PMChannel
|
||||
*/
|
||||
var found = null;
|
||||
if (resource instanceof Message) {
|
||||
if( resource instanceof User ){
|
||||
found = resource;
|
||||
}else if (resource instanceof Message) {
|
||||
found = resource.author;
|
||||
} else if (resource instanceof TextChannel) {
|
||||
var lmsg = resource.lastMessage;
|
||||
@@ -87,11 +89,11 @@ class Resolver {
|
||||
} else if (resource instanceof Server) {
|
||||
found = resource.channels.get("id", resource.id);
|
||||
} else if (resource instanceof String || typeof resource === "string") {
|
||||
found = self.client.internal.channels.get("id", resource);
|
||||
found = self.internal.channels.get("id", resource);
|
||||
} else if (resource instanceof User) {
|
||||
// see if a PM exists
|
||||
var chatFound = false;
|
||||
for (var pmchat of self.client.internal.private_channels) {
|
||||
for (var pmchat of self.internal.private_channels) {
|
||||
if (pmchat.recipient.equals(resource)) {
|
||||
chatFound = pmchat;
|
||||
break;
|
||||
@@ -102,7 +104,7 @@ class Resolver {
|
||||
found = chatFound;
|
||||
} else {
|
||||
// PM does not exist :\
|
||||
self.client.internal.startPM(resource)
|
||||
self.internal.startPM(resource)
|
||||
.then(pmchannel => resolve(pmchannel))
|
||||
.catch(e => reject(e));
|
||||
return;
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
"use strict";
|
||||
|
||||
var Channel = require("./Channel.js");
|
||||
var User = require("./User.js");
|
||||
var Equality = require("../Util/Equality.js");
|
||||
var Cache = require("../Util/Cache.js");
|
||||
|
||||
class PMChannel extends Equality{
|
||||
constructor(data, client){
|
||||
@@ -11,7 +13,8 @@ class PMChannel extends Equality{
|
||||
this.type = data.type || "text";
|
||||
this.id = data.id;
|
||||
this.lastMessageId = data.last_message_id;
|
||||
this.recipient = this.client.internal.users.add(data.recipient);
|
||||
this.messages = new Cache("id", 1000);
|
||||
this.recipient = this.client.internal.users.add(new User(data.recipient, this.client));
|
||||
}
|
||||
|
||||
/* warning! may return null */
|
||||
|
||||
@@ -7,12 +7,7 @@ a.on("debug", (m) => console.log("[debug]",m));
|
||||
|
||||
a.on("message", m => {
|
||||
if(m.content === "$$$")
|
||||
a.reply(m, "hi man!")
|
||||
.then( m => {
|
||||
a.updateMessage(m, "!!!").then( m => {
|
||||
a.updateMessage(m, "the old content was " + m.content);
|
||||
});
|
||||
});
|
||||
a.sendMessage(m.author, "hi!").catch(e => console.log(e));
|
||||
});
|
||||
|
||||
a.login(process.env["discordEmail"], process.env["discordPass"]).catch((e)=>console.log(e));
|
||||
Reference in New Issue
Block a user