From 5a051ebdadb4e37c968f84133a1c3660f7f5d295 Mon Sep 17 00:00:00 2001 From: Austen Adler Date: Mon, 30 Oct 2017 11:09:19 -0400 Subject: [PATCH] Add option to disable printing image url in telegram --- README.md | 1 + config.json.example | 2 ++ telematrix/__init__.py | 19 +++++++++++++------ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a601ef8..9c40593 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ First, copy config.json.example to config.json. Then fill in the fields: * `hosts.bare`: Just the (sub)domain of the server. * `user_id_format`: A Python `str.format`-style string to format user IDs as * `db_url`: A SQLAlchemy URL for the database. See the [SQLAlchemy docs](http://docs.sqlalchemy.org/en/latest/core/engines.html). +* `print_url_with_image`: Set to `false` to disable sending the Matrix url of an image to Telegram. **Synapse configuration** diff --git a/config.json.example b/config.json.example index 67378e0..3ec8b8f 100644 --- a/config.json.example +++ b/config.json.example @@ -15,5 +15,7 @@ "user_id_format": "@telegram_{}:DOMAIN.TLD", "db_url": "sqlite:///database.db", + "print_url_with_image": true, + "as_port": 5000 } diff --git a/telematrix/__init__.py b/telematrix/__init__.py index 75ef826..45f1b8f 100644 --- a/telematrix/__init__.py +++ b/telematrix/__init__.py @@ -46,6 +46,8 @@ try: DATABASE_URL = CONFIG['db_url'] AS_PORT = CONFIG['as_port'] if 'as_port' in CONFIG else 5000 + + PRINT_URL_WITH_IMAGE = CONFIG['print_url_with_image'] if 'print_url_with_image' in CONFIG else True except (OSError, IOError) as exception: print('Error opening config file:') print(exception) @@ -250,13 +252,18 @@ async def matrix_transaction(request): # Download the file await download_matrix_file(url, content['body']) with open('/tmp/{}'.format(content['body']), 'rb') as img_file: - # Create the URL and shorten it - url_str = MATRIX_HOST_EXT + \ - '_matrix/media/r0/download/{}{}' \ - .format(url.netloc, quote(url.path)) - url_str = await shorten_url(url_str) + if PRINT_URL_WITH_IMAGE: + # Create the URL and shorten it + url_str = MATRIX_HOST_EXT + \ + '_matrix/media/r0/download/{}{}' \ + .format(url.netloc, quote(url.path)) + url_str = await shorten_url(url_str) + url_str = ' (' + url_str + ')' + else: + url_str = '' - caption = '{} sent an image'.format(displayname) + caption = '<{}> {}{}'.format(displayname, + content['body'], url_str) response = await group.send_photo(img_file, caption=caption) except: pass