From 92f21cc85922bee799c9d4b22f936ace04505791 Mon Sep 17 00:00:00 2001 From: j Date: Thu, 31 Aug 2023 17:12:34 +0100 Subject: [PATCH] notify telegram of new comments --- app/item/tasks.py | 13 +++++++++++++ app/item/views.py | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/app/item/tasks.py b/app/item/tasks.py index c2ff2a1..f51091a 100644 --- a/app/item/tasks.py +++ b/app/item/tasks.py @@ -52,6 +52,15 @@ def announce_items(): os.unlink(f.name) +@app.task(queue="default", ignore_results=True) +def notify_telegram(message): + if getattr(settings, "TELEGRAM_ANNOUNCE_CHANNEL"): + r = telegram_rpc.send( + message, + channel=settings.TELEGRAM_ANNOUNCE_CHANNEL + ) + + @app.task(queue="default", ignore_results=True) def notify_moderators(id, link): comment = models.Comment.objects.filter(id=id).first() @@ -69,6 +78,10 @@ def notify_moderators(id, link): rpc.send_reaction( account, comment.data["moderator_ts"], "🎉", group=group ) + msg = '%s commented on %s at %s' % ( + comment.name, comment.item.title, link, link + ) + notify_telegram.delay(msg) else: print("failed to notify", r) diff --git a/app/item/views.py b/app/item/views.py index c1a83d7..27be4b0 100644 --- a/app/item/views.py +++ b/app/item/views.py @@ -171,6 +171,11 @@ def publish_comment(request): send_reaction( account, comment.data["moderator_ts"], "🎉", group=group ) + link = request.build_absolute_uri(comment.item.get_absolute_url()) + msg = '%s commented on %s at %s' % ( + comment.name, comment.item.title, link, link + ) + tasks.notify_telegram.delay(msg) response['status'] = 'ok' else: response['error'] = 'permission denied'