pip 的升级

这篇文章说的是升级更新 pip 自身。
如果是需要通过 pip 管理和更新 Python 软件包,请参考 pip 的使用

若 pip 是安装 Python 是自带的,更新方式:
python3 -m pip install --upgrade pip

手动独立安装的 pip,更新方式:
pip install --upgrade pip

Shell 获取当前脚本文件路径

以下代码适用于 bash 和 zsh:

# 此脚本文件的绝对路径
SCRIPT_FILE=$(readlink -f $0)

# 此脚本文件所在文件夹的绝对路径
SCRIPT_DIR=$(dirname $SCRIPT_FILE)

# 注意:这两行要分开写,不要合并成一句,否则变量内容为空。

但嵌套子进程的时候,zsh对路径的处理时正常的,可是 bash 会出问题。

Mixin 机器人如何获得用户ID和会话ID

能够获悉用户ID和会话ID的两个交互场景和方法:

  1. 等待用户主动发消息给机器人
    当用户在 Mixin Messenger 中 添加机器人为联系人时,会自动的发送一条内容是 “Hi”(“你好”) 的文本消息给机器人。
  2. 机器人收到来自用户的消息时,可以从 message view 里读到 user_id 和 conversation_id.
    代码参考
  3. 如果需要更多用户信息,可以通过 API GET /user/:id 接口读取。
  1. 网页版中,可以使用 Mixin 的 JavaScript Bridge 读取到当前用户的 conversation_iduser_id
  2. 当用户确认 OAuth 授权后,机器人可以使用用户的 access token 通过 GET /me 接口获得更多信息。

用户/群组可以访问网页 https://mixin.one/context 直接查看自己的会话ID。

Mixin 机器人如何获得自己的用户列表

Mixin 机器人如何获得使用过本机器人的所有用户呢?

并没有直接的API方法获得。需要开发者在用户和机器人交互时获得用户信息,并进行保存和管理。

参考 Mixin 机器人如何获得用户ID和会话ID,获得用户ID和会话ID后,保存到内存、文件或数据库。

Mixin 机器人如何群发消息给用户

若需要给每个用户逐一发送消息(群发消息),就是发送消息到每个会话ID (Conversation ID)。而这份会话ID列表需要自己提前准备好,参考 Mixin 机器人如何获得用户ID和会话ID,然后自行存储和管理。

Mixin 的会话 ID 形式相同,但生成方法分两种:
1. 用户和用户之间的单人会话,可以通过计算两个用户的 user_id 获得。计算方法参考代码
2. 多人群组的会话ID是随机生成的。

Python 使用 nacl 生成密钥对

使用的库: PyNaCl
安装依赖: pip install PyNaCl

from nacl.signing import SigningKey
from nacl.public import PrivateKey


def generate_curve25519_keypair():
    # 生成私钥
    private_key = PrivateKey.generate()

    # 从私钥生成公钥
    public_key = private_key.public_key

    # 将私钥和公钥导出为字节形式,便于存储或传输
    private_key_bytes = private_key.encode()
    public_key_bytes = public_key.encode()

    # 打印密钥
    print(" ----- Curve25519 key pair -----")
    print("Private Key (hex):", private_key_bytes.hex())
    print("Public Key (hex):", public_key_bytes.hex())


# 适用于 JWT 签名
def generate_ed25519_keypair():
    # 生成私钥
    private_key = SigningKey.generate()

    # 从私钥生成公钥
    public_key = private_key.verify_key

    # 将私钥和公钥导出为字节形式,便于存储或传输
    private_key_bytes = private_key.encode()
    public_key_bytes = public_key.encode()

    # 打印密钥
    print(" ----- Ed25519 key pair -----")
    print("Private Key (hex):", private_key_bytes.hex())
    print("Public Key (hex):", public_key_bytes.hex())


if __name__ == "__main__":
    generate_curve25519_keypair()
    generate_ed25519_keypair()

Install pip3 on Ubuntu

本文章引用自: https://www.educative.io/edpresso/installing-pip3-in-ubuntu ,版权归原作者所有。

pip3 is the official package installer for Python 3. It can be used to install packages from the Python Package Index.

It is always a good idea to update before trying to install a new package. Run the command below:

sudo apt update

If Python 3 has already been installed on the system, execute the command below to install pip3: