#18 用免费 Serverless 及 JavaScript 写 Telegram 聊天机器人!

用免费 Serverless 及 JavaScript 写 Telegram 聊天机器人!

聊天机器人的简单架构

基本上许多的聊天机器人都是用 Webhook 的机制来实现的。

Webhook 是什麽?

其实就只是个服务器的网址。

举例来说,你想要在当有人传讯息给你的机器人帐号时,Telegram 来提醒你说你收到了一个讯息!
那 Telegram 要怎麽告诉你呢?
答案就是你弄一个服务器跟指向服务器的网址,然後把网址给 Telegram 并告诉它「如果有人传讯息给我,就发送到这个网址来!」
这个网址就是 Webhook。

收讯息的机制

  1. 使用者传讯息给你的机器人帐号
  2. 聊天平台将收到的讯息转寄给你的服务器

在第 2 步就会需要用到 Webhook 才知道你的服务器在哪。

寄讯息的机制

  1. 依照官方 API 将讯息送至平台
  2. 平台将讯息寄至使用者

其实聊天机器人的互动非常简单,只需要数个一般的 HTTP 请求就可以完成,当然如果像是 Discord 等平台其实还有用到 WebSocket 等技术,但其实也只是因为需要像是 heartbeat 检查等功能,为了避免发送一堆 HTTP 请求标头浪费网路资源。

hearbeat 就是每隔一阵子(通常是几秒)发个请求确认对方服务器是否还开着,如果对方有回传就是还活者,反之则推定死亡未上线。

接下来几天

在接下来的环节,我们会使用 Telegram 作为示范讯息平台,并以 Cloudflare Worker 作为处理讯息的服务器。

所以,请先注册好 Telegram 以及 Cloudflare 的帐号喔!


每日铁人赛热门 Top 10 (1001)

以 10/01 20:00 ~ 10/02 20:00 文章观看数增加值排名

  1. +133 Day23运算子(JavaScript)
    • 作者: jed0210
    • 系列:网页设计入门笔记
  2. +132 Proxmox VE 安装容器:Rocky Linux 8.4 及其它应用 (WordPress, Nextcloud, Odoo)
    • 作者: Jason Cheng (节省哥)
    • 系列:突破困境:企业开源虚拟化管理平台
  3. +126 Day 1 无限手套 AWS 版:掌控一切的 5 + 1 云端必学主题
    • 作者: 用图片高效学程序
    • 系列:无限手套 AWS 版:掌控一切的 5 + 1 云端必学主题
  4. +116 动态记忆体分配
    • 作者: EN
    • 系列:微自干的作业系统轻旅行
  5. +115 [Day 17] 我的资料哪有这麽平衡!第二季 (class weights)
    • 作者: 佑佑来了
    • 系列:AI Facial Expression Recognition: Data, Model, Application
  6. +107 [Day1] Flutter - 简介
    • 作者: 鱼板伯爵
    • 系列:30天 - Flutter 日常
  7. +104 Day30-30天的心得与作者的心声
    • 作者: Eating_o
    • 系列:30Day 从一介凡人羽化成资料科学初学者
  8. +102 从零开始的8-bit迷宫探险【Level 1】一切都是从红白机开始的
    • 作者: 雪花冰
    • 系列:从零开始的8-bit迷宫探险!Swift SpriteKit 游戏开发实战
  9. +102 DAY 20-数位签章-ECDSA
    • 作者: chen_yanlong
    • 系列:学密码学也猜不到你的手机密码
  10. +101 让程序码化为 API Doc
    • 作者: Chris
    • 系列:Vue.js 进阶心法

最近开始玩 CTF
仔细看才发现加密好复杂...


<<:  [Day17] Sorting Band Names without articles

>>:  连续 30 天 玩玩看 ProtoPie - Day 17

【零基础成为 AI 解梦大师秘笈】Day29 - 周易解梦之人工智慧(10)

LSTM 前言 系列文章简介 大家好,我们是 AI . FREE Team - 人工智慧自由团队,这...

【Day 14】深度学习(Deep Learning)

深度学习历史 深度学习三步骤 定义一个模型 衡量函式的好坏 找到最好的函式 步骤一:定义一个模型 类...

Day18 - (补上昨天程序码) + BBT介绍

大家好,我是长风青云。早起跟朋友约、下午无缝接轨去帮弟弟搬宿、晚上一回到家就开始做ppt和发片。累瘫...

[Day 1] Google Data Analytics Professional Certificate 介绍

《30天带你上完 Google Data Analytics Certificate 课程》系列将...

Day 11 - 除了写程序之外还要访谈厂商之体验

昨天的文章有提到计画案有部分的厂商是需要去挖掘的,也因此今天会来分享一个计画案出现前与厂商面谈的心得...