OnionIngestor/onioningestor/databases/telegram.py

34 lines
1.1 KiB
Python
Raw Normal View History

2020-07-19 21:56:54 +00:00
import sys
import requests
from onioningestor.databases import PastieStorage
class Plugin(PastieStorage):
def __init__(self, logger, **kwargs):
# kwargs = {'name': 'telegram-notifer', 'chat_id': 111111, 'token': 'XXXX'}
self.name = kwargs.get('name')
self.logger = logger
self.token = kwargs.get('token')
self.chat_id = kwargs.get('chat_id')
def __save_pastie__(self, pastie):
message = '''
HiddenSite: {site}
Source : {url}
Monitor : {content}
Status : {status}
'''.format(
site=pastie.url,
url=pastie.source,
content=pastie.monitor,
status=pastie.status)
url = 'https://api.telegram.org/bot{0}/sendMessage'.format(self.token)
try:
self.logger.debug('Sending message to telegram {} for pastie_id {}'.format(url, pastie))
requests.post(url, data={'chat_id': self.chat_id, 'text':message})
except Exception as e:
self.logger.warning("Failed to alert through telegram: {0}".format(e))