Created
November 3, 2021 02:52
-
-
Save anonfloppa/5c7a2eb643cc046e65b18d782534ce0e to your computer and use it in GitHub Desktop.
a python script to select users who has the most devices
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import requests | |
import pprint | |
token = 'PUT YOUR TOKEN HERE' | |
room = '!ROOM_ID:SERVER.DOM' | |
server_api = 'PUT YOUR SERVER HERE' # example: matrix.anontier.nl | |
query_members = f'https://{server_api}/_synapse/admin/v1/rooms/{room}/members?dir=b&from=0&limit=99999&order_by=id&access_token={token}' | |
query_devices = f'https://{server_api}/_matrix/client/r0/keys/query?access_token={token}' | |
data = {'device_keys': {},} | |
all_members = requests.get(query_members).json() | |
for member in all_members['members']: | |
data['device_keys'][member] = [] | |
counter = [] | |
all_devices = requests.post(query_devices, json=data).json() | |
for user, devices in all_devices['device_keys'].items(): | |
counter.append((len(devices), user)) | |
pprint.pprint(sorted(counter, reverse=True)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment