mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 08:33:30 +01:00
sendFile and fix deleteMessage
This commit is contained in:
@@ -138,7 +138,7 @@ class Client extends EventEmitter {
|
||||
callback = options;
|
||||
}
|
||||
|
||||
self.internal.deleteMessage(msg)
|
||||
self.internal.deleteMessage(msg, options)
|
||||
.then(() => {
|
||||
callback();
|
||||
resolve();
|
||||
@@ -194,6 +194,23 @@ class Client extends EventEmitter {
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// def sendFile
|
||||
sendFile(where, attachment, name="image.png", callback=function(err, m){}){
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
self.internal.sendFile(where, attachment, name)
|
||||
.then( m => {
|
||||
callback(null, m);
|
||||
resolve(m);
|
||||
})
|
||||
.catch( e => {
|
||||
callback(e);
|
||||
reject(e);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Client;
|
||||
@@ -280,7 +280,37 @@ class InternalClient {
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
sendFile(where, _file, name="image.png"){
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
self.resolver.resolveChannel(where)
|
||||
.then(next)
|
||||
.catch(e => reject(new Error("couldn't resolve to channel - " + e)));
|
||||
|
||||
function next(channel) {
|
||||
|
||||
var file = self.resolver.resolveFile(_file);
|
||||
|
||||
request
|
||||
.post(Endpoints.CHANNEL_MESSAGES(channel.id))
|
||||
.set("authorization", self.token)
|
||||
.attach("file", file, name)
|
||||
.end((err, res) => {
|
||||
|
||||
if(err){
|
||||
reject(new Error(err.response.text));
|
||||
}else{
|
||||
resolve(channel.messages.add(new Message(res.body, channel, self.client)));
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// def getChannelLogs
|
||||
getChannelLogs(_channel, limit = 500, options = {}) {
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
"use strict";
|
||||
|
||||
var fs = require("fs");
|
||||
|
||||
var User = require("../../Structures/User.js"),
|
||||
Channel = require("../../Structures/Channel.js"),
|
||||
TextChannel = require("../../Structures/TextChannel.js"),
|
||||
@@ -14,6 +16,14 @@ class Resolver {
|
||||
this.internal = internal;
|
||||
}
|
||||
|
||||
resolveFile(resource) {
|
||||
if (typeof resource === "string" || resource instanceof String) {
|
||||
return fs.createReadStream(resource);
|
||||
} else {
|
||||
return resource;
|
||||
}
|
||||
}
|
||||
|
||||
resolveMentions(resource) {
|
||||
// resource is a string
|
||||
var _mentions = [];
|
||||
@@ -41,9 +51,9 @@ class Resolver {
|
||||
accepts a Message, Channel, Server, String ID, User, PMChannel
|
||||
*/
|
||||
var found = null;
|
||||
if( resource instanceof User ){
|
||||
found = resource;
|
||||
}else 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;
|
||||
@@ -60,17 +70,17 @@ class Resolver {
|
||||
|
||||
return found;
|
||||
}
|
||||
|
||||
|
||||
resolveMessage(resource) {
|
||||
// accepts a Message, PMChannel & TextChannel
|
||||
var found = null;
|
||||
|
||||
if( resource instanceof TextChannel || resource instanceof PMChannel ){
|
||||
|
||||
if (resource instanceof TextChannel || resource instanceof PMChannel) {
|
||||
found = resource.lastMessage;
|
||||
}else if( resource instanceof Message ){
|
||||
} else if (resource instanceof Message) {
|
||||
found = resource;
|
||||
}
|
||||
|
||||
|
||||
return found;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,12 +6,6 @@ var a = new module.exports.Client();
|
||||
a.on("debug", (m) => console.log("[debug]",m));
|
||||
|
||||
a.on("message", m => {
|
||||
if(m.content === "$$$")
|
||||
a.getChannelLogs(m).then( logs => {
|
||||
for(var item of logs){
|
||||
console.log(item.author.username + "> " + item.content);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
a.login(process.env["discordEmail"], process.env["discordPass"]).catch((e)=>console.log(e));
|
||||
Reference in New Issue
Block a user