Compare commits
5 commits
f50788420a
...
a430d0d1ed
Author | SHA1 | Date | |
---|---|---|---|
a430d0d1ed | |||
bb597279b5 | |||
0f3e029430 | |||
f77466831b | |||
a3cf7aabee |
3 changed files with 21 additions and 6 deletions
|
@ -2,7 +2,7 @@ const mappings = {};
|
|||
|
||||
async function cacheList() {
|
||||
const data = await fetch(
|
||||
"https://unicode.org/Public/UNIDATA/UnicodeData.txt"
|
||||
"https://www.unicode.org/Public/UNIDATA/UnicodeData.txt"
|
||||
).then((res) => res.text());
|
||||
|
||||
data
|
||||
|
|
|
@ -40,6 +40,8 @@ async function updateNowPlaying() {
|
|||
lines = lines.slice(4, lines.length - 2);
|
||||
const line = lines[0];
|
||||
|
||||
if (!line) return;
|
||||
|
||||
const [_, _time, id, name] = line.match(/^(.{3,4} .{4})\s+(.+?) {2}(.+?)$/);
|
||||
|
||||
const liveNow = {name: "ident", id: "aNONradio"};
|
||||
|
@ -55,6 +57,8 @@ async function updateNowPlaying() {
|
|||
if (playing.includes("listeners with a daily peak of")) {
|
||||
title = `${liveNow.name} (\`${liveNow.id}\`)`;
|
||||
subtitle = playing;
|
||||
} else if (playing.startsWith("Coming up")) {
|
||||
title = playing;
|
||||
} else {
|
||||
const [_, current, peakDay, peakMonth, dj, metadata] = playing.match(
|
||||
/\[(\d+)\/(\d+)\/(\d+)\] \((.+?)\): (.+)/
|
||||
|
@ -95,10 +99,21 @@ async function updateNowPlaying() {
|
|||
|
||||
const content = `${title}\n${subtitle}\n${openmicTime}`.trim();
|
||||
const thread = hf.bot.guilds.get(GUILD_ID).threads.get(THREAD_ID);
|
||||
const msg = await thread.getMessage(MESSAGE_ID);
|
||||
if (msg.content !== content) {
|
||||
thread.editMessage(MESSAGE_ID, {content});
|
||||
if (thread) {
|
||||
const msg = await thread.getMessage(MESSAGE_ID);
|
||||
if (msg.content !== content) {
|
||||
await thread.editMessage(MESSAGE_ID, {content});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
hf.timer.add("anonradio", updateNowPlaying, 2000);
|
||||
hf.timer.add(
|
||||
"anonradio",
|
||||
async () => {
|
||||
await new Promise((resolve, reject) => {
|
||||
setTimeout(() => reject("timeout"), 1900);
|
||||
updateNowPlaying().then(() => resolve(true));
|
||||
}).catch(() => {});
|
||||
},
|
||||
2000
|
||||
);
|
||||
|
|
|
@ -289,7 +289,7 @@ async function processUrl(msg, url) {
|
|||
cw = cw ?? "";
|
||||
|
||||
// TODO: convert certain HTML tags back to markdown
|
||||
content = content.replace(/<br>/g, "\n");
|
||||
content = content.replace(/<\/?\s*br\s*\/?>/g, "\n");
|
||||
content = content.replace(/<\/p><p>/g, "\n\n");
|
||||
content = content.replace(/(<([^>]+)>)/gi, "");
|
||||
content = parseHtmlEntities(content);
|
||||
|
|
Loading…
Reference in a new issue