📜  javascript 电报机器人 - Javascript (1)

📅  最后修改于: 2023-12-03 14:42:37.183000             🧑  作者: Mango

JavaScript 电报机器人

简介

JavaScript 电报机器人是一个使用 JavaScript 编写的自动化机器人。它可以与电报服务器通信,接收和发送消息,完成各种自动化任务。它可以用作聊天机器人、Twitter 机器人、自动化脚本等。

安装

首先,需要在电报上获取机器人的 API Token。具体方法可以参考 这里

然后,在命令行中使用 npm 安装 node-telegram-bot-api

npm install node-telegram-bot-api
使用

加载所需的模块:

const TelegramBot = require('node-telegram-bot-api');

创建机器人,传入 API Token:

const bot = new TelegramBot(TOKEN, {polling: true});

这里我们使用了 polling 方法,即轮询电报服务器以获取新消息。也可以使用Webhook进行实时通知的方式。具体使用方法可以参考官方文档

接着,我们监听收到的消息:

bot.on('message', (msg) => {
  const chatId = msg.chat.id;
  bot.sendMessage(chatId, 'Received your message!');
});

当我们接收到一条消息时,会向发送者回复一条消息。

完整代码如下:

const TelegramBot = require('node-telegram-bot-api');
const TOKEN = 'YOUR_API_TOKEN_HERE';

const bot = new TelegramBot(TOKEN, {polling: true});

bot.on('message', (msg) => {
  const chatId = msg.chat.id;
  bot.sendMessage(chatId, 'Received your message!');
});
进阶使用

除了简单的回复消息,机器人还可以做很多事情,例如:

  • 发送图片和文件
  • 处理命令
  • 记录用户数据
  • 与其他API交互

这里只展示其中一例:处理命令。我们可以根据用户发送的消息内容来执行不同的操作。例如,当用户发送 /start 命令时,我们可以向他回复一条欢迎消息:

bot.onText(/\/start/, (msg) => {
  const chatId = msg.chat.id;
  bot.sendMessage(chatId, 'Welcome to my bot!');
});

完整代码如下:

const TelegramBot = require('node-telegram-bot-api');
const TOKEN = 'YOUR_API_TOKEN_HERE';

const bot = new TelegramBot(TOKEN, {polling: true});

bot.onText(/\/start/, (msg) => {
  const chatId = msg.chat.id;
  bot.sendMessage(chatId, 'Welcome to my bot!');
});

bot.on('message', (msg) => {
  const chatId = msg.chat.id;
  bot.sendMessage(chatId, 'Received your message!');
});
结语

这里只是一个简单的使用示例,机器人的功能还很丰富,可以根据自己的需要进行定制。具体使用方法可以参考官方文档: