Threema网关服务的API,用于发送和接收包括文本、图片、文件和投递报告的消息。
项目描述
threema-gateway 是一个用于Threema网关服务的Python 3模块。此API可用于向任何Threema用户发送和接收文本消息。
注意
在Python 3不是默认Python运行时的机器上,您应该使用 pip3 而不是 pip。
先决条件
$ sudo apt-get install python3 python3-pip
我们建议使用 venv 来创建一个隔离的Python环境
$ pyvenv venv
您可以通过运行此命令进入创建的虚拟环境 venv
$ source venv/bin/activate
当虚拟环境处于活动状态时,使用 pip 安装的所有包都将安装到该环境中。
要停用虚拟环境,只需运行
$ deactivate
如果您想要更容易地处理虚拟环境,也可以看看 virtualenvwrapper。
安装
如果您正在使用虚拟环境,请先激活它。
通过运行以下命令安装模块:
$ pip install threema.gateway
将自动安装依赖项 libnacl。但是,您可能需要安装 libsodium 以使 libnacl 正常工作。
命令行使用
脚本 threema-gateway 为 Threema 网关提供了命令行界面。运行以下命令以查看使用信息
$ threema-gateway --help
网关 API 端点
使用的默认网关 API 端点 URL 为 https://msgapi.threema.ch/。
如果您是 Threema OnPrem 客户或出于其他原因需要使用不同的网关 API 端点,可以按以下方式覆盖 URL
$ export GATEWAY_API_URL=https://onprem.myinstance.tld/msgapi
之后对 threema-gateway 的任何调用都将使用提供的网关 API 端点 URL。
示例
您可以在 examples/ 目录中找到一些示例脚本。
请注意,大多数脚本在成功运行之前至少需要调整以添加您的网关 ID 凭证。
功能级别
级别 |
文本 |
功能 |
图片 |
文件 |
信誉 |
---|---|---|---|---|---|
1 |
X |
||||
2 |
X |
X |
X |
X |
|
3 |
X |
X |
X |
X |
X |
可以通过执行以下命令查看已实现的功能级别
$ threema-gateway version
贡献
如果您想为此项目做出贡献,您应该在可编辑的环境中安装项目的可选 dev 要求
$ git clone https://github.com/threema-ch/threema-msgapi-sdk-python.git
$ cd threema-msgapi-sdk-python
$ pip install -e .[dev]
在创建拉取请求之前,建议运行以下命令以检查代码风格违规(flake8),优化导入(isort)并运行项目的测试
$ flake8 .
$ isort .
$ py.test
还应该运行类型检查器,它可能会捕获一些额外的错误
$ mypy setup.py tests examples threema
变更日志
8.0.0 (2024-08-21)
添加对 Python 3.10/3.11/3.12 的支持
取消对低于 3.8 的 Python 版本的支持
更新依赖项
将 caption 添加到文件消息和 CLI
为 send-simple 和 send-e2e CLI 添加一个可选参数,允许通过参数传递文本而不是从 stdin 读取。
使随机填充规范符合要求
添加一个可选环境变量 GATEWAY_API_URL 来覆盖网关 API 端点 URL
7.0.1 (2023-02-21)
修复未知接收功能的解析
添加新的 ReceptionCapability 项目
移除 ReceptionCapabilitiesError(破坏性更改)
6.0.0 (2022-06-13)
一般
添加对 Python 3.10 的支持
取消对低于 3.7 的 Python 版本的支持
主要依赖项升级以增加与其他包的兼容性
更新所有测试以与新依赖项一起工作
更改 CLI 语法:所有命令现在都是 dash-case 而不是 snake_case,例如,send_e2e 命令现在称为 send-e2e。
5.0.0 (2021-05-17)
向 Connection 添加自定义会话和会话参数 (#55, #56)
移除 fingerprint 和 verify_fingerprint 参数,请参阅 #55 以获取详细说明和如何实现固定
4.0.0 (2021-01-23)
一般
取消对低于 3.6.1 的 Python 版本的支持
在弃用后移除 ReceiptType.user_ack。请使用 ReceiptType.user_acknowledge 代替。
简化 util.aio_run。它不再允许传递特定的事件循环或在完成时关闭事件循环。
将 util.aio_run_proxy_decorator 重命名为 aio_run_proxy。现在它总是在运行的事件循环中创建类实例。
客户端
在异步模式下,现在必须在 async 函数中创建 Connection 实例。
如果您之前在异步模式下使用过 with 上下文管理器块,现在必须在 async with 异步上下文管理器中进行此操作。在阻塞模式下不需要更改。
Connection.close 现在是一个异步函数。
服务器
回调服务器已经重构,并已移除 AbstractCallback 类,以实现更大的灵活性和对底层 aiohttp 服务器的控制。请参阅 examples/callback.py 了解如何使用它。
由于重复,已移除回调服务器 CLI。示例提供了相同的功能。
3.1.0 (2020-04-21)
添加视频消息
修复图像字节长度计算略微偏差的问题
3.0.6 (2017-09-22)
迁移到 aiohttp2
3.0.5 (2017-07-25)
修复处理新的 libnacl 异常。
3.0.4 (2017-05-23)
修复 CLI
3.0.2 (2017-05-12)
在 PyPI 上首次发布
项目详情
哈希值 for threema.gateway-8.0.0-py38.py39.py310.py311.py312-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 31459eb3bb7f6434e90d4d06e00bd007a84e27200a1176b4b0f27e6d8a1a0db2 |
|
MD5 | b9c24a502e046318b5954193173d045b |
|
BLAKE2b-256 | 050b86ede946c75ae7040fa1e3f4c86f304f4c091f12896d97ea0fe3de498663 |