写一个福利 Telegram 机器人

img

官网

创建 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

发布了272 篇原创文章 · 获赞 59 · 访问量 43万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览