2 Commits
2.0.0 ... 2.0.2

Author SHA1 Message Date
1082dd7a71 Fix bug
All checks were successful
continuous-integration/drone/tag Build is passing
2023-04-26 19:58:59 +02:00
96d457ab11 Add small UX improvements
All checks were successful
continuous-integration/drone/tag Build is passing
2023-04-26 19:53:45 +02:00
3 changed files with 22 additions and 9 deletions

View File

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

View File

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

View File

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