Custom PHP Page
-
there are teamspeak query packets for node.
-
-
Might be a good opportunity to try and port it to nodejs Even better, if it's similar in functionality to the existing plugin, you could integrate it into the broken plugin and fix it, I'm pretty sure the author @pitaj is still responding to pull requests
-
@rbeer just made a really great post on getting primed for NodeJS here, along with many other great resources. JS will bend your brain a bit, but no one ever became a worse programmer from learning a new language. IMHO JS is even easier to play around with because you can just open a dev console in Chrome and start typing!
-
-
I don't know much PHP, but I think what he wants is a form on his NodeBB custom page that ajaxs the form to the existing PHP page.
-
Anybody can send me an example using this? https://github.com/gwTumm/node-teamspeak
just a basic things to start to test and learn.
-
var TeamSpeakClient = require("node-teamspeak"), util = require("util"); var cl = new TeamSpeakClient("##SERVERIP###"); cl.send("login", {client_login_name: "##USERNAME##", client_login_password: "##PASSWORD##"}, function(err, response, rawResponse){ cl.send("use", {sid: 1}, function(err, response, rawResponse){ cl.send("clientinfo", {clid: "##CLIENTID##"} ,function(err, response, rawResponse){ console.log(util.inspect(response)); }); }); });
this should connect you to your server, log u in, select virtual server 1, and print clientinfo for the client with id ##CLIENTID##.
(slightly modified from the node-teamspeak example)
-
console.log is just a print statement, like echo or print() in php.
-
@belstgut said:
var TeamSpeakClient = require("node-teamspeak"), util = require("util"); var cl = new TeamSpeakClient("##SERVERIP###"); cl.send("login", {client_login_name: "##USERNAME##", client_login_password: "##PASSWORD##"}, function(err, response, rawResponse){ cl.send("use", {sid: 1}, function(err, response, rawResponse){ cl.send("clientinfo", {clid: "##CLIENTID##"} ,function(err, response, rawResponse){ console.log(util.inspect(response)); }); }); });
this should connect you to your server, log u in, select virtual server 1, and print clientinfo for the client with id ##CLIENTID##.
(slightly modified from the node-teamspeak example)
tryed to use it between <script> tang on HTML and nothing appeared
-
That code would go in you server js.
Example:
(function(module) { "use strict"; var TeamSpeakClient = require("node-teamspeak"), util = require("util"); var Plugin = {}; // static:app.load Plugin.init = function(params, callback) { var app = params.router, middleware = params.middleware, controllers = params.controllers; var cl = new TeamSpeakClient("##SERVERIP###"); cl.send("login", {client_login_name: "##USERNAME##", client_login_password: "##PASSWORD##"}, function(err, response, rawResponse){ cl.send("use", {sid: 1}, function(err, response, rawResponse){ cl.send("clientinfo", {clid: "##CLIENTID##"} ,function(err, response, rawResponse){ console.log(util.inspect(response)); }); }); }); callback(); }; module.exports = Plugin; }(module));
To talk between, use Sockets like so:
(function(module) { "use strict"; var TeamSpeakClient = require("node-teamspeak"), util = require("util"); var SocketPlugins = module.parent.require('./socket.io/plugins'); var Plugin = {}; // static:app.load Plugin.init = function(params, callback) { var app = params.router, middleware = params.middleware, controllers = params.controllers; // Define a namespace for your socket listener SocketPlugins.YourPlugin = { // Define the listener formSubmit: function (socket, data, next) { // data is your form results, as an array. console.log(data[0].value); // Prints the value of the first item in your form. var cl = new TeamSpeakClient("##SERVERIP###"); cl.send("login", {client_login_name: "##USERNAME##", client_login_password: "##PASSWORD##"}, function(err, response, rawResponse){ cl.send("use", {sid: 1}, function(err, response, rawResponse){ cl.send("clientinfo", {clid: "##CLIENTID##"} ,function(err, response, rawResponse){ console.log(util.inspect(response)); // Send a response back to the client. next(null, {whatever: datayouwant}); }); }); }); } }; callback(); }; module.exports = Plugin; }(module));
client js:
<form>...</form> <script> $( "form" ).submit(function( event ) { socket.emit( 'plugins.YourPlugin.formSubmit', $( this ).serializeArray(), function (err, data) { if (data) console.log("Got response from server."); }); event.preventDefault(); }); </script>
Check out the socket.io docs and jquery docs.