replace fetch with flummi-fetch-cookies
This commit is contained in:
parent
a176408990
commit
5a33c21887
|
@ -5,7 +5,7 @@ import EventEmitter from "events";
|
||||||
|
|
||||||
const clients = [];
|
const clients = [];
|
||||||
|
|
||||||
const cuffeo = class cuffeo extends EventEmitter {
|
export default class cuffeo extends EventEmitter {
|
||||||
constructor(cfg) {
|
constructor(cfg) {
|
||||||
super();
|
super();
|
||||||
for (let srv in cfg) {
|
for (let srv in cfg) {
|
||||||
|
@ -36,5 +36,3 @@ const cuffeo = class cuffeo extends EventEmitter {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export { cuffeo, clients };
|
|
||||||
|
|
|
@ -12,5 +12,6 @@
|
||||||
"author": "Flummi",
|
"author": "Flummi",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"flumm-fetch-cookies": "git+https://gitfap.de/keinBot/flumm-fetch-cookies"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
77
src/clients/discord.mjs
Normal file
77
src/clients/discord.mjs
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
import Discord from "discord.js";
|
||||||
|
import EventEmitter from "events";
|
||||||
|
|
||||||
|
export class discord extends EventEmitter {
|
||||||
|
constructor(options) {
|
||||||
|
super();
|
||||||
|
this.options = options || {};
|
||||||
|
this.token = options.token || null;
|
||||||
|
this.set = this.options.set || "all";
|
||||||
|
this.network = "discord";
|
||||||
|
|
||||||
|
this.bot = new Discord.Client();
|
||||||
|
this.bot.login(this.token);
|
||||||
|
|
||||||
|
this.server = {
|
||||||
|
set: this.set,
|
||||||
|
channel: new Map(),
|
||||||
|
user: new Map(),
|
||||||
|
me: {}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.bot.on("ready", () => {
|
||||||
|
this.server.me = {
|
||||||
|
nickname: this.bot.user.username,
|
||||||
|
username: this.bot.user.username,
|
||||||
|
account: this.bot.user.id.toString(),
|
||||||
|
prefix: `${this.bot.user.username}!${this.bot.user.id.toString()}`,
|
||||||
|
id: this.bot.user.id.toString()
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
this.bot.on("message", msg => {
|
||||||
|
if(msg.author.id !== this.server.me.id)
|
||||||
|
this.emit("data", ["message", this.reply(msg)]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
reply(tmp) {
|
||||||
|
return {
|
||||||
|
type: "discord",
|
||||||
|
network: "Discord",
|
||||||
|
channel: tmp.channel.name,
|
||||||
|
channelid: tmp.channel.id,
|
||||||
|
user: {
|
||||||
|
prefix: `${tmp.author.username}!${tmp.author.id}`,
|
||||||
|
nick: tmp.author.username,
|
||||||
|
username: tmp.author.username,
|
||||||
|
account: tmp.author.id.toString()
|
||||||
|
},
|
||||||
|
message: tmp.content,
|
||||||
|
time: ~~(Date.now() / 1000),
|
||||||
|
self: this.server,
|
||||||
|
reply: msg => this.send(tmp, this.format(msg)),
|
||||||
|
replyAction: msg => this.send(tmp, this.format(`*${msg}*`), "normal"),
|
||||||
|
replyNotice: msg => this.send(tmp, this.format(msg))
|
||||||
|
};
|
||||||
|
}
|
||||||
|
send(r, msg, mode = "blah") {
|
||||||
|
switch(mode) {
|
||||||
|
case "normal":
|
||||||
|
r.channel.send(msg);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
r.reply(msg);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sendmsg(mode, recipient, msg) {
|
||||||
|
this.bot.channels.get(recipient).send(msg);
|
||||||
|
}
|
||||||
|
format(msg) {
|
||||||
|
return msg.toString()
|
||||||
|
.replace(/\[b\](.*?)\[\/b\]/g, "**$1**") // bold
|
||||||
|
.replace(/\[i\](.*?)\[\/i\]/g, "*$1*") // italic
|
||||||
|
.replace(/\[color=(.*?)](.*?)\[\/color\]/g, "$2")
|
||||||
|
;
|
||||||
|
}
|
||||||
|
};
|
|
@ -1,4 +1,4 @@
|
||||||
import fetch from "../inc/fetch";
|
import fetch from "flumm-fetch-cookies";
|
||||||
import EventEmitter from "events";
|
import EventEmitter from "events";
|
||||||
|
|
||||||
export class tg extends EventEmitter {
|
export class tg extends EventEmitter {
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
import http from "http";
|
|
||||||
import https from "https";
|
|
||||||
import url from "url";
|
|
||||||
import querystring from "querystring";
|
|
||||||
|
|
||||||
export default (a, options = {}, link = url.parse(a)) => new Promise((resolve, reject) => {
|
|
||||||
options = {...{
|
|
||||||
hostname: link.hostname,
|
|
||||||
path: link.path,
|
|
||||||
method: "GET"
|
|
||||||
}, ...options};
|
|
||||||
let body = "";
|
|
||||||
if(options.method === "POST") {
|
|
||||||
body = querystring.stringify(options.body);
|
|
||||||
delete options.body;
|
|
||||||
options.headers = {
|
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
|
||||||
"Content-Length": Buffer.byteLength(body)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const post = (link.protocol === "https:"?https:http).request(options, (res, data = "") => res
|
|
||||||
.setEncoding("utf8")
|
|
||||||
.on("data", chunk => data += chunk)
|
|
||||||
.on("end", () => resolve({
|
|
||||||
text: () => data,
|
|
||||||
json: () => { try { return JSON.parse(data); } catch(err) { return "no json D:"; } },
|
|
||||||
buffer: () => new Buffer.from(data)
|
|
||||||
}))
|
|
||||||
).on("error", err => reject(err));
|
|
||||||
post.end(body);
|
|
||||||
});
|
|
Loading…
Reference in New Issue
Block a user