一个用于提醒您事项的matrix机器人!
项目描述
Matrix Reminder Bot

使用 nio-template 编写的简短机器人。
功能
- 设置提醒
- 让机器人提醒您或整个房间
- 提醒在机器人重启后持续存在
- 闹钟 - 提醒的持续通知,直到被静音
- 支持端到端加密的房间
安装
matrix-reminder-bot需要matrix-nio,它支持参与端到端加密房间!为了做到这一点,它使用了libolm C库。此库必须安装才能启用端到端加密功能,不幸的是,它也用于功能性的消息轮询,因此实际上对程序来说是强制要求的。
遗憾的是,在某些平台上安装此库可能相当复杂。然而,借助 Docker 的力量,依赖关系可以轻松处理,因此它是安装 matrix-reminder-bot
的推荐方法。还提供了本地安装说明,但请注意,它们更为复杂。
Docker
推荐。 按照Docker的安装说明进行操作。
本地安装
安装 libolm
您可以从源代码安装 libolm,或者检查您的系统包管理器。需要版本 3.0.0
或更高版本。
(可选) postgres 开发头文件
默认情况下,matrix-reminder-bot 使用 SQLite 作为其存储后端。对于几百个用户来说,这很好,但如果您计划支持更高的请求量,您可能考虑使用 Postgres 作为数据库后端。
如果您想使用 postgres 作为数据库后端,则需要安装 postgres 开发头文件
Debian/Ubuntu
sudo apt install libpq-dev libpq5
Arch
sudo pacman -S postgresql-libs
安装 Python 依赖项
创建并激活 Python 3 虚拟环境
virtualenv -p python3 env
source env/bin/activate
安装 Python 依赖项
pip install matrix-reminder-bot
(可选) 如果您想使用 postgres 作为数据库后端,使用以下命令安装必要的 postgres 依赖项
pip install "matrix-reminder-bot[postgres]"
配置
将示例配置文件复制到新的 config.yaml
文件。
cp sample.config.yaml config.yaml
编辑配置文件。必须至少修改 matrix
部分。
(可选) 设置 Postgres 数据库
为 matrix-reminder-bot 创建一个 postgres 用户和数据库
sudo -u postgresql psql createuser matrix-reminder-bot -W # prompts for a password
sudo -u postgresql psql createdb -O matrix-reminder-bot matrix-reminder-bot
编辑 storage.database
配置选项,将 sqlite://...
字符串替换为 postgres://...
。语法是
database: "postgres://username:password@localhost/dbname?sslmode=disable"
请参阅 sample.config.yaml
中的注释。
运行
Docker
请参阅 docker 的运行说明。
本地安装
如果尚未这样做,请确保源您的 Python 环境
source env/bin/activate
然后只需运行机器人
matrix-reminder-bot
默认情况下,机器人将以 ./config.yaml
中的配置文件运行。但是,可以在命令后指定替代的相对或绝对文件路径
matrix-reminder-bot other-config.yaml
用法
邀请机器人进入一个房间,它应该接受邀请并加入。
设置提醒
让机器人在房间里提醒您某件事
!remindme <time>; <reminder text>
<time>
是可以以自然语言表达的时间。例如,“明天中午”,“周四下午5点”,“一周后”等。<reminder text>
是机器人将提醒您的文本。
让机器人在房间里提醒房间里的每个人某件事(假设机器人有权限这样做)
!remindroom <time>; <reminder text>
重复提醒
要创建重复提醒,请将 every
后跟时间长度,然后是提醒第一次响起的时间,最后是提醒文本
!remindme every 1w; tuesday; take out the trash
!remindroom every 5m; 1m; you are loved
Cron 样式提醒
如果您需要更复杂的提醒时间功能,可以使用 cron 选项卡。您可以在这里阅读关于 cron 选项卡的指南。
简而言之,它们允许您执行更复杂、重复的提醒,例如只在工作日触发的提醒。
!remindme cron * 9 * * mon-fri; time for the daily stand up
上述提醒将在每个工作日上午 9:00 响起。
!remindme cron 0/30 9-18 * * mon,wed,fri; take a short break
上述提醒将在上午 9:00 之后每 30 分钟响起一次,直到下午 6:30,并且仅在周一、周三和周五。
列出即将到来的提醒
!listreminders
这将输出一个提醒列表和它们下一次响起的时间
sometime Do the dishes (every 1d)
sometime Take out the trash
sometime Send email to Grandma
取消提醒
!cancelreminder <reminder text>
设置闹钟
闹钟与提醒相同,但它们将在响起后每 5 分钟重复一次,直到被静音。
创建闹钟的语法与创建提醒相同,只是命令不同
!alarmme <time>; <reminder text>
!alarmroom every <recurring time>; <start time>; <reminder text>
静音闹钟
可以使用以下命令来静音闹钟
!silence <reminder text>
开发
请参阅CONTRIBUTING.md。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
matrix-reminder-bot-0.3.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dd6e730a6947ece70ebb57df24ea935b745e7e3a000b70f84a9beb63801cb99a |
|
MD5 | d6f344d2e5e19aa4bb647d77537621c4 |
|
BLAKE2b-256 | 5f494940f43ed52f2038a886ee53c10d1b343458eda7cad1b33f6379c3739648 |
matrix_reminder_bot-0.3.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a89adcfe53cf195ab3ceaabb59a72d09e0ae3133f84d12efda39352b0d457d9a |
|
MD5 | e4f9d2e39450c78368d571ad0e2a9037 |
|
BLAKE2b-256 | e49bc40896be406ef58b61e15c198729fb1884ee27d9c58b26383df3c1936d33 |