Python Synapse (Matrix) server Admin API module.
Project description
PySynapse
Python Synapse (Matrix) server admin API module.
NOTE: This is my first time writing a Python module, its probably not perfect.
Requirements
- Python3 (written on 3.11)
- requests
- validators
Usage Examples
Create a connection from a config file
from configparser import ConfigParser
from os.path import abspath, dirname, join
try:
from pysynapse import Homeserver
except ImportError:
print("pysynapse not installed, install with:")
print("python3 -m pip install pysynapse")
exit(1)
config = ConfigParser()
config_file = join(dirname(abspath(__file__)), "config.ini")
if len(config.read(config_file)) != 1:
print("Failed to load config.ini")
exit(1)
homeserver = Homeserver(
config.get("homeserver", "access_token"),
config.get("homeserver", "host", fallback="localhost"),
config.getint("homeserver", "port", fallback=8008),
config.getboolean("homeserver", "secure", fallback=False),
config.getboolean("homeserver", "verify", fallback=None),
config.get("homeserver", "notices_user", fallback=None),
)
print(f"Connected to {homeserver.base_url} (Synapse {homeserver.server_version})")
Print summary of event reports
print(
"| ID | Reported | Claimant | Defendant | Room |"
)
print(
"|------|---------------------|--------------------------------|--------------------------------|--------------------------------|"
)
for event_report in homeserver.event_reports:
print(
"| {:4.4} | {:19.19} | {:30.30} | {:30.30} | {:30.30} |".format(
str(event_report.id),
str(event_report.received),
str(event_report.user),
str(event_report.sender),
str(event_report.room),
)
)
Purge forgotten rooms
for room in homeserver.rooms:
if room.forgotten:
print("Deleting forgotten room: {}".format(room))
room.delete(block_rejoining=False)
else:
print("Keeping room: {}".format(room))
for member in room.members:
print("- {}".format(member))
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pysynapse-0.0.2.tar.gz
(54.3 kB
view hashes)
Built Distribution
pysynapse-0.0.2-py3-none-any.whl
(43.2 kB
view hashes)
Close
Hashes for pysynapse-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e413d0c8be16fc75e5865937af34e1331204077c755ed67c046adaf9df1bb427 |
|
MD5 | 5dc3ff93c5b44cd9033287e32a73f932 |
|
BLAKE2b-256 | 42c6b33f0bf5cec5b9f278f9f22faf9d6a46083783a5e4124c0cdc4160351aa1 |