Initial commit
This commit is contained in:
47
Creative/dynmap/web/js/chat.js
Normal file
47
Creative/dynmap/web/js/chat.js
Normal file
@@ -0,0 +1,47 @@
|
||||
|
||||
componentconstructors['chat'] = function(dynmap, configuration) {
|
||||
var me = this;
|
||||
|
||||
if(dynmap.getBoolParameterByName("hidechat"))
|
||||
return;
|
||||
|
||||
// Provides 'chat'-events by monitoring the world-updates.
|
||||
$(dynmap).bind('worldupdate', function(event, update) {
|
||||
swtch(update.type, {
|
||||
chat: function() {
|
||||
$(dynmap).trigger('chat', [{source: update.source, name: update.playerName, text: update.message, account: update.account,
|
||||
channel: update.channel}]);
|
||||
}
|
||||
});
|
||||
});
|
||||
var pname = null;
|
||||
if(configuration.allowurlname) {
|
||||
pname = dynmap.getParameterByName("chatname");
|
||||
if(pname == "") pname = null;
|
||||
}
|
||||
|
||||
if (dynmap.options.allowwebchat) {
|
||||
// Accepts 'sendchat'-events to send chat messages to the server.
|
||||
$(dynmap).bind('sendchat', function(event, message) {
|
||||
var data = '{"name":'+JSON.stringify(pname?pname:"")+',"message":'+JSON.stringify(message)+'}';
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
contentType: "application/json; charset=utf-8",
|
||||
url: config.url.sendmessage,
|
||||
data: data,
|
||||
dataType: 'json',
|
||||
success: function(response) {
|
||||
if(response.error != "none") {
|
||||
var msg = dynmap.options['msg-chatnotallowed'];
|
||||
$(dynmap).trigger('chat', [{source: 'me', name: 'Error', text: msg }]);
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
if (xhr.status === 403) {
|
||||
$(dynmap).trigger('chat', [{source: 'me', name: 'Error', text: dynmap.options.spammessage.replace('%interval%', dynmap.options['webchat-interval'])}]);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user