使用 JavaScript 和 GrammY 开发 Telegram 机器人

本篇教程将带你从零开始一步步开发一个简单的 Telegram 机器人,基于 GrammY 框架,使用 JavaScript 来编写代码,并将其部署到 Zeabur。

GrammY 框架是什么

  • GrammY - The Telegram Bot Framework

使用 JavaScript 开发 Telegram 机器人有多种选择,例如 node-telegram-bot-api 或 Grammy。第一个是 Telegram 的 Node.js 的 SDK ,GrammY 则是一个新兴的成熟的框架,预先封装好了很多功能,简化我们的开发流程。

Zeabur 是什么

Zeabur 是一个服务部署平台,帮助开发者们很方便地一键部署自己的服务,不再需要担心服务器基础设施。

为了持续运行 Telegram 机器人,我们有两种选择:

  • 本地运行,这就需要电脑保持联网和启动状态
  • 部署上云,开发完毕一键部署到 Zeabur ,持续稳定运行机器人服务

创建机器人并获取令牌

Telegram 创建机器人的流程很简单,打开 Telegram ,搜索 BotFater ,你也可以点击这个链接直达。在聊天页面,按照引导发送 /newbot 命令,创建一个机器人,复制他的令牌。

项目初始化

前置要求

  • 电脑上安装好了 Node.js 环境
  • 安装好了 npm/pnpm 这类包管理器

新建项目

首先,创建一个新文件夹以存放你的机器人代码,然后再该目录下打开终端,键入命令 npm init 生成默认 package.json ,然后再 npm install grammy 安装 grammy 依赖

创建一个 bot.js 文件:

javascript 复制代码
const { Bot } = require("grammy");

const bot = new Bot("在这里填入你的令牌"); 

// 监听信息
bot.on("message:text", (ctx) => ctx.reply("已收到: " + ctx.message.text));

// 启动机器人
bot.start();

此时,你就可以通过以下命令运行你的机器人。

复制代码
node bot.js

运行机器人后,你就可以向刚刚在 Telegram 创建的机器人发送消息,他则会回复"已收到 + 你的信息内容"

部署到 Zeabur

开发完毕后,就可以把你的机器人部署上云,这边推荐使用 Zeabur 来方便地一键部署。

首先打开 Zeabur 的官网,使用 GitHub 注册一个新账号,进入到控制台后,点击创建新项目并选择你喜欢的区域,此处我们选择香港的机房。

创建完毕后,在项目页面点击创立新服务,选择从 GitHub 仓库部署,选择你刚刚创立的机器人仓库,点击导入,Zeabur 就会自动开始部署你的机器人。等待大概一分钟后,部署就能完成了,此时就可以回去和机器人愉快的聊天了~

部署 Telegram 机器人模板

如果你只想拥有一个机器人,能让你在 Telegram 使用 ChatGPT 或者 Gemini ,你也可以直接部署 Zeabur 模板市场里的几个机器人,例如 Gemini-Telegram-Bot 或者 ChatGPT-Telegram-Bot ,点击部署后,Zeabur 会自动为你创建一个对应的仓库,你只需要在部署时填入你的机器人令牌和 API key 就可以开始使用了

相关推荐
数据掘金4 小时前
百度统计后台页面数据异常?从手动调用时机开始排查
前端
hunteritself4 小时前
10 层 4K 实时剪辑,国产工作站进入广电制作核心
大数据·前端·人工智能·深度学习·transformer
踩着两条虫4 小时前
我在浏览器里“盖”了一个村:Vue + Three.js 大屏开发踩坑记
前端·vue.js·three.js
mbshqqb4 小时前
TypeScript基础教程之同步生成器
前端·javascript·typescript
嘟嘟同学和妮妮同学4 小时前
【升级】一个中国历史可视化站:皇帝时间线梳理、古代思想流派、诗词鉴赏 (2)
前端·html
暗夜行者之光5 小时前
LangGraph + MCP 实战:构建"自然语言查数据"的 ChatBI Agent
前端·后端
一tiao咸鱼5 小时前
还在手动海投?我做了个 AI 求职助手,自动筛选 BOSS 职位再精准投递
前端·后端·面试
尤水就下5 小时前
🔥预热:在线文档的 block 架构是如何实现的(未完待续...)
前端·javascript·架构
全栈项目管理程序猿5 小时前
ArcGIS JS 基础教程(29):CSVLayer 表格点位图层
前端·javascript
骑着蜗牛撵大象3276 小时前
豆包 Seed 驱动的记账智能体:从拍票抽取到月报生成的全链路落地记录
java·前端·javascript·结构化输出·豆包seed·多模态识别·记账系统