logging and more info and service
This commit is contained in:
parent
dcdcc15b53
commit
20685fe15c
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
_Export a Matrix a room._
|
_Export a Matrix a room._
|
||||||
|
|
||||||
This is a simple bot that can export a Matrix room and upload the compressed archive to a Cloudflare R2 bucket for the
|
A quick-n-dirty bot that exports a Matrix room and uploads the archive to a Cloudflare R2 bucket for the room to
|
||||||
room to download.
|
download.
|
||||||
|
|
||||||
### Install
|
### Install
|
||||||
|
|
||||||
|
@ -24,4 +24,7 @@ room to download.
|
||||||
1. Invite the new bot to the room you want to export.
|
1. Invite the new bot to the room you want to export.
|
||||||
2. Send the message `!export` to start the export process.
|
2. Send the message `!export` to start the export process.
|
||||||
|
|
||||||
The bot will upload the exported room to your R2 bucket and share the link with the room.
|
The bot will upload the exported room to your R2 bucket and share the link with the room.
|
||||||
|
|
||||||
|
Remember, if your room is encrypted and new members can't see old history prior to their joining then the bot won't be
|
||||||
|
able to export anything earlier than when it joined.
|
6
main.py
6
main.py
|
@ -27,7 +27,8 @@ async def main(args):
|
||||||
|
|
||||||
config = DEFAULT_CONFIG | yaml_config
|
config = DEFAULT_CONFIG | yaml_config
|
||||||
|
|
||||||
logger.setLevel(logging.DEBUG)
|
logger.setLevel(logging.DEBUG if args.debug else logging.INFO)
|
||||||
|
logger.debug('Debug logging enabled!')
|
||||||
|
|
||||||
matrix_helper = MatrixClientHelper(
|
matrix_helper = MatrixClientHelper(
|
||||||
user_id=config['auth']['username'],
|
user_id=config['auth']['username'],
|
||||||
|
@ -39,7 +40,7 @@ async def main(args):
|
||||||
|
|
||||||
login_success, login_response = await matrix_helper.login()
|
login_success, login_response = await matrix_helper.login()
|
||||||
if not login_success:
|
if not login_success:
|
||||||
print(login_response)
|
logger.critical(f'Failed to login: {login_response}')
|
||||||
quit(1)
|
quit(1)
|
||||||
logger.info(f'Logged in as {client.user_id}')
|
logger.info(f'Logged in as {client.user_id}')
|
||||||
|
|
||||||
|
@ -54,5 +55,6 @@ async def main(args):
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
parser = argparse.ArgumentParser(description='Export a Matrix room.')
|
parser = argparse.ArgumentParser(description='Export a Matrix room.')
|
||||||
parser.add_argument('--config', default=Path(SCRIPT_PATH) / 'config.yml')
|
parser.add_argument('--config', default=Path(SCRIPT_PATH) / 'config.yml')
|
||||||
|
parser.add_argument('--debug', '-d', action='store_true', help='Enable debug logging.')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
asyncio.run(main(args))
|
asyncio.run(main(args))
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Matrix Room Exporter Bot
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=matrix-bots
|
||||||
|
ExecStart=/srv/matrix-room-exporter/venv/bin/python /srv/matrix-room-exporter/main.py
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5s
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
Loading…
Reference in New Issue