zoukankan      html  css  js  c++  java
  • 搞事 | 5分钟部署一个机器人帮你告别 “信息焦虑”

    次搞事用服务器搭建了一套监控系统,包含 Bug 追踪、数据监控以及可视化仪表盘等功能。

    感兴趣的可以点击下面蓝字学习一波~

    搞事 | 这个周末我对落灰的云服务器做了什么?

    这次搞事是想部署一个 Telegram Bot ,方便订阅一些不错的网站和技术博客。

    前奏

    如果想跟着我做,你需要准备下面这些东西。

    •类似 SSH shell / Xshell 的 ssh 工具•一台能够自由上网的手机•一台云服务器(不说别的,华为 C6 性能机皇,价廉物美,你值得拥有,现在访问官网还有 1 亿红包券等你来)

    好了,软广结束,继续我们的正题。

    申请 Telegram Bot

    Telegram Bot 有个不错的地方是可以直接在手机上完成配置和订阅,方便快捷。

    现在在 Telegram 上搜索 @BotFather,之后在根据提示,输入/star

    接下来根据提示创建一个新的机器人 /newbot,根据提示给你的机器人起一个名字,我这里用的是 xianyu_tobot, 起好名字之后会返回一个 HTTP API token 这个需要记录下来,之后部署需要用到。

    到这里你就拥有了属于你自己的一个 Telegram Bot 了。

    Telegram Bot 的简单配置

    我们可以通过 /mybot命令管理属于你的 Telegram Bot

    我们需要简单设置一下 Telegram Bot ,点击 Edit Bot - Edit Commands 根据下面的格式输入指令

    1 rss       - 显示当前订阅的 RSS 列表,加 raw 参数显示链接
    2 sub       - 订阅一个 RSS: /sub http://example.com/feed.xml
    3 unsub     - 退订一个 RSS: /unsub http://example.com/feed.xml
    4 unsubthis - 使用此命令回复想要退订的 RSS 消息即可退订, 不支持 Channel
    5 # export    - 导出为 OPML 特此提醒:这个功能在我们下面主讲的项目中支持的不是很好

    部署 RssBot

    现在网上比较流行的两种搭建方式分别是参考下面两个项目的:

    一个是基于 Rust 构建的 rssbot

    https://github.com/iovxw/rssbot

    还有就是基于 Go 语言构建的 flowerss-bot

    https://github.com/indes/flowerss-bot

    基于方便新手的便利性,个人强烈推荐后者。不仅使用方便,而且支持 Telegram 内预览。

    这时候就需要掏出刚刚买好的华为服务器,系统环境为 Centos 7。

    先使用源码的方式编译部署。

    使用源码部署 flowerss-bot

    首先需要配置 go 语言安装环境wget https://dl.google.com/go/go1.12.6.linux-amd64.tar.gz

    tar -C /usr/local -xzf go1.12.6.linux-amd64.tar.gz
    echo 'export PATH=$PATH:/usr/local/go/bin' >>/etc/profile
    source /etc/profile
    yum install make gcc git -y

    接着拉取项目源码并编译

    git clone https://github.com/indes/flowerss-bot
    cd flowerss-bot
    make build
    # 配置项目参数
    vim config.yml

    config.yml 中填入的内容

    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    # 这个是之前申请的 bot token
    # 填入的参数是包含 冒号前面的一串数字的
    bot_token: XXX
    #多个telegraph_token可采用数组格式:
    # telegraph_token:
    #  - token_1
    #  - token_2
    # 建议订阅人数多的 bot 一定要申请多一些!不然没多久就访问频繁了
    # 申请地址
    # curl https://api.telegra.ph/createAccount?short_name=flowerss&author_name=flowerss&author_url=https://github.com/indes/flowerss-bot
    # 选填项
    telegraph_token: xxxx
    preview_text: 0
    socks5: 127.0.0.1:1080
    # 机器配置不高的朋友这个配置项可以设置为20
    update_interval: 10
    error_threshold: 100
    mysql:
      host: 127.0.0.1
      port: 3306
      user: user
      password: pwd
      database: flowerss
    sqlite:
      path: ./data.db

    你以为到这里就结束了吗?

    Tip

    构建项目时会出现下面的提示:

    package google.golang.org/grpc: unrecognized import path "google.golang.org/grpc"(https fetch: Get https://google.golang.org/grpc?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

    这是因为这个代码已经转移到 github 上面了,但是代码里面的包依赖还是没有修改,还是 google.golang.org 。

    所以不能使用 go get 的方式安装,我们需要使用下面这种方式:

    •  
    •  
    •  
    •  
    •  
    •  
    # 按照错误提示创建响应的文件夹
    mkdir -p $GOPATH/src/golang.org/x/
    # 从 git 上将源码同步下来
    git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net
    # 使用源码安装缺失的包
    go install net

    上面这种方式部署繁琐不少,但是没关系,项目作者贴心的为我们准备了 Docker 部署的方式,只需 5 秒就可以一键部署了。

    Docker 一键式部署

    使用 Docker 一键部署的前提是先配置好 Docker 运行环境,没有玩过的盆友可以跟着咸鱼一步步往下做。

    连接华为云主机,使用下面的命令在服务器上安装 Docker# 在Linux操作系统下,可以使用如下命令快速安装Docker

    curl -fsSL get.docker.com -o get-docker.sh
    sh get-docker.sh
    # 安装完成后,使用下面的命令验证是否安装成功, 安装成功输入下面的命令会输出一堆版本信息
    docker version

    安装好 Docker 后就需要配置 DockerHub 镜像加速源地址,否则拉取 DockerHub 镜像的速度会让你怀疑人生。

    这里继续安利大家一个干货:

    打开华为云官网,点击 开发者 在下拉列表里选择 开源镜像站

    安装好 Docker 后就需要配置 DockerHub 镜像加速源地址,否则拉取 DockerHub 镜像的速度会让你怀疑人生。

    这里继续安利大家一个干货:

    打开华为云官网,点击 开发者 在下拉列表里选择 开源镜像站

    接着在列表里找到 DockerHub 官方镜像,点击打开。

    镜像加速源什么的,华为云已经给我们安排的明明白白了。

    这里一定要提一句:华为作为 CNCF 基金会的创始会员,这些年在 Docker、Kubernetes 等快速成长的开源技术的推广上做出了巨大贡献,这里要给菊厂点个大大的赞 

    好了,到这里直接执行命令,配置镜像加速器。

    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    sudo mkdir -p /etc/docker
    # 注意,这里要填写自己的加速器地址
    sudo tee /etc/docker/daemon.json <<- 'EOF'
    {
        "registry-mirrors": ["https://xxxxxxxx0faac01bf7f08de0.mirror.swr.myhuaweicloud.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker

    配置好 DockerHub 之后,直接使用下面的命令就可以了。# telegraph token 参数可以省略,功能上影响不大

    # 可以添加 -i [num] 的方式更改 Rss 拉取资源的频率,默认为 10 s
    docker run -d -v ~/data/flowerss:/var/flowerss indes/flowerss-bot -b <bot token> -t <telegraph token 可省略>

    启动好项目后,就可以使用 Telegram Bot 了。

    Telegram Bot 的简单应用

    部署好 Telegram Bot 后,我们就可以在群组或者频道中使用这个 robot 了。

    你可以像我一样的创建一个频道,并在管理员中添加创建好的 robot

    之后就可以向 robot 发送要订阅的网站。/sub @[频道ID / 群组ID] 订阅地址

    # 订阅 阮一峰 的网站
    # eg : /sub @xianyuplus http://www.ruanyifeng.com/blog/atom.xml

    订阅成功后他就会不停的为我们拉取最新的网站的信息啦,摸鱼党必备~

    总结

    不知道看到这里的你有没有遇到过下面这些个问题:

    •获取信息的成本越来越低,但处理信息的能力却没多少变化;•信息的类型和数量越来越多,但整理分类信息的方式却没多少优化;•看新闻、看视频的体验越来越好,但面对「屏幕成瘾」却没什么办法;•遇到任何问题能随时随地百度一下,但也越来越不重视知识的沉淀;•... (以上问题总结自 少数派 - 高效信息整理)

    互联网飞速发展,也迎来了信息爆炸的时代,但是我们大脑处理信息的方式和效率并没有随之变得高效。

    看到好的资源,好的文章往往是:收藏就是看了,看了就是会了,循环往复。

    关注了上百个公众号,点开微信转而也打开了和小姐姐聊天的对话框。。。

    所以有一个干净没有其他杂乱的信息 Rss 阅读渠道,好像也是一个不错的选择?

    以上就是我写这篇文章的初衷了,祝大家不再 “信息焦虑”,沉淀知识,提升自己。

    最后说一句,华为云真香。

    HDC.Cloud 华为开发者大会2020 即将于2020年2月11日-12日在深圳举办,是一线开发者学习实践鲲鹏通用计算、昇腾AI计算、数据库、区块链、云原生、5G等ICT开放能力的最佳舞台。

    欢迎报名参会https://www.huaweicloud.com/HDC.Cloud.html?utm_source=&utm_medium=&utm_campaign=&utm_content=techcommunity

     

  • 相关阅读:
    李开复给中国学生的第一封信
    vc++学习篇(三)——预处理命令之条件编译(#ifdef,#else,#endif,#if等)
    高级程序员考试时间安排和参考书推荐
    vc++学习篇(四)—— 指针
    程序员应具备的素质
    Word 2003 长篇文档排版技巧(二)
    Google 技巧集锦
    给中国学生的第二封信
    修复mysql表
    社保相关
  • 原文地址:https://www.cnblogs.com/huaweicloud/p/12229467.html
Copyright © 2011-2022 走看看