请跟查看官方提供的文件
https://core.telegram.org/bots/api#available-methods
查询 sendMessage 然後看下面一系列的 send 来制作回声
开始实作回声所有类型的讯息
但有一种类型比较特别,他是会分多个档案传进来的这边先不处理
先修改 main 档案让她进行判断
请主要看 parseDataToTelegram 这个函式的判断
main.js
const { sendBotMessage } = require("./telegramItem");
function receiveTelegram(data) {
data = parseDataToTelegram(data);
sendBotMessage(data);
}
/**
* @description 用来分析与转换对应的讯息类型
*
* @param {*} estringa
* @return {*}
*/
function parseDataToTelegram(estringa) {
var payload = {};
if (estringa.message.text) {
payload = {
method: "sendMessage",
text: estringa.message.text,
};
} else if (estringa.message.sticker) {
payload = {
method: "sendSticker",
sticker: estringa.message.sticker.file_id,
};
} else if (estringa.message.photo) {
array = estringa.message.photo;
text = array[1];
payload = {
method: "sendPhoto",
photo: text.file_id,
caption: estringa.message.caption ? estringa.message.caption : "",
};
} else if (estringa.message.video) {
vidoe = estringa.message.video;
payload = {
method: "sendVideo",
video: vidoe.file_id,
caption: estringa.message.caption ? estringa.message.caption : "",
};
} else if (estringa.message.animation) {
animation = estringa.message.animation;
payload = {
method: "sendAnimation",
animation: animation.file_id,
caption: estringa.message.caption ? estringa.message.caption : "",
};
}
payload.chat_id = estringa.message.chat.id;
return payload;
}
module.exports = {
receiveTelegram,
};
在更改telegramItem.js,现在只负责送出
const axios = require("axios");
/**
* @description 发送讯息,请换成自己的机器人 token
*
* @param {object} data telegram bot api format
*/
function sendBotMessage(data) {
const url =
"https://api.telegram.org/bot" +
"1978609847:AAHg8e-V_bNx78PCZok8uYzN8BYwlRScfgA" +
"/";
// 如果他是 text 讯息的话就这样回声
axios({
url,
method: "post",
data,
})
.then((data) => {
console.log("Send Telegram:");
console.log(data.data);
})
.catch((e) => {
console.log("Send Telegram: Error:");
console.log(e);
});
}
module.exports = {
sendBotMessage,
};
基本上要上传档案给机器人传是很麻烦的
官方建议是先是把档案传给这个机器人拿到对应 file_id 後在回传
有问题可以先参考文件关於 method 对应的文件
今年的疫情蛮严重的,希望大家都过得安好,希望疫情快点过去,能回到一些线下技术聚会的时光~ 今天目标:...
爬虫事前准备 本篇章之後将进入爬虫环节,但开始撰写程序前,我们先来安装会使用的套件吧! 本系列文将使...
这篇开始使用 Tag Helper 来 Render 出需要的 Html 控制项 name,方便在 ...
Здравейте,我是Charlie! 在Day16当中,我们完成了前端的购物车新增跟删除,而今天...
1. 管理员模式运行cmd,输入命令:DISM /online /Get-CurrentEditio...