博文

搭建电报关键词提醒机器人 telegram keyword monitor bot

图片
前几天开发了一个电报关键词提醒机器人 已上传Github https://github.com/crazypeace/tg-keyword-monitor-bot 本文描述搭建过程. 首先, 你可以看看Github项目的readme, 那是一个从头到尾按操作顺序手把手的图文教程. 如果你觉得那篇教程有点云里雾里, 那么下面, 我换一个角度来描述. 系统架构 信息源 -> 采集者 -> 本程序 -> 发布者 -> 消费者 系统中的各部分 信息源 是 你想监听的各个tg群组, 频道 采集者 是 一个tg账户   * 推荐你注册一个新tg账户来玩. 本程序 是 本项目 main.py   * 本程序需要 api_id, api_hash. 需要到  https://my.telegram.org/apps 申请. 这里需要登录tg账户, 可以是 采集者同账户, 也可以是不同的账户.  发布者 是 一个tg机器人   * 本程序需要 bot_token, 需要向  https://t.me/BotFather 申请. 向 @BotFather 发起机器人申请的tg账户, 可以和前面同账户, 也可以是不同的账户. 消费者 是 接收关键字通知消息 的用户或群组或频道 本项目的运行环境 安装python 一般你用的比较新版本的操作系统 Debian / Ubuntu, 已经自带了.  略 安装 pip apt install -y python3-pip 拉取项目 apt install -y git git clone https://github.com/crazypeace/tg-keyword-monitor-bot cd tg-keyword-monitor-bot 安装python依赖 pip3 install -r requirements.txt --break-system-packages config.yaml.default 复制为 config.yaml 系统中各部分之间的关系 信息源 与 采集者 之间的关系 你自己登录 采集者账户 的身份, 加入信息源. 入群验证, 不公开群需要别人拉你, 需要管理员审批, ... 等等等等 这些问题, 需要你自己解决. 采...

新手使用Debian 安装中文语言 设置主用中文 安装command-not-found 解决"命令找不到"的问题

图片
问题 经常遇到新手小白问下面这样的问题怎么解决. TL;DR apt update apt install -y command-not-found apt update sed -i 's/^# *\(zh_CN.UTF-8 UTF-8\)/\1/' /etc/locale.gen locale-gen 断开SSH连接, 重新SSH登录 export LANG=zh_CN.UTF-8 开始你的linux命令行操作.  效果 解释 安装 command-not-found apt update apt install -y command-not-found 要 command-not-found 起作用, 需要再更新一下 apt 软件源信息 apt update 安装中文语言 sed -i 's/^# *\(zh_CN.UTF-8 UTF-8\)/\1/' /etc/locale.gen locale-gen 要 command-not-found 起作用, 需要新建SSH会话 断开SSH连接, 重新SSH登录 设置系统使用中文语言 export LANG=zh_CN.UTF-8 ======== 后记 为什么我不让 export LANG=zh_CN.UTF-8 持久化? 首先, 将这个设置持久化的方法, google 或 gpt 随便一搜就有答案. 其次, 对于特别新手小白的人来说, 如果系统语言修改了, 以后在参考其它教程的时候, 显示内容与教程不一样, 会不会搞不明白了. ======== 在执行一键命令时的其它问题, 请参考 https://zelikk.blogspot.com/2022/05/bash-curl-error.html

隐形眼镜 的 包装 和 直径 对使用的影响

图片
隐形眼镜 用了比较久的一段时间了. 今天我分享一下隐形眼镜 的 包装 和 直径 对使用的影响吧. 1. 盛装隐形眼镜 的"容器"的内边缘 爱尔康 库博光学 可以看到, 库博光学的边缘转角的角度更大, 而且边缘有一条小边向内延伸, 摸起来还有点刮手. 那 这样的边缘使得 用户 把镜片拿出来的过程, 需要更小心, 不要让镜片被 这个边 刮到. 而 爱尔康 没有这个问题. 博士伦 我手里目前没有实物, 我使用过的 博士伦 也是没有这个问题的. 2. 镊子取镜片时的角度 爱尔康 的 "容器" 的外型外形是水滴型, 如下: 水滴的尖的位置就方便镊子插进去取镜片, 如下: 库博光学 的"容器"的外形是个圆型, 如下: 所以镊子插入的角度会更陡, 也就更不方便夹取镜片. 3. 镜片的直径 爱尔康 水润 Alcon Dailies All Day Comfort 白盒 镜片直径 13.8mm (区别于 爱尔康 多水润 Alcon Dailies Aqua Comfort 蓝盒) 库博光学 清氧清/珂朗清 CooperVision clariti 镜片直径 14.1mm 就这 0.3mm 的差别, 就使得我的较小的那一只眼睛, 佩戴体验有明显的区别. 我的观点不是说直径小的就更好. 我是说, 不要小看隐形眼镜的参数的一点点差别, 多试试不同的品牌和型号, 找到适合你的那一个. 对于我自己而言, 目前看来 爱尔康 多水润 Alcon Dailies 就是比较好的选择, 又便宜又好用. 4. 其它参数 材质啊, 含水率啊, 透氧量啊, ... 我实际佩戴过程中, 眼睛的感觉没有明显的区别.

