創建 bot
根據文檔,在 telegram 裏面添加 @BotFather, 然後跟他聊天來創建機器人
拿到 token
測試
在瀏覽器中(翻牆)輸入 https://api.telegram.org/botYOU_TOKEN/getMe
測試:
返回如下格式,說明成功。
{
"ok": true,
"result": {
"id": 249208551,
"first_name": "LinuxC",
"username": "LinuxC_bot"
}
}
編寫 api
我使用的 node 寫的, 參考 telegram-node-bot
首先安裝 telegram-node-bot
$ npm install --save telegram-node-bot
然後創建 app.js
'use strict'
var api = require('./api')
const Telegram = require('telegram-node-bot')
const TelegramBaseController = Telegram.TelegramBaseController
const tg = new Telegram.Telegram('YOU_TOKEN')
class PingController extends TelegramBaseController{
pingHandler($){
api.getMZ(function(data){
$.sendMessage(data)
})
}
get routes(){
return { 'ping':'pingHandler'}
}
}
tg.router
.when(['ping'],new PingController())
抓取圖片的 api.js
, 抓取圖片可以參考前面的文章 Node.js 爬微信文章
'use strict'
var http = require('http')
var cheerio = require('cheerio')
var url = 'http://www.kmeitu.com/';
function getPicture(html){
var array = []
var $ = cheerio.load(html)
var items = $('.lz-img')
items.each(function (item) {
var url = $(this).attr('data-src').replace(/\s+/g, '')
array.push(url)
})
return array[Math.floor(Math.random()*array.length)]
}
exports.getMZ = function(callback){
http.get(url, function (res) {
var html = ''
res.on('data', function (data) {
html += data
})
res.on('end', function () {
//console.log(html)
var array = getPicture(html)
callback(array)
})
}).on('error', function (e) {
console.log('get html error')
})
}
然後運行 node app.js
即可
注意點: 全程需要 FQ(跟 telegram 連接用), app.js
方法服務器運行(我使用的 pm2
)。
文章來自: http://hanks.xyz