Compare commits
6 Commits
2298243973
...
411c399ff3
| Author | SHA1 | Date | |
|---|---|---|---|
| 411c399ff3 | |||
| 5523beb460 | |||
| cfe6ee0a90 | |||
| 4148ebcc4e | |||
| 552318ec88 | |||
| 8af43009b6 |
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "denim_3001",
|
"name": "denim_3001",
|
||||||
"version": "3001.60.5",
|
"version": "3001.61.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "denim_3001",
|
"name": "denim_3001",
|
||||||
"version": "3001.60.5",
|
"version": "3001.61.0",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@discordjs/voice": "^0.17.0",
|
"@discordjs/voice": "^0.17.0",
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "denim_3001",
|
"name": "denim_3001",
|
||||||
"version": "3001.60.5",
|
"version": "3001.61.0",
|
||||||
"description": "Toto je velmi kvalitní bot.",
|
"description": "Toto je velmi kvalitní bot.",
|
||||||
"repository": {
|
"repository": {
|
||||||
"url": "https://github.com/Histmy/Denim-Bot/"
|
"url": "https://github.com/Histmy/Denim-Bot/"
|
||||||
|
|||||||
79
src/modules/magazin.ts
Normal file
79
src/modules/magazin.ts
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
import { TextChannel } from "discord.js";
|
||||||
|
import { CClient, Modul } from "../utils/types";
|
||||||
|
import { log } from "../utils/utils";
|
||||||
|
|
||||||
|
let client: CClient;
|
||||||
|
|
||||||
|
let najdiClanek = /href="(?<odkaz>.+?)">\n *<h2>(?<nazev>.+?)<\/h2>/;
|
||||||
|
|
||||||
|
let posledniNazev: string;
|
||||||
|
let posledniOdkaz: string;
|
||||||
|
|
||||||
|
async function zkontrolovatNovinky() {
|
||||||
|
const stranka = await fetch("https://histmy.eu/BUM/clanky")
|
||||||
|
.then(r => r.text())
|
||||||
|
.catch(e => log("chyba pri accessovani BUM stránky", e));
|
||||||
|
|
||||||
|
let nazevAOdkaz = najdiClanek.exec(stranka || "");
|
||||||
|
|
||||||
|
if (!nazevAOdkaz || !nazevAOdkaz.groups) return false;
|
||||||
|
|
||||||
|
const nazevClanku = nazevAOdkaz.groups.nazev;
|
||||||
|
const odkazClanku = "https://histmy.eu/BUM/" + nazevAOdkaz.groups.odkaz;
|
||||||
|
|
||||||
|
if (!nazevClanku) {
|
||||||
|
log(new Error("neni nazev clanku"));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Při spuštění bota
|
||||||
|
if (!posledniNazev) {
|
||||||
|
posledniNazev = nazevClanku;
|
||||||
|
posledniOdkaz = odkazClanku;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pokud vyšel nový článek
|
||||||
|
if (posledniNazev !== nazevClanku) {
|
||||||
|
posledniNazev = nazevClanku;
|
||||||
|
posledniOdkaz = odkazClanku;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function naplanovat() {
|
||||||
|
setTimeout(urobit, 5 * 1000 * 60);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function urobit() {
|
||||||
|
const guilda = client.guilds.cache.get("555779161067749446");
|
||||||
|
|
||||||
|
if (!guilda) return log(new Error("dobytcarna nenalezena"));
|
||||||
|
|
||||||
|
const novyClanek = await zkontrolovatNovinky();
|
||||||
|
|
||||||
|
if (!novyClanek) {
|
||||||
|
naplanovat();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const zprava = `Vyšel nový článek v kvalitním magazínu BUM: **${posledniNazev}**\nPřečtěte si ho zde: ${posledniOdkaz}`;
|
||||||
|
|
||||||
|
const general = guilda.channels.cache.get("555779161067749448") as TextChannel;
|
||||||
|
if (!general) return log(new Error("general nenalezen"));
|
||||||
|
general.send(`<@&1313491870231564318>\n${zprava}`);
|
||||||
|
|
||||||
|
naplanovat();
|
||||||
|
}
|
||||||
|
|
||||||
|
const exp: Modul = {
|
||||||
|
on_ready: () => {
|
||||||
|
client = module.exports.client;
|
||||||
|
|
||||||
|
urobit();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = exp;
|
||||||
Loading…
x
Reference in New Issue
Block a user