aboutsummaryrefslogtreecommitdiffstats
path: root/sticker/lib/matrix.py
diff options
context:
space:
mode:
Diffstat (limited to 'sticker/lib/matrix.py')
-rw-r--r--sticker/lib/matrix.py17
1 files changed, 16 insertions, 1 deletions
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}")
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage