使用 JS 建立一个 Mixin Messenger 机器人

官方推荐使用 golang ,对于前端人员的学习门槛还是有一些。所以在这里发布一个 js 写的教程。

读完此篇文章您将获得:

一个收到消息会自动回复 hello mixin 的机器人。

1. 开发基础

  • node 环境,笔者目前使用v10.15.1,更高亦可。
  • JavaScript 语法基础
  • Mixin 机器人 sessionsecret

2. 开发之前

能够找到并读到这篇文章,想必对 Mixin 以及 Mixin Messenger 都比较熟知。所以申请 Mixin 机器人的 sessionsecret 并不是本文的主要内容。如有需要请进传送门 Mixin Messenger 机器人接入指南

这个时候,你应该已经获取到了 Mixin 的 session 文件 和 secret 信息。

session文件: 类似 keystore-7000xxxxxx.json 的一个文件。
secret: 64 位的一个长字符串。

3. 正式开发

其实开发也比较简单。主要依赖 npm 上的一个库 mixin-node-sdk

  1. 创建并初始化工程
mkdir js-mixin-bot
cd js-mixin-bot
touch index.js
npm init -y
  1. 安装核心库
npm install mixin-node-sdk

推荐使用 yarn ,或者 cnpm 亦可。
3. 开始开发

可以先仔细看看 中文文档

const { MixinSocket } = require('mixin-node-sdk')

const CLIENT_CONFIG = {
    client_id: '2cc0c869-xxxx-xxxx-xxxx-5b4a99fea2a9',
    client_secret: 'f3689c1dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx562b4ff12882fc3bdf',
    pin: '918869',
    session_id: '1510f69c-xxxx-xxxx-xxxx-32560e710cb0',
    pin_token: 'LLqI71tUUG0T6J1fZ7piKjrzx/hYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1BH7H+NXlV5mLgZ/TGEyPf0UdhgQWZW+33jSveg2YGczfrH667XqwMsO0poYUE0SKy+DlEmV6L4yKG40/aAQ9wNcMpW8zDm7O/r5OtH9o=',
    private_key: `-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcGc250iYf+F7aMr
xPmKo+zlKCxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/Q2xG+F5/ouLfu3
1cBwdZVYoJxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxGkLetuu6QIDAQAB
AoGAFoVnjSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxE7gnhOc8S4SO96F
7FO3ITwVuKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyD/U2kzT0iCwCc4
yr8i6IJ2L4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxQDRn9OIpGLoFE16
FMDe3eHk40xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKcWaOsOzWnin9v1
v4mLyw3XAkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxNytyRrUNjP9hGIp
UDsh0XJpJcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx6qCn1YDEn3b5iq8
ta/775fPH2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkgUXm6KRQJAPP2m
2rZhA5abZExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrnF+cyi5ufEfMcz
l4LzCpjTmfxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxfE8l2D1wQvwsa1/
fJ8KHnfjWjERGVnquCUm73MDJnXxqbivoXolv4tkuA==
-----END RSA PRIVATE KEY-----
`
}

let socket_client = new MixinSocket(CLIENT_CONFIG)
// 1.  重写这个接受消息的函数
// 注意:有一个参数 message
socket_client.get_message_handler = async function (message) {
    if (!message.action || message.action === 'ACKNOWLEDGE_MESSAGE_RECEIPT' || message.action === 'LIST_PENDING_MESSAGES') {
        return;
    }
    if (message.error) {
        console.log(message.error)
        return
    }
    if (message.data.category === '') return
    // 获取消息
    console.log(message)
    // 执行已读消息
    this.read_message(message)
    // 发送文本消息
    this.send_text('hello mixin', message)
}

// 2. 打开 websocket
socket_client.start()
  1. 启动
node index.js
  1. 结束…
    去掉注释和配置的 config 信息,大概只需要4~5行就完成

  2. 去你的机器人里试试吧。
    发送任意信息,都会给你回复 hello mixin 的。

你可能感兴趣的:(区块链)