From 00d0c1f1994597aac9c4cf0d7920efc4ce1358d0 Mon Sep 17 00:00:00 2001 From: Flummi Date: Mon, 3 Aug 2020 03:23:42 +0200 Subject: [PATCH] lul --- package.json | 6 +++--- src/inc/trigger/eso.mjs | 28 ++++++++++++++++++++++++++++ src/inc/trigger/sysinfo.mjs | 6 +++--- src/inc/trigger/viecher.mjs | 28 ++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 src/inc/trigger/eso.mjs create mode 100644 src/inc/trigger/viecher.mjs diff --git a/package.json b/package.json index c84f91a..0a4ee94 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,8 @@ "author": "Flummi & jkhsjdhjs", "license": "WTFPL", "dependencies": { - "cuffeo": "^1.0.6", - "flumm-fetch-cookies": "^1.3.5", - "pg": "^7.14.0" + "cuffeo": "^1.0.6-1", + "flumm-fetch-cookies": "^1.4.0", + "pg": "^8.3.0" } } diff --git a/src/inc/trigger/eso.mjs b/src/inc/trigger/eso.mjs new file mode 100644 index 0000000..e7dcc0a --- /dev/null +++ b/src/inc/trigger/eso.mjs @@ -0,0 +1,28 @@ +import fetch from "flumm-fetch-cookies"; + +const link = "https://esoserverstatus.net/"; +const regex = { + main: /
(.*?)<\/div>/sg, + info: /\[(?.*)\] (?.*)<\/b>.*(?.*)<\/b>/s +}; + +export default async bot => { + + return [{ + name: "eso", + call: /^(\.|\/)eso/i, + f: async e => { + switch(e.args[0]) { + default: + const res = await (await fetch(link)).text(); + const matches = res.match(regex.main); + const info = matches.map(match => { + const tmp = match.match(regex.info).groups; + return `[${tmp.platform}] ${tmp.server} ${tmp.status}`; + }); + e.reply(info); + break; + } + } + }]; +}; diff --git a/src/inc/trigger/sysinfo.mjs b/src/inc/trigger/sysinfo.mjs index aa426a7..0983008 100644 --- a/src/inc/trigger/sysinfo.mjs +++ b/src/inc/trigger/sysinfo.mjs @@ -1,4 +1,4 @@ -import cp from "child_process"; +import { exec } from "child_process"; export default async bot => { @@ -6,8 +6,8 @@ export default async bot => { name: "sysinfo", call: /^(\.|\/)sysinfo/i, set: "uwe", - f: e => { - cp.exec("inxi", (err, stdout, stderr) => { + f: async e => { + exec(`inxi ${e.type !== "irc" ? "-c" : ""}`, (err, stdout, stderr) => { e.reply(stdout); }); } diff --git a/src/inc/trigger/viecher.mjs b/src/inc/trigger/viecher.mjs new file mode 100644 index 0000000..ece930e --- /dev/null +++ b/src/inc/trigger/viecher.mjs @@ -0,0 +1,28 @@ +import fetch from "flumm-fetch-cookies"; + +export default async bot => { + return [{ + name: "randomcat", + call: /^(\.|\/)ka(tz|ds)(.*)$/i, + f: async e => { + const katz = await (await fetch("https://api.thecatapi.com/v1/images/search?size=full")).json(); + return e.reply(katz[0]['url']); + } + }, { + name: "randomdoggo", + call: /^(\.|\/)dog(go)?(.*)$/i, + f: async e => { + const doggo = await (await fetch("https://api.thedogapi.com/v1/images/search?size=full")).json(); + return e.reply(doggo[0]['url']); + } + }, { + name: "randommeme", + call: /^(\.|\/)meme(.*)$/i, + f: async e => { + const meme = await (await fetch("https://meme-api.herokuapp.com/gimme")).json(); + if(meme.nsfw) + return e.reply("ups, dieses Meme wäre nsfw gewesen."); + return e.reply(meme.url); + } + }] +}; \ No newline at end of file