private static IrcClient Connect(HandleIRCMessage pReponses = null, string pChannel = "#theonlysykan") { var username = File.ReadAllText("Username.USER"); var password = File.ReadAllText("SecretTokenDontLOOK.TOKEN"); if (!password.ToLower().Contains("oauth:")) { password = "******" + password; } var client = new IrcClient("irc.chat.twitch.tv:6667", new IrcUser(username, username, password)); client.ConnectionComplete += (s, e) => { client.JoinChannel(pChannel); }; client.ChannelMessageRecieved += (s, e) => { //[email protected] var anotherUsername = e.IrcMessage.Prefix.Split('!')[0]; var messageInfo = new IRCMessage() { userName = anotherUsername, message = e.IrcMessage.Parameters[1], channel = e.IrcMessage.Parameters[0] }; pReponses?.Invoke(messageInfo); }; client.ConnectAsync(); return(client); }
public static void CheckCommand(IRCMessage pMessageInfo, String[] Commands, HandleIRCMessage pMethod) { var split = pMessageInfo.message.Split(Commands, StringSplitOptions.None); if (split.Length > 1) { try { pMessageInfo.command = split[0]?.Trim() ?? String.Empty; pMessageInfo.commandParam = split[1]?.Trim() ?? String.Empty; ThreadPool.QueueUserWorkItem(x => pMethod(pMessageInfo)); } catch (Exception ex) { Logger.Log(ex.ToString()); } } }
public static void Start(HandleIRCMessage pReponses = null, string pChannel = "#theonlysykan") { MainIRC_Client = Connect(pReponses, pChannel); }
public static void Init(HandleIRCMessage pPrintMessage) { HandlePrintConsoleMessage = pPrintMessage; }