You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
766 B

  1. const net = require("net")
  2. let server = {}
  3. let userlist = {}
  4. server.create = function create(){
  5. return net.createServer((socket) => {
  6. socket.on('data', function(data) {
  7. let tokenized = data.toString("ascii").split("\r\n")[0].split(" ")
  8. switch (tokenized[0].toUpperCase()) {
  9. case "PING":
  10. if (tokenized[1] && tokenized[1] === "irc.example.com") {
  11. socket.write("PONG irc.example.com\r\n")
  12. }
  13. break;
  14. default:
  15. console.error(`Unknown command: ${tokenized[0].toUpperCase()}`);
  16. }
  17. }).on('error', (err) => {
  18. console.error(err);
  19. })
  20. }).on('error', (err) => {
  21. console.error(err);
  22. throw err;
  23. });
  24. }
  25. module.exports = server