示例#1
0
        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);
        }
示例#2
0
        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());
                }
            }
        }
示例#3
0
 public static void Start(HandleIRCMessage pReponses = null, string pChannel = "#theonlysykan")
 {
     MainIRC_Client = Connect(pReponses, pChannel);
 }
示例#4
0
 public static void Init(HandleIRCMessage pPrintMessage)
 {
     HandlePrintConsoleMessage = pPrintMessage;
 }