Created
December 8, 2015 22:40
-
-
Save blizzarddreams/f6fd156729fcc70bb6c9 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function addUserList(e,s){Object.keys(e).forEach(function(n){var a=e[n],t=md5(n).substr(0,6),c="<p class='user'>"+a+" <span style='color:#"+t+";'>"+n+"</p>";"&"===a&&(s===current_channel&&$("#user_list").append(c),void 0===users.get(s)&&users.set(s,[]),users.get(s).push(c))}),Object.keys(e).forEach(function(n){var a=e[n],t=md5(n).substr(0,6),c="<p class='user'>"+a+" <span style='color:#"+t+";'>"+n+"</p>";"@"===a&&(s===current_channel&&$("#user_list").append(c),void 0===users.get(s)&&users.set(s,[]),users.get(s).push(c))}),Object.keys(e).forEach(function(n){var a=e[n],t=md5(n).substr(0,6),c="<p class='user'>"+a+" <span style='color:#"+t+";'>"+n+"</p>";"+"===a&&(s===current_channel&&$("#user_list").append(c),void 0===users.get(s)&&users.set(s,[]),users.get(s).push(c))}),Object.keys(e).forEach(function(n){var a=e[n],t=md5(n).substr(0,6),c="<p class='user'>"+a+" <span style='color:#"+t+";'>"+n+"</p>";""===a.trim()&&(s===current_channel&&$("#user_list").append(c),void 0===users.get(s)&&users.set(s,[]),users.get(s).push(c))})}var socket=io(),messages=new Map,users=new Map,current_channel="",username="";$(document).ready(function(){$(document).on("click",".part-channel-button",function(e){$(this).closest("li").text().trim()===current_channel.trim()&&($("#messages").html(""),$("#user_list").html("")),$(this).closest("li").remove(),socket.emit("part channel",{channel:text})}),$(document).on("click",".channel",function(e){return $("#channel_list").find(".active").text()===$(this).text()?!1:($("#channel_list").find(".active").removeClass("active"),$(this).addClass("active"),$("#messages").html(""),current_channel=$(this).text(),$("#messages").append(messages.get(current_channel)),$("#messages").prepend("<div id='user-list-div'><div id='user_list'></div></div>"),void $("#user_list").html(users.get(current_channel)))}),$(".pre-channel-button").click(function(){var e=$(this).attr("data-src"),s=$(this).attr("data-channel");$("#channels").val(s),$("#server").val(e)}),$("#connect-to-irc").submit(function(e){e.preventDefault(),username=$("#username").val(),$("#user-name").html(window.username),$("#new-irc").fadeOut("slow");var s=$("#password").val()||"",n=$("#server").val(),a=$("#channels").val().replace(" ","").split(","),t=!1;a.forEach(function(e){t===!1?(current_channel=e,$("#channel_list").append("<li class='channel active'>"+e+"<i class='fa fa-times part-channel-button'></i></li>"),t=!0):$("#channel_list").append("<li class='channel'>"+e+"<i class='fa fa-times part-channel-button'></i></li>")}),$("#messages").append("<p class='announcement'>*** Connecting to "+n+" <i class='fa fa-spinner fa-pulse'></i></p>"),socket.emit("connected",{username:username,server:n,channels:a,password:s})}),$("#send-message").submit(function(e){e.preventDefault();var s=$("#message-box").val();if(""===s)return!1;if("/"===s[0])return $("#message-box").val(""),socket.emit("command",s.substr(1));$("#message-box").val("");var n=$(".active").text();void 0===messages.get(n)&&messages.set(n,[]),s=$("<p>").text(s).html();var a="<p class='message'>["+moment().format("H:mm:ss")+"] <b style='color:#"+md5(window.username).substr(0,6)+"'>"+window.username+"</b>: "+s+"</p>";socket.emit("sent message",{message:s,channel:n}),void 0===messages.get(n)&&messages.set(data.channel,[]),$("#messages").append(a),messages.get(n).push(a)}),socket.on("message",function(e){e.from=$("<p>").text(e.from).html();var s="<p class='message'>["+moment().format("H:mm:ss")+"] <b style='color:#"+md5(e.from).substr(0,6)+"'>"+e.from+"</b>: "+e.message+"</p>";e.channel===current_channel&&$("#messages").append(s),void 0===messages.get(e.channel)&&messages.set(e.channel,[]),messages.get(e.channel).push(s)}),socket.on("pm",function(e){e.from=$("<p>").text(e.from).html();var s="<p class='message'>["+moment().format("H:mm:ss")+"] <b style='color:#"+md5(e.from).substr(0,6)+"'>"+e.from+"</b>: "+e.message+"</p>";if(e.from===current_channel&&$("#messages").append(s),void 0===messages.get(e.from)&&messages.set(e.from,[]),0===$("li:contains("+e.from+")").length&&$("#channel_list").append("<li class='channel'>"+e.from+"<i class='fa fa-times part-channel-button'></i></li>"),"granted"===Notification.permission){new Notification(""+e.from+": "+e.message)}else"granted"!==Notification.permission&&Notification.requestPermission(function(s){if("granted"===s){new Notification(""+e.from+": "+e.message)}});messages.get(e.from).push(s)}),socket.on("topic",function(e){var s="<p class='topic'>"+e.topic+"</p>";e.channel===current_channel&&$("#messages").append(s),void 0===messages.get(e.channel)&&messages.set(e.channel,[]),messages.get(e.channel).push(s)}),socket.on("messaged user",function(e){$("#channel_list").append("<li class='channel'>"+e.user+"<i class='fa fa-times part-channel-button'></i></li>")}),socket.on("joined channel",function(e){$("#channel_list").append("<li class='channel'>"+e.channel+"<i class='fa fa-times part-channel-button'></i></li>")}),socket.on("part channel",function(e){e.channel.indexOf("#")>-1&&e.channel===current_channel&&($("#messages").html(""),$("#user_list").html("")),$("li:contains("+e.channel+")").remove()}),socket.on("names",function(e){addUserList(e.nicks,e.channel)}),socket.on("notice",function(e){var s="<p class='announcement'>"+e.text+"</p>";void 0===messages.get(e.channel)&&messages.set(e.channel,[]),e.channel===current_channel&&$("#messages").append(s),messages.get(e.channel).push(s)}),socket.on("ctcp",function(e){var s="<p class='announcement'>"+e+"</p>";void 0===messages.get(current_channel)&&messages.set(current_channel,[]),$("#messages").append(s),messages.get(current_channel).push(s)}),socket.on("new nick",function(e){window.username=e.nick,$("#user-name").html(window.username)}),socket.on("nick",function(e){var s="<p class='announcement'>"+e.old+" is now "+e["new"]+".</p>";e.channels.forEach(function(e){e===current_channel&&$("#messages").append(s),void 0===messages.get(e)&&messages.set(e,[]),messages.get(e).push(s)})}),socket.on("join",function(e){var s="<p class='announcement'>"+e.nick+" joined</p>";e.channel===current_channel&&$("#messages").append(s),void 0===messages.get(e.channel)&&messages.set(e.channel,[]),messages.get(e.channel).push(s)}),socket.on("error",function(e){var s="<p class='error'>Error: "+e+". Reload the page please.</p>";$("#messages").append(s)}),socket.on("part",function(e){var s="<p class='announcement'>"+e.nick+" left ("+e.reason+")";e.channel===current_channel&&$("#messages").append(s),void 0===messages.get(e.channel)&&messages.set(e.channel,[]),messages.get(e.channel).push(s)}),$("#messages").animate({scrollTop:$("#messages").prop("scrollHeight")},50)}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment