Skip to content

Instantly share code, notes, and snippets.

@jomat
Created June 8, 2021 18:50
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jomat/bacaa2a62523ca303a039bcd2e4a33c0 to your computer and use it in GitHub Desktop.
Save jomat/bacaa2a62523ca303a039bcd2e4a33c0 to your computer and use it in GitHub Desktop.
opme.py
#!/usr/bin/env python3
import requests
from requests.compat import urljoin
AS_TOKEN = "redacted"
HS_BASE = "https://darkfasel.net"
ROOMS = [
"!someroomid:darkfasel.net"
]
NEW_ADMIN = "@jomat:asra.gr"
NEW_POWER = 100
session = requests.session()
payload = {'access_token': AS_TOKEN}
for room_id in ROOMS:
endpoint = '/_matrix/client/r0/rooms/{room_id}/state/m.room.power_levels'.format(room_id=room_id)
# get current room power levels
state = requests.get(urljoin(HS_BASE, endpoint), params=payload).json()
print(state)
# set new room power
state['users'].update({NEW_ADMIN: NEW_POWER})
print(state)
# update hs
response = requests.put(urljoin(HS_BASE, endpoint), params=payload, json=state)
print(response)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment