ansible-modules-matrix/README.md

63 lines
2.4 KiB
Markdown
Raw Normal View History

2020-02-14 00:45:30 +00:00
# Matrix Ansible Modules
This repo contains a few ansible modules for working with matrix rooms.
## Installation
To install these modules so that you can use them, put them into `~/.ansible/plugins/modules/` or for global installation, install them to `/usr/share/ansible/plugins/modules/`.
2020-02-14 01:38:46 +00:00
## Requirements
- **nio:** The modules require matrix-nio to be required on the target. Some bugs and missing features were found during the development of these modules, which have been fixed in the case of bugs and implemented in the case of missing features. Until they are merged upstream, you have to install the matrix-nio library from source using https://github.com/poljar/matrix-nio/pull/102.
- **Python >= 3.5:** The modules make extensive use of async/await, so only Python 3.5 or later are supported. These modules have only been tested with Python 3.8 so far.
2020-02-14 00:45:30 +00:00
## Usage
2020-02-14 01:33:24 +00:00
For a usage example including all modules, look at the example playbook below.
```yaml
- hosts: localhost
vars:
matrix:
homeserver: https://example.org
user: username
password: s3cr3t
alias: '#some-alias:example.org'
message: "Set room name in"
tasks:
2020-02-14 11:42:54 +00:00
- matrix_login:
2020-02-14 01:33:24 +00:00
hs_url: "{{ matrix.homeserver }}"
user_id: "{{ matrix.user }}"
password: "{{ matrix.password }}"
register: login_result
2020-02-14 11:42:54 +00:00
- matrix_room:
2020-02-14 01:33:24 +00:00
hs_url: "{{ matrix.homeserver }}"
token: "{{ login_result.token }}"
alias: "{{ matrix.alias }}"
register: room_result
2020-02-14 11:42:54 +00:00
- matrix_state:
2020-02-14 01:33:24 +00:00
hs_url: "{{ matrix.homeserver }}"
token: "{{ login_result.token }}"
room_id: "{{ room_result.room_id }}"
event_type: "m.room.name"
state_key: ""
content:
name: "test room name"
register: state_result
2020-02-14 11:42:54 +00:00
- matrix_notification:
2020-02-14 01:33:24 +00:00
hs_url: "{{ matrix.homeserver }}"
token: "{{ login_result.token }}"
room_id: "{{ room_result.room_id }}"
msg_plain: "{{ matrix.message }} {{ state_result.event_id}}"
msg_html: "{{ matrix.message }} {{ state_result.event_id}}"
when: state_result.changed
2020-02-14 11:42:54 +00:00
- matrix_logout:
2020-02-14 01:33:24 +00:00
hs_url: "{{ matrix.homeserver }}"
token: "{{ login_result.token }}"
```
2020-02-14 00:45:30 +00:00
## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
## License
[AGPLv3](https://choosealicense.com/licenses/agpl-3.0/)