mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-08-19 04:49:36 -07:00
Telegram upload image in single message
This commit is contained in:
parent
88770b8805
commit
82446acdf0
1 changed files with 23 additions and 20 deletions
|
@ -3170,34 +3170,37 @@ class TELEGRAM(Notifier):
|
||||||
else:
|
else:
|
||||||
text = body.encode('utf-8')
|
text = body.encode('utf-8')
|
||||||
|
|
||||||
if self.config['incl_poster'] and kwargs.get('parameters'):
|
|
||||||
parameters = kwargs['parameters']
|
|
||||||
poster_url = parameters.get('poster_url','')
|
|
||||||
|
|
||||||
if poster_url:
|
|
||||||
poster_data = {'photo': poster_url,
|
|
||||||
'chat_id': self.config['chat_id'],
|
|
||||||
'disable_notification': True}
|
|
||||||
|
|
||||||
r = requests.post('https://api.telegram.org/bot{}/sendPhoto'.format(self.config['bot_token']), json=poster_data)
|
|
||||||
|
|
||||||
if r.status_code == 200:
|
|
||||||
logger.info(u"Tautulli Notifiers :: {name} poster sent.".format(name=self.NAME))
|
|
||||||
else:
|
|
||||||
logger.error(u"Tautulli Notifiers :: {name} poster failed: [{r.status_code}] {r.reason}".format(name=self.NAME, r=r))
|
|
||||||
logger.debug(u"Tautulli Notifiers :: Request response: {}".format(request.server_message(r, True)))
|
|
||||||
|
|
||||||
data['text'] = text
|
|
||||||
|
|
||||||
if self.config['html_support']:
|
if self.config['html_support']:
|
||||||
data['parse_mode'] = 'HTML'
|
data['parse_mode'] = 'HTML'
|
||||||
|
|
||||||
|
if self.config['incl_poster'] and kwargs.get('parameters'):
|
||||||
|
# Grab formatted metadata
|
||||||
|
pretty_metadata = PrettyMetadata(kwargs['parameters'])
|
||||||
|
|
||||||
|
# Retrieve the poster from Plex
|
||||||
|
result = pmsconnect.PmsConnect().get_image(img=pretty_metadata.parameters.get('poster_thumb', ''))
|
||||||
|
if result and result[0]:
|
||||||
|
poster_content = result[0]
|
||||||
|
else:
|
||||||
|
poster_content = ''
|
||||||
|
|
||||||
|
if poster_content:
|
||||||
|
title = pretty_metadata.get_title()
|
||||||
|
files = {'photo': (title, poster_content, 'image/jpeg')}
|
||||||
|
data['caption'] = text
|
||||||
|
|
||||||
|
return self.make_request('https://api.telegram.org/bot{}/sendPhoto'.format(self.config['bot_token']),
|
||||||
|
data=data, files=files)
|
||||||
|
|
||||||
|
data['text'] = text
|
||||||
|
|
||||||
if self.config['disable_web_preview']:
|
if self.config['disable_web_preview']:
|
||||||
data['disable_web_page_preview'] = True
|
data['disable_web_page_preview'] = True
|
||||||
|
|
||||||
headers = {'Content-type': 'application/x-www-form-urlencoded'}
|
headers = {'Content-type': 'application/x-www-form-urlencoded'}
|
||||||
|
|
||||||
return self.make_request('https://api.telegram.org/bot{}/sendMessage'.format(self.config['bot_token']), headers=headers, data=data)
|
return self.make_request('https://api.telegram.org/bot{}/sendMessage'.format(self.config['bot_token']),
|
||||||
|
headers=headers, data=data)
|
||||||
|
|
||||||
def return_config_options(self):
|
def return_config_options(self):
|
||||||
config_option = [{'label': 'Telegram Bot Token',
|
config_option = [{'label': 'Telegram Bot Token',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue