mirror of
https://github.com/bsedin/matrix-webhook.git
synced 2026-04-09 03:15:40 +00:00
Add support for using predefined access token
This commit is contained in:
@@ -17,8 +17,12 @@ async def main(event):
|
||||
|
||||
matrix client login & start web server
|
||||
"""
|
||||
LOGGER.info(f"Log in {conf.MATRIX_ID=} on {conf.MATRIX_URL=}")
|
||||
await utils.CLIENT.login(conf.MATRIX_PW)
|
||||
if conf.MATRIX_PW:
|
||||
LOGGER.info(f"Log in {conf.MATRIX_ID=} on {conf.MATRIX_URL=}")
|
||||
await utils.CLIENT.login(conf.MATRIX_PW)
|
||||
else:
|
||||
LOGGER.info(f"Restoring log in {conf.MATRIX_ID=} on {conf.MATRIX_URL=}")
|
||||
utils.CLIENT.access_token = conf.MATRIX_TOKEN
|
||||
|
||||
server = web.Server(handler.matrix_webhook)
|
||||
runner = web.ServerRunner(server)
|
||||
|
||||
@@ -36,11 +36,21 @@ parser.add_argument(
|
||||
parser.add_argument(
|
||||
"-p",
|
||||
"--matrix-pw",
|
||||
help="matrix password. Required. Environment variable: `MATRIX_PW`",
|
||||
help="matrix password. Either this or token required. Environment variable: `MATRIX_PW`",
|
||||
**(
|
||||
{"default": os.environ["MATRIX_PW"]}
|
||||
if "MATRIX_PW" in os.environ
|
||||
else {"required": True}
|
||||
else {}
|
||||
),
|
||||
)
|
||||
parser.add_argument(
|
||||
"-t",
|
||||
"--matrix-token",
|
||||
help="matrix access token. Either this or password required. Environment variable: `MATRIX_TOKEN`",
|
||||
**(
|
||||
{"default": os.environ["MATRIX_TOKEN"]}
|
||||
if "MATRIX_TOKEN" in os.environ
|
||||
else {}
|
||||
),
|
||||
)
|
||||
parser.add_argument(
|
||||
@@ -59,9 +69,14 @@ parser.add_argument(
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
if not (args.matrix_pw or args.matrix_token):
|
||||
print("Error: Either MATRIX_PW or MATRIX_TOKEN needs to be provided")
|
||||
exit(1)
|
||||
|
||||
SERVER_ADDRESS = (args.host, args.port)
|
||||
MATRIX_URL = args.matrix_url
|
||||
MATRIX_ID = args.matrix_id
|
||||
MATRIX_PW = args.matrix_pw
|
||||
MATRIX_TOKEN = args.matrix_token
|
||||
API_KEY = args.api_key
|
||||
VERBOSE = args.verbose
|
||||
|
||||
@@ -44,7 +44,8 @@ async def join_room(room_id):
|
||||
if isinstance(resp, JoinError):
|
||||
if resp.status_code == "M_UNKNOWN_TOKEN":
|
||||
LOGGER.warning("Reconnecting")
|
||||
await CLIENT.login(conf.MATRIX_PW)
|
||||
if conf.MATRIX_PW:
|
||||
await CLIENT.login(conf.MATRIX_PW)
|
||||
else:
|
||||
return create_json_response(error_map(resp), resp.message)
|
||||
else:
|
||||
@@ -67,7 +68,8 @@ async def send_room_message(room_id, content):
|
||||
if isinstance(resp, RoomSendError):
|
||||
if resp.status_code == "M_UNKNOWN_TOKEN":
|
||||
LOGGER.warning("Reconnecting")
|
||||
await CLIENT.login(conf.MATRIX_PW)
|
||||
if conf.MATRIX_PW:
|
||||
await CLIENT.login(conf.MATRIX_PW)
|
||||
else:
|
||||
return create_json_response(error_map(resp), resp.message)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user