mirror of
https://github.com/wahyd4/sohub.git
synced 2026-08-25 21:06:11 +10:00
68 lines
2.5 KiB
JavaScript
68 lines
2.5 KiB
JavaScript
var fs = require('fs');
|
|
var oss = require('nn-oss');
|
|
var request = require('request');
|
|
|
|
var MessageService = {
|
|
handleMessage: function (message, callback) {
|
|
if (message.MsgType === 'text') {
|
|
return this.processText(message, callback);
|
|
|
|
} else if (message.MsgType === 'image') {
|
|
return this.processImage(message, callback);
|
|
} else {
|
|
res.reply('呜呜,你发的消息我看不懂。');
|
|
}
|
|
},
|
|
processText: function (message, callback) {
|
|
if (message.Content.trim() === 'help') {
|
|
callback(null, '菜单:\n 1. 设置用户名\n 2.选择盒子\n');
|
|
}
|
|
if (Message.isValidNoticeMessage(message.Content)) {
|
|
message.MsgType = 'notice';
|
|
}
|
|
Message.create({
|
|
content: message.Content,
|
|
createTime: new Date().getTime(),
|
|
fromUser: message.FromUserName,
|
|
toUser: message.ToUserName,
|
|
messageType: message.MsgType,
|
|
messageId: message.MsgId
|
|
}).done(function (err, message) {
|
|
if (err) {
|
|
callback(new Error(err));
|
|
}
|
|
callback(null, '你的消息:' + message.content + '已收到');
|
|
})
|
|
|
|
},
|
|
processImage: function (message, callback) {
|
|
var tempFileName = new Date().getTime() + '.jpeg';
|
|
request(message.PicUrl,function () {
|
|
var client = new oss({
|
|
accessId: process.env.ACCESS_ID,
|
|
accessKey: process.env.ACCESS_KEY
|
|
});
|
|
|
|
client.put_object({ bucket: process.env.BUCKET, object: tempFileName, srcFile: tempFileName, gzip: false},
|
|
function (err, results) {
|
|
if (err) throw err;
|
|
//store image in database
|
|
Image.create({
|
|
pictureUrl: process.env.IMAGE_BASE_URL + '/' + tempFileName,
|
|
createTime: new Date().getTime(),
|
|
fromUser: message.FromUserName,
|
|
toUser: message.ToUserName,
|
|
messageType: message.MsgType,
|
|
messageId: message.MsgId
|
|
}).done(function (err, message) {
|
|
console.log('图片:' + message.pictureUrl + '发布成功');
|
|
callback('图片已经成功收到!');
|
|
});
|
|
}
|
|
);
|
|
}).pipe(fs.createWriteStream(tempFileName));
|
|
|
|
}
|
|
}
|
|
|
|
module.exports = MessageService; |