forked from cory/tildefriends
All of the changes that have been sitting on tildepi for ages. For posterity.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3530 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
76
packages/cory/chattest/chattest.js
Normal file
76
packages/cory/chattest/chattest.js
Normal file
@ -0,0 +1,76 @@
|
||||
"use strict";
|
||||
|
||||
//! {
|
||||
//! "chat": {
|
||||
//! "version": 1,
|
||||
//! "settings": [
|
||||
//! {"name": "nickname", "type": "text"},
|
||||
//! {"name": "password", "type": "password"}
|
||||
//! ]
|
||||
//! },
|
||||
//! "category": "libraries"
|
||||
//! }
|
||||
|
||||
let gServices = {};
|
||||
|
||||
class ChatService {
|
||||
constructor(options) {
|
||||
let self = this;
|
||||
self._name = options.name;
|
||||
self._callback = options.callback;
|
||||
setTimeout(function() {
|
||||
self._callback({
|
||||
action: "message",
|
||||
from: "service",
|
||||
to: self._name,
|
||||
message: "Hello, world!",
|
||||
conversation: null,
|
||||
});
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
sendMessage(target, message) {
|
||||
let self = this;
|
||||
setTimeout(function() {
|
||||
self._callback({
|
||||
action: "message",
|
||||
from: target,
|
||||
to: self._name,
|
||||
message: "I saw you say: " + message,
|
||||
conversation: target,
|
||||
});
|
||||
}, 500);
|
||||
return self._callback({
|
||||
action: "message",
|
||||
from: self._name,
|
||||
to: target,
|
||||
message: message,
|
||||
conversation: target,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
core.register("onMessage", function(sender, message) {
|
||||
print(message);
|
||||
let service = gServices[message.name];
|
||||
if (!service) {
|
||||
service = new ChatService(message);
|
||||
gServices[message.name] = service;
|
||||
} else {
|
||||
service._callback = message.callback || service._callback;
|
||||
}
|
||||
|
||||
setTimeout(function() {
|
||||
service._callback({
|
||||
action: "message",
|
||||
from: "service",
|
||||
to: service._name,
|
||||
message: "I got your message.",
|
||||
conversation: null,
|
||||
});
|
||||
}, 500);
|
||||
|
||||
return {
|
||||
sendMessage: service.sendMessage.bind(service),
|
||||
};
|
||||
});
|
Reference in New Issue
Block a user