Skip to content

Commit 7c15e37

Browse files
committed
URL: Do not send "OLD!" messages whenever the link is quite fresh
1 parent bcfb9c7 commit 7c15e37

File tree

2 files changed

+16
-9
lines changed

2 files changed

+16
-9
lines changed

url/__init__.py

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# -*- coding: utf-8 -*-
22
import re
3+
from datetime import timedelta, datetime
34

45
import sqlalchemy.exc
56
from pipobot.lib.known_users import KnownUser
@@ -50,16 +51,20 @@ def check_repost(self, sender, urls):
5051
if not any(i in url for i in self.repost_ignore):
5152
res = self.bot.session.query(RepostUrl).filter(RepostUrl.url == url).first()
5253
if res:
53-
send.append('OLD! ')
54-
first = KnownUser.get_antihl(res.jid, self.bot)
55-
first_date = 'le ' + res.date.strftime('%x') + ' à ' + res.date.strftime('%X')
56-
first_date = first_date.decode("utf-8")
57-
if res.count == 1:
58-
send.append(u'Ce lien a déjà été posté %s par %s sur %s…' % (first_date, first, res.chan))
59-
else:
60-
ret = u'Ce lien a déjà été posté %s fois depuis que %s l’a découvert, %s, sur %s…'
61-
send.append(ret % (res.count, first, first_date, res.chan))
54+
# Do not send a message if the link was shared less than 24 hours ago
55+
if (datetime.now() - res.last_date) > timedelta(hours=24):
56+
send.append('OLD! ')
57+
first = KnownUser.get_antihl(res.jid, self.bot)
58+
first_date = 'le ' + res.date.strftime('%x') + ' à ' + res.date.strftime('%X')
59+
first_date = first_date.decode("utf-8")
60+
if res.count == 1:
61+
send.append(u'Ce lien a déjà été posté %s par %s sur %s…' % (first_date, first, first.chan))
62+
else:
63+
ret = u'Ce lien a déjà été posté %s fois depuis que %s l’a découvert, %s, sur %s…'
64+
send.append(ret % (res.count, first, first_date, res.chan))
6265
res.count += 1
66+
# Update the time someone posted the link
67+
res.last_date = datetime.now()
6368
else:
6469
u = RepostUrl(url,
6570
self.bot.occupants.pseudo_to_jid(sender),

url/model.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ class RepostUrl(Base):
1010
url = Column(String(250), primary_key=True)
1111
count = Column(Integer)
1212
date = Column(DateTime)
13+
last_date = Column(DateTime)
1314
jid = Column(String(250))
1415
chan = Column(String(250))
1516

@@ -18,4 +19,5 @@ def __init__(self, url, jid, chan):
1819
self.jid = jid
1920
self.count = 1
2021
self.date = datetime.datetime.now()
22+
self.last_date = self.date
2123
self.chan = chan

0 commit comments

Comments
 (0)