世界上有许多 "自以为是" 的人

图片
世界上有许多 "自以为是" 的人.  先摆几个例子. 下面这些例子里有音频的, 也有视频的. 我所说的 "自以为是" 的人 即指下面这些作者, 也指这些音频或视频中提到的内容或对象. 狐说巴道烫  (播客) 村口fm  (播客) 不叁不肆  (播客) 疲惫娇娃  (播客) 独树不成林  (播客) 清月已经不困了  (视频, 直播) Peggy Fo Show  (视频播客) 我想,  世界上有这么多思想如此不一样的人, ta们互相之间 要不要战个你死我活? 还是, 容忍彼此的存在? 哪怕非常讨厌甚至憎恨对方的观点, 但认同这个世界就是由wo和ta们并存的. 视角转换到我自己身上, 我在别人眼中也是一个"自以为是"的人. 如果我想要世界容忍我的存在,  那么平等地, 我也要容忍我眼中的"自以为是"的人存在. 前面我列出的这些音视频, 我是把ta们当作一种"疫苗"来对待的.  如果我关注的音视频消费完了, 而我现在准备做一件不需要专心的事情(比如, 打扫卫生或者散步), 那么我会在"疫苗"里面随便点一个播放. 或者是最近有什么重大新闻事件, 我把关注的音视频消费完后, 如果这些"疫苗"里面也有谈论到的, 我也会主动了解"疫苗"是什么想法. 我说ta们是"疫苗"的意思是, 在现实生活中, 遇到一个真实的事件或人之前, 如果在网络上提前遇到过同样或类似的, 那么在现实生活中遇到的那个时刻, wo会更从容一些. 这些"疫苗"是音视频, 很方便控制. 我在使用的过程中, 如果情绪激动, 可以马上中断, 在我准备好之后, 再继续. 我在使用这些"疫苗"的时候, 我会提醒自己, wo能不能把这个人说的话进行分解? 哪些是信息, 哪些是观点? 哪些信息有可信度, 哪些没有? 哪些观点与我有共鸣, 哪些我反对, 哪些我觉得不好说? 每个人都是多个面向综合起来的. wo是不是可以从ta某个面向获得价值/认同, 而对ta其他的面向保持批判? 我在使用这些"疫苗"之后, 有一个效果, 当wo听到一个非常认同的观点, 心里觉得很爽的时候,  wo会提醒自己,...

开发电报关键词提醒机器人 telegram keyword monitor bot

图片
前言 之前使用了一个 电报关键词提醒机器人项目 . 使用下来觉得功能有点重. 原项目考虑到多人使用, 不同的用户关注不同的关键字和不同的群组. 所以原项目需要用到数据库. 我准备自己开发一个轻量的适合个人使用的电报关键词提醒机器人. 借助现在强大的gpt的力量写代码. 第一版代码生成是用的免费的 claude 后续代码调试是用的免费的 M$ copilot 设计功能 bot只接受来自指定id的 user 或 group 的控制命令,  bot监听到关键字后, 发送通知信息给指定id 的 user 或 group 或 channel, 关注的 关键字列表 支持正则表达式 排除的 关键字列表 支持正则表达式 关注的 关键字列表 和 排除的 关键字列表 都更新到配置文件中保存 设计配置文件 配置文件 yaml 格式, 内容如下: # 账户信息 account:    # 监听信息的user   api_id: '1400003'   api_hash: 'd11xxxxx112a7e059e831'   user_phone: '+86190000010'   # 发送消息的bot   bot_token: '1000007:AAHNh8axxxxxxxxxxxxxxxxHA'   bot_username: 'keyxxxxxrt_bot' # LOG logger:   path: null # e.g. /root/absolute-path/   default null: {_current_path}/logs/   level: INFO # FATAL,ERROR,WARN,INFO,DEBUG,NOTSET # 代理 proxy:   type: SOCKS5 # e.g. SOCKS4, SOCKS5, HTTP   address: null  # e.g. 127.0.0.1   port: null # e.g. 1088 # 非公共服务 # bot只接收来自以下ID的命令 可以设置为user或group的ID command_id_list:    - 123...

无交互的方式使用dpkg-reconfigure locales解决Debian13中文显示问题

图片
TL;DR sudo sed -i 's/^# *\(en_US.UTF-8 UTF-8\)/\1/' /etc/locale.gen sudo locale-gen export LANG=en_US.UTF-8

The Hot3 in Last 30 Days

Debian10 apt update问题 更新软件源 2025-8-11

Mihomo (Clash-meta) 择优录取 url-test 自动选择能用的端口和协议

不换行空格NBSP造成Linux执行命令时出错