Mixin 机器人如何群发消息给用户
准备会话ID
若需要给每个用户逐一发送消息(群发消息),就是发送消息到每个会话ID (Conversation ID)。而这份会话ID列表需要自己提前准备好,参考 Mixin 机器人如何获得用户ID和会话ID,然后自行存储和管理。
Mixin 的会话 ID 形式相同,但生成方法分两种:
1. 用户和用户之间的单人会话,可以通过计算两个用户的 user_id 获得。计算方法参考代码。
2. 多人群组的会话ID是随机生成的。
若需要给每个用户逐一发送消息(群发消息),就是发送消息到每个会话ID (Conversation ID)。而这份会话ID列表需要自己提前准备好,参考 Mixin 机器人如何获得用户ID和会话ID,然后自行存储和管理。
Mixin 的会话 ID 形式相同,但生成方法分两种:
1. 用户和用户之间的单人会话,可以通过计算两个用户的 user_id 获得。计算方法参考代码。
2. 多人群组的会话ID是随机生成的。
使用的库: PyNaCl
安装依赖: pip install PyNaCl
|
本文章引用自: 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:
可以使用 t
(target) 选项来指定安装的位置。
举例:
|
安装到当前路径:
|
参考
基础概念可参考阮一峰写的 Systemd 定时器教程
[Service]
区块用来 Service 的配置,只有 Service 类型的 Unit 才有这个区块。它的主要字段如下。
Type
:定义启动时的进程行为。它有以下几种值。Type=simple
:默认值,执行ExecStart
指定的命令,启动主进程Type=forking
:以 fork 方式从父进程创建子进程,创建后父进程会立即退出Type=oneshot
:一次性进程,Systemd 会等当前服务退出,再继续往下执行Type=dbus
:当前服务通过D-Bus启动Type=notify
:当前服务启动完毕,会通知Systemd
,再继续往下执行Type=idle
:若有其他任务执行完毕,当前服务才会运行ExecStart
:启动当前服务的命令ExecStartPre
:启动当前服务之前执行的命令ExecStartPost
:启动当前服务之后执行的命令ExecReload
:重启当前服务时执行的命令ExecStop
:停止当前服务时执行的命令ExecStopPost
:停止当其服务之后执行的命令RestartSec
:自动重启当前服务间隔的秒数Restart
:定义何种情况 Systemd 会自动重启当前服务,可能的值包括always
(总是重启)、on-success
、on-failure
、on-abnormal
、on-abort
、on-watchdog
TimeoutSec
:定义 Systemd 停止当前服务之前等待的秒数Environment
:指定环境变量
Unit 配置文件的完整字段清单,请参考官方文档。
如何显示?
|
|
中文翻译:
可以使用 cp
复制,或 sync
同步,或者 mv
移动
https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html
下载文件 aws s3 cp <S3Uri> <LocalPath>
上传文件 aws s3 cp <LocalPath> <S3Uri>
S3Uri 格式:
s3://bucket-name/object-key-or-prefix
记录或下载 Access Key ID 和 Secret Access Key。
Generate random characters
|
Math.random()
,生成随机数,例如:0.09751664076957856
.toString(36)
,转换成36进制后的字符串。输出类似:“0.3idqid3cvvy”
.replace(/[^a-z]+/g, '')
,仅保留小写自负。输出类似:“idqidcvvy”
.slice(0, 5)
, 截取前5个字符。输出类似:"idqid"
引用自stackoverflow:
|
注意:需要启用 tkinter