setup husky
This commit is contained in:
parent
f9046a1a8b
commit
87b3063611
8 changed files with 43 additions and 16 deletions
|
@ -28,5 +28,6 @@ module.exports = {
|
||||||
globals: {
|
globals: {
|
||||||
hf: true,
|
hf: true,
|
||||||
BigInt: true, // lol eslint
|
BigInt: true, // lol eslint
|
||||||
|
fetch: true,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
1
.husky/.gitignore
vendored
Normal file
1
.husky/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
_
|
4
.husky/pre-commit
Executable file
4
.husky/pre-commit
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/sh
|
||||||
|
. "$(dirname "$0")/_/husky.sh"
|
||||||
|
|
||||||
|
node_modules/.bin/eslint . && node_modules/.bin/prettier --check **/*.js
|
|
@ -4,7 +4,8 @@
|
||||||
"description": "Discord bot",
|
"description": "Discord bot",
|
||||||
"main": "src/index.js",
|
"main": "src/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
|
"prepare": "husky install"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
@ -32,6 +33,7 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^7.26.0",
|
"eslint": "^7.26.0",
|
||||||
|
"husky": "^8.0.2",
|
||||||
"prettier": "^2.3.0"
|
"prettier": "^2.3.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ specifiers:
|
||||||
dumpy: github:Cynosphere/dumpy.js
|
dumpy: github:Cynosphere/dumpy.js
|
||||||
eslint: ^7.26.0
|
eslint: ^7.26.0
|
||||||
google-images: ^2.1.0
|
google-images: ^2.1.0
|
||||||
|
husky: ^8.0.2
|
||||||
jimp: ^0.16.1
|
jimp: ^0.16.1
|
||||||
murmurhash: ^2.0.0
|
murmurhash: ^2.0.0
|
||||||
node-ffprobe: ^3.0.0
|
node-ffprobe: ^3.0.0
|
||||||
|
@ -32,6 +33,7 @@ dependencies:
|
||||||
|
|
||||||
devDependencies:
|
devDependencies:
|
||||||
eslint: 7.26.0
|
eslint: 7.26.0
|
||||||
|
husky: 8.0.2
|
||||||
prettier: 2.3.0
|
prettier: 2.3.0
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
@ -1384,6 +1386,12 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/husky/8.0.2:
|
||||||
|
resolution: {integrity: sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==}
|
||||||
|
engines: {node: '>=14'}
|
||||||
|
hasBin: true
|
||||||
|
dev: true
|
||||||
|
|
||||||
/iconv-lite/0.4.24:
|
/iconv-lite/0.4.24:
|
||||||
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
|
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
@ -1743,11 +1751,6 @@ packages:
|
||||||
resolution: {integrity: sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==}
|
resolution: {integrity: sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/node-fetch/2.6.1:
|
|
||||||
resolution: {integrity: sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==}
|
|
||||||
engines: {node: 4.x || >=6.0.0}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/node-fetch/2.6.7:
|
/node-fetch/2.6.7:
|
||||||
resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
|
resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
|
||||||
engines: {node: 4.x || >=6.0.0}
|
engines: {node: 4.x || >=6.0.0}
|
||||||
|
@ -2723,5 +2726,7 @@ packages:
|
||||||
color: 3.2.1
|
color: 3.2.1
|
||||||
gifwrap: 0.9.2
|
gifwrap: 0.9.2
|
||||||
jimp: 0.16.1
|
jimp: 0.16.1
|
||||||
node-fetch: 2.6.1
|
node-fetch: 2.6.7
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- encoding
|
||||||
dev: false
|
dev: false
|
||||||
|
|
|
@ -59,7 +59,12 @@ bot.on("messageCreate", async (msg) => {
|
||||||
});
|
});
|
||||||
bot.on("messageUpdate", (msg, oldMsg) => {
|
bot.on("messageUpdate", (msg, oldMsg) => {
|
||||||
const oneDay = Date.now() - 86400000;
|
const oneDay = Date.now() - 86400000;
|
||||||
if (msg.timestamp > oneDay && !msg.hasRan && oldMsg && oldMsg.content !== msg.content) {
|
if (
|
||||||
|
msg.timestamp > oneDay &&
|
||||||
|
!msg.hasRan &&
|
||||||
|
oldMsg &&
|
||||||
|
oldMsg.content !== msg.content
|
||||||
|
) {
|
||||||
CommandDispatcher(msg);
|
CommandDispatcher(msg);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
const {formatTime} = require("../lib/utils.js");
|
||||||
|
|
||||||
const GUILD_ID = "300436792916836352";
|
const GUILD_ID = "300436792916836352";
|
||||||
const CHANNEL_ID = "353018352580689930";
|
|
||||||
const THREAD_ID = "1054106209273253888";
|
const THREAD_ID = "1054106209273253888";
|
||||||
const MESSAGE_ID = "1054109813132509245";
|
const MESSAGE_ID = "1054109813132509245";
|
||||||
|
|
||||||
|
@ -14,7 +15,9 @@ async function updateNowPlaying() {
|
||||||
playing = await fetch("http://anonradio.net/playing").then((res) =>
|
playing = await fetch("http://anonradio.net/playing").then((res) =>
|
||||||
res.text()
|
res.text()
|
||||||
);
|
);
|
||||||
} catch (err) {}
|
} catch (err) {
|
||||||
|
//
|
||||||
|
}
|
||||||
}
|
}
|
||||||
let schedule;
|
let schedule;
|
||||||
try {
|
try {
|
||||||
|
@ -26,7 +29,9 @@ async function updateNowPlaying() {
|
||||||
schedule = await fetch("http://anonradio.net/schedule/").then((res) =>
|
schedule = await fetch("http://anonradio.net/schedule/").then((res) =>
|
||||||
res.text()
|
res.text()
|
||||||
);
|
);
|
||||||
} catch (err) {}
|
} catch (err) {
|
||||||
|
//
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!playing || !schedule) return;
|
if (!playing || !schedule) return;
|
||||||
|
@ -35,9 +40,9 @@ async function updateNowPlaying() {
|
||||||
lines = lines.slice(4, lines.length - 2);
|
lines = lines.slice(4, lines.length - 2);
|
||||||
const line = lines[0];
|
const line = lines[0];
|
||||||
|
|
||||||
const [_, time, id, name] = line.match(/^(.{3,4} .{4})\s+(.+?) {2}(.+?)$/);
|
const [_, _time, id, name] = line.match(/^(.{3,4} .{4})\s+(.+?) {2}(.+?)$/);
|
||||||
|
|
||||||
let liveNow = {name: "ident", id: "aNONradio"};
|
const liveNow = {name: "ident", id: "aNONradio"};
|
||||||
|
|
||||||
if (name.includes("<- Live NOW")) {
|
if (name.includes("<- Live NOW")) {
|
||||||
liveNow.id = id;
|
liveNow.id = id;
|
||||||
|
@ -88,7 +93,7 @@ async function updateNowPlaying() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const content = (`${title}\n${subtitle}\n${openmicTime}`).trim();
|
const content = `${title}\n${subtitle}\n${openmicTime}`.trim();
|
||||||
const thread = hf.bot.guilds.get(GUILD_ID).threads.get(THREAD_ID);
|
const thread = hf.bot.guilds.get(GUILD_ID).threads.get(THREAD_ID);
|
||||||
const msg = await thread.getMessage(MESSAGE_ID);
|
const msg = await thread.getMessage(MESSAGE_ID);
|
||||||
if (msg.content !== content) {
|
if (msg.content !== content) {
|
||||||
|
|
|
@ -285,7 +285,9 @@ anonradio.callback = async function () {
|
||||||
playing = await fetch("http://anonradio.net/playing").then((res) =>
|
playing = await fetch("http://anonradio.net/playing").then((res) =>
|
||||||
res.text()
|
res.text()
|
||||||
);
|
);
|
||||||
} catch (err) {}
|
} catch (err) {
|
||||||
|
//
|
||||||
|
}
|
||||||
}
|
}
|
||||||
let schedule;
|
let schedule;
|
||||||
try {
|
try {
|
||||||
|
@ -297,7 +299,9 @@ anonradio.callback = async function () {
|
||||||
schedule = await fetch("http://anonradio.net/schedule/").then((res) =>
|
schedule = await fetch("http://anonradio.net/schedule/").then((res) =>
|
||||||
res.text()
|
res.text()
|
||||||
);
|
);
|
||||||
} catch (err) {}
|
} catch (err) {
|
||||||
|
//
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!playing || !schedule) return "Failed to fetch schedule.";
|
if (!playing || !schedule) return "Failed to fetch schedule.";
|
||||||
|
|
Loading…
Reference in a new issue