Compare commits

..

No commits in common. "791b601dec4fe7b344ade3b6d18f80edd9318f27" and "a2a352efe05c6c5bffde415df12260faa3eb9e2e" have entirely different histories.

3 changed files with 11 additions and 24 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "rss-telegram-bot", "name": "rss-telegram-bot",
"version": "2.0.3", "version": "2.0.0",
"main": "lib/index.js", "main": "lib/index.js",
"author": "Fabian Stamm <dev@fabianstamm.de>", "author": "Fabian Stamm <dev@fabianstamm.de>",
"license": "MIT", "license": "MIT",

View File

@ -98,12 +98,11 @@ async function checkFeed(feed: Feed) {
// feed.addItems(newItems); // feed.addItems(newItems);
} }
const FEED_CHECK_INTERVAL = 1000 * 60 * 15; // const FEED_CHECK_INTERVAL = 1000 * 60 * 60;
// const FEED_CHECK_INTERVAL = 1000 * 30; const FEED_CHECK_INTERVAL = 1000 * 30;
export default async function checkFeeds() { export default async function checkFeeds() {
while (true) { while (true) {
Logging.info("Checking for feeds to synchronize");
let feed = await AppDataSource.manager.findOne(Feed, { let feed = await AppDataSource.manager.findOne(Feed, {
where: { where: {
lastCheck: LessThan(new Date(Date.now() - FEED_CHECK_INTERVAL)) lastCheck: LessThan(new Date(Date.now() - FEED_CHECK_INTERVAL))
@ -114,14 +113,14 @@ export default async function checkFeeds() {
}) })
if (!feed) { if (!feed) {
await new Promise(y => setTimeout(y, 10000)); await new Promise(y => setTimeout(y, 1000));
continue; continue;
} }
feed.lastCheck = new Date(); feed.lastCheck = new Date();
await AppDataSource.manager.save(feed); await AppDataSource.manager.save(feed);
Promise.resolve().then(async () => { Promise.resolve(async () => {
await checkFeed(feed); await checkFeed(feed);
}).catch(err => { }).catch(err => {
Logging.warn("Error while checking feed: %s", feed.url); Logging.warn("Error while checking feed: %s", feed.url);

View File

@ -64,35 +64,23 @@ bot.command("delete", botHandler(async ctx => {
bot.on("callback_query", botHandler(async ctx => { bot.on("callback_query", botHandler(async ctx => {
Logging.info("Callback Query received"); Logging.info("Callback Query received");
const remove_options = (message: string) => { const remove_options = () => {
ctx.editMessageReplyMarkup({ ctx.editMessageReplyMarkup({
inline_keyboard: [], inline_keyboard: []
}) })
ctx.editMessageText(message)
} }
let data = (ctx.callbackQuery as any).data; let data = (ctx.callbackQuery as any).data;
if (!data) { if (!data) {
ctx.answerCbQuery("Invalid data"); ctx.answerCbQuery("Invalid data");
remove_options("Delete failed. Invalid data received."); remove_options();
return return
} }
let [action, id] = data.split(":"); let [action, id] = data.split(":");
if (!action || !id) { if (!action || !id) {
ctx.answerCbQuery("Invalid data"); ctx.answerCbQuery("Invalid data");
remove_options("Delete failed. Invalid data received."); remove_options();
return
}
let feed = await AppDataSource.manager.findOne(Feed, {
where: {
id: Number(id)
}
});
if (!feed) {
ctx.answerCbQuery("Invalid action");
remove_options("Delete failed. Feed not available.");
return return
} }
@ -112,12 +100,12 @@ bot.on("callback_query", botHandler(async ctx => {
} }
} else { } else {
ctx.answerCbQuery("Invalid action"); ctx.answerCbQuery("Invalid action");
remove_options("Delete failed. Invalid data received."); remove_options();
return return
} }
ctx.answerCbQuery("Success"); ctx.answerCbQuery("Success");
remove_options("Deleted feed: " + feed.url); remove_options();
})); }));
bot.on(message("text", "entities"), botHandler(async ctx => { bot.on(message("text", "entities"), botHandler(async ctx => {