NEW: relay AWS RSS events to telegram via telegram bot
This commit is contained in:
parent
55efd4b3aa
commit
a7cb56a514
|
@ -0,0 +1,53 @@
|
|||
#!/usr/bin/python3
|
||||
import feedparser
|
||||
import sqlite3
|
||||
import smtplib
|
||||
import json
|
||||
import requests
|
||||
|
||||
feeds = ['https://status.aws.amazon.com/rss/ec2-ap-east-1.rss',
|
||||
'https://status.aws.amazon.com/rss/rds-ap-east-1.rss',
|
||||
'https://status.aws.amazon.com/rss/vpnvpc-ap-east-1.rss',
|
||||
'https://status.aws.amazon.com/rss/directconnect-ap-east-1.rss',
|
||||
'https://status.aws.amazon.com/rss/directconnect-ap-southeast-1.rss']
|
||||
|
||||
|
||||
dbconn = sqlite3.connect('aws-rss.db')
|
||||
|
||||
for f in feeds:
|
||||
NewsFeed = feedparser.parse(f)
|
||||
for e in NewsFeed.entries:
|
||||
try:
|
||||
dbconn.execute("insert into rss values (?,?,?,?,false)", (e.id, e.published, e.title, e.summary))
|
||||
except sqlite3.IntegrityError:
|
||||
pass
|
||||
dbconn.commit()
|
||||
|
||||
results = dbconn.execute('select * from rss where notified = false')
|
||||
msg = " "
|
||||
records = results.fetchall()
|
||||
if len(records) == 0:
|
||||
print("All events already notified")
|
||||
quit()
|
||||
|
||||
url = 'https://api.telegram.org/botXXX/sendMessage'
|
||||
for r in records:
|
||||
lineBreak = "\n"
|
||||
content = lineBreak.join((
|
||||
r[0].split('#')[1].split('-')[0].upper() + " // <b>" + r[2] + "</b>",
|
||||
"PublishTime: " + r[1],
|
||||
"<pre>",
|
||||
r[3],
|
||||
"</pre>"))
|
||||
|
||||
tgMessage = {
|
||||
"chat_id": 1111111,
|
||||
"parse_mode": "HTML",
|
||||
"text": content
|
||||
}
|
||||
requests.post(url, json=tgMessage)
|
||||
|
||||
dbconn.execute('update rss set notified = true where notified = false')
|
||||
dbconn.commit()
|
||||
dbconn.close()
|
||||
|
Loading…
Reference in New Issue