📅  最后修改于: 2023-12-03 14:42:37.183000             🧑  作者: Mango
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!');
});
除了简单的回复消息,机器人还可以做很多事情,例如:
这里只展示其中一例:处理命令。我们可以根据用户发送的消息内容来执行不同的操作。例如,当用户发送 /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!');
});
这里只是一个简单的使用示例,机器人的功能还很丰富,可以根据自己的需要进行定制。具体使用方法可以参考官方文档: