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")
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 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.1.tar.gz
(54.1 kB
view hashes)
Built Distribution
pysynapse-0.0.1-py3-none-any.whl
(43.0 kB
view hashes)
Close
Hashes for pysynapse-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b86a504adc9b2b172a8551e2381f604ac01b02246b7aedd2652aea6523bc59c9 |
|
MD5 | eb6f210cb73b26630d8b25ed9c9c0148 |
|
BLAKE2b-256 | e0c339f5494d79389406b2a91ffc0b2556f178a45f66b3f55a506863028d0a30 |