跳转到主要内容

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-simplesend-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)

  • 移除 fingerprintverify_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 上首次发布

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

threema_gateway-8.0.0.tar.gz (438.9 kB 查看哈希值)

上传时间

构建分布

threema.gateway-8.0.0-py38.py39.py310.py311.py312-none-any.whl (31.8 kB 查看哈希值)

上传时间 Python 3.10 Python 3.11 Python 3.12 Python 3.8 Python 3.9

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面