Bridged WebSocket Events and REST Requests. Now REST Requests will respond exactly like WS Events to data

This commit is contained in:
hydrabolt
2016-04-24 16:30:58 +01:00
parent c42e303b7b
commit 1676a5e73f
12 changed files with 139 additions and 23 deletions

View File

@@ -0,0 +1,42 @@
'use strict';
const Action = require('./Action');
const Constants = require('../../util/Constants');
const Message = require('../../structures/Message');
class MessageDeleteAction extends Action {
constructor(client) {
super(client);
this.timeouts = [];
}
handle(data) {
let client = this.client;
let channel = client.store.get('channels', data.channel_id);
if (channel) {
let message = channel.store.get('messages', data.id);
if (message && !message._deleted) {
message._deleted = true;
this.scheduleForDeletion(channel, message.id);
}
return {
m: message,
};
}
return {
m: null,
};
}
scheduleForDeletion(channel, id) {
this.timeouts.push(
setTimeout(() => channel.store.remove('messages', id),
this.client.options.rest_ws_bridge_timeout)
);
}
};
module.exports = MessageDeleteAction;