From 47f17fde452b5e9f0c9e96ce0e2c878dd0574b7f Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 18 May 2024 16:08:35 +0300 Subject: Add support for sending gifs via Giphy Fixes #22 Closes #75 Co-authored-by: Nischay --- sticker/lib/matrix.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'sticker') diff --git a/sticker/lib/matrix.py b/sticker/lib/matrix.py index e506e83..d048603 100644 --- a/sticker/lib/matrix.py +++ b/sticker/lib/matrix.py @@ -55,10 +55,23 @@ async def load_config(path: str) -> None: config = json.load(config_file) homeserver_url = config["homeserver"] access_token = config["access_token"] + try: + giphy_api_key = config["giphy_api_key"] + giphy_mxc_prefix = config["giphy_mxc_prefix"] + except KeyError: + # these two are not mandatory, assume GIF search is disabled + print("Giphy related parameters not found in the config file.") except FileNotFoundError: print("Matrix config file not found. Please enter your homeserver and access token.") homeserver_url = input("Homeserver URL: ") access_token = input("Access token: ") + print("If you want to enable GIF search, enter your giphy API key. Otherwise, leave it empty.") + giphy_api_key = input("Giphy API key: ").strip() + giphy_mxc_prefix = "mxc://giphy.mau.dev/" + if giphy_api_key: + print("If you want to self-host the matrix->giphy proxy, enter the mxc URI prefix here") + print("Defaults to mxc://giphy.mau.dev/ if left empty.") + giphy_mxc_prefix = input("Giphy MXC prefix: ").strip() or giphy_mxc_prefix whoami_url = URL(homeserver_url) / "_matrix" / "client" / "r0" / "account" / "whoami" if whoami_url.scheme not in ("https", "http"): whoami_url = whoami_url.with_scheme("https") @@ -67,7 +80,9 @@ async def load_config(path: str) -> None: json.dump({ "homeserver": homeserver_url, "user_id": user_id, - "access_token": access_token + "access_token": access_token, + "giphy_api_key": giphy_api_key, + "giphy_mxc_prefix": giphy_mxc_prefix, }, config_file) print(f"Wrote config to {path}") -- cgit v1.2.3