threema-gateway is a Python 3 module for the Threema gateway service. This API can be used to send and receive text messages to and from any Threema user.
On machines where Python 3 is not the default Python runtime, you should
use pip3 instead of pip.
$ sudo apt-get install python3 python3-pipWe recommend using venv to create an isolated Python environment:
$ pyvenv venvYou can switch into the created virtual environment venv by running this command:
$ source venv/bin/activateWhile the virtual environment is active, all packages installed using
pip will be installed into this environment.
To deactivate the virtual environment, just run:
$ deactivateIf you want easier handling of your virtualenvs, you might also want to take a look at virtualenvwrapper.
If you are using a virtual environment, activate it first.
Install the module by running:
$ pip install threema.gatewayThe dependency libnacl will be installed automatically. However, you
may need to install libsodium for libnacl to work.
The script threema-gateway provides a command line interface for
the Threema gateway. Run the following command to see usage information:
$ threema-gateway --helpThe default Gateway API Endpoint URL used is https://msgapi.threema.ch/.
If you are a Threema OnPrem customer or have another reason to use a different Gateway API Endpoint, you may override the URL as follows:
$ export GATEWAY_API_URL=https://onprem.myinstance.tld/msgapiAny following calls to threema-gateway will then use the supplied Gateway
API Endpoint URL.
You can find a few example scripts in the examples/ directory.
Note that most of them need to be adjusted to at least add your gateway ID credentials before they run successfully.
| Level | Text | Capabilities | Image | File | Credits |
|---|---|---|---|---|---|
| 1 | X | ||||
| 2 | X | X | X | X | |
| 3 | X | X | X | X | X |
You can see the implemented feature level by invoking the following command:
$ threema-gateway versionIf you want to contribute to this project, you should install the
optional dev requirements of the project in an editable environment:
$ git clone https://github.com/threema-ch/threema-msgapi-sdk-python.git
$ cd threema-msgapi-sdk-python
$ pip install -e .[dev]Before creating a pull request, it is recommended to run the following
commands to check for code style violations (flake8), optimise
imports (isort) and run the project's tests:
$ flake8 .
$ isort .
$ py.testYou should also run the type checker that might catch some additional bugs:
$ mypy setup.py tests examples threema