示例#1
0
        private void Informations(string rev, string title, string author, string commiturl)
        {
            if (!sIrcBase.Networks[_servername].Online)
            {
                return;
            }

            var db = SchumixBase.DManager.QueryFirstRow("SELECT Channel, ShortUrl, Colors FROM hginfo WHERE Name = '{0}' And ServerName = '{1}'", _name, _servername);

            if (!db.IsNull())
            {
                string[] channel = db["Channel"].ToString().Split(SchumixBase.Comma);

                foreach (var chan in channel)
                {
                    string language = sLManager.GetChannelLocalization(chan, _servername);

                    if (db["ShortUrl"].ToBoolean())
                    {
                        commiturl = BitlyApi.ShortenUrl(commiturl).ShortUrl;
                    }

                    if (db["Colors"].ToBoolean())
                    {
                        if (_website == "google")
                        {
                            if (title.Contains(SchumixBase.Colon.ToString()))
                            {
                                sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.HgRss("google", language), _name, author, commiturl);
                                sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.HgRss("google2", language), _name, rev.Substring(0, 10), author, title.Substring(title.IndexOf(SchumixBase.Colon) + 1));
                            }
                        }
                        else if (_website == "bitbucket")
                        {
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.HgRss("bitbucket", language), _name, author, commiturl);
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.HgRss("bitbucket2", language), _name, rev.Substring(0, 10), author, title.Substring(title.IndexOf(SchumixBase.Colon) + 1));
                        }
                    }
                    else
                    {
                        if (_website == "google")
                        {
                            if (title.Contains(SchumixBase.Colon.ToString()))
                            {
                                sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.HgRss("nocolorsgoogle", language), _name, author, commiturl);
                                sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.HgRss("nocolorsgoogle2", language), _name, rev.Substring(0, 10), author, title.Substring(title.IndexOf(SchumixBase.Colon) + 1));
                            }
                        }
                        else if (_website == "bitbucket")
                        {
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.HgRss("nocolorsbitbucket", language), _name, author, commiturl);
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.HgRss("nocolorsbitbucket2", language), _name, rev.Substring(0, 10), author, title.Substring(title.IndexOf(SchumixBase.Colon) + 1));
                        }
                    }

                    Thread.Sleep(1000);
                }
            }
        }
示例#2
0
        private void Informations(string rev, string title, string author, string commiturl)
        {
            if (!sIrcBase.Networks[_servername].Online)
            {
                return;
            }

            var db = SchumixBase.DManager.QueryFirstRow("SELECT Channel, ShortUrl, Colors FROM gitinfo WHERE Name = '{0}' AND Type = '{1}' And ServerName = '{2}'", _name, _type, _servername);

            if (!db.IsNull())
            {
                string[] channel = db["Channel"].ToString().Split(SchumixBase.Comma);

                foreach (var chan in channel)
                {
                    string language = sLManager.GetChannelLocalization(chan, _servername);

                    if (db["ShortUrl"].ToBoolean())
                    {
                        commiturl = BitlyApi.ShortenUrl(commiturl).ShortUrl;
                    }

                    if (db["Colors"].ToBoolean())
                    {
                        if (_website == "github")
                        {
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.GitRss("github", language), _name, (author == "no text" ? "?" : author), _type, commiturl);
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.GitRss("github2", language), _name, _type, rev.Substring(0, 10), (author == "no text" ? "?" : author), title);
                        }
                        else if (_website == "gitweb")
                        {
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.GitRss("gitweb", language), _name, (author == "no text" ? "?" : author), _type, commiturl);
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.GitRss("gitweb2", language), _name, _type, rev.Substring(0, 10), (author == "no text" ? "?" : author), title);
                        }
                    }
                    else
                    {
                        if (_website == "github")
                        {
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.GitRss("nocolorsgithub", language), _name, (author == "no text" ? "?" : author), _type, commiturl);
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.GitRss("nocolorsgithub2", language), _name, _type, rev.Substring(0, 10), (author == "no text" ? "?" : author), title);
                        }
                        else if (_website == "gitweb")
                        {
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.GitRss("nocolorsgitweb", language), _name, (author == "no text" ? "?" : author), _type, commiturl);
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.GitRss("nocolorsgitweb2", language), _name, _type, rev.Substring(0, 10), (author == "no text" ? "?" : author), title);
                        }
                    }

                    Thread.Sleep(1000);
                }
            }
        }
示例#3
0
        private void Informations(string bugcode, string title, string link)
        {
            if (!sIrcBase.Networks[_servername].Online)
            {
                return;
            }

            var db = SchumixBase.DManager.QueryFirstRow("SELECT Channel, ShortUrl, Colors FROM mantisbt WHERE Name = '{0}' And ServerName = '{1}'", _name, _servername);

            if (!db.IsNull())
            {
                string[] channel = db["Channel"].ToString().Split(SchumixBase.Comma);

                foreach (var chan in channel)
                {
                    string language = sLManager.GetChannelLocalization(chan, _servername);

                    if (db["ShortUrl"].ToBoolean())
                    {
                        link = BitlyApi.ShortenUrl(link).ShortUrl;
                    }

                    if (db["Colors"].ToBoolean())
                    {
                        if (title.Contains(SchumixBase.Colon.ToString()))
                        {
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.MantisBTRss("Text", language), _name, bugcode, link);
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.MantisBTRss("Text2", language), _name, title.Substring(title.IndexOf(SchumixBase.Colon) + 1));
                        }
                    }
                    else
                    {
                        if (title.Contains(SchumixBase.Colon.ToString()))
                        {
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.MantisBTRss("Text3", language), _name, bugcode, link);
                            sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.MantisBTRss("Text4", language), _name, title.Substring(title.IndexOf(SchumixBase.Colon) + 1));
                        }
                    }

                    Thread.Sleep(1000);
                }
            }
        }
示例#4
0
        private void Informations(string guid, string title, string author, string commiturl)
        {
            if (!sIrcBase.Networks[_servername].Online)
            {
                return;
            }

            var db = SchumixBase.DManager.QueryFirstRow("SELECT Channel, ShortUrl, Colors FROM wordpressinfo WHERE Name = '{0}' And ServerName = '{1}'", _name, _servername);

            if (!db.IsNull())
            {
                string[] channel = db["Channel"].ToString().Split(SchumixBase.Comma);

                foreach (var chan in channel)
                {
                    string language = sLManager.GetChannelLocalization(chan, _servername);

                    if (db["ShortUrl"].ToBoolean())
                    {
                        commiturl = BitlyApi.ShortenUrl(commiturl).ShortUrl;
                    }

                    if (db["Colors"].ToBoolean())
                    {
                        sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.WordPressRss("WordPress", language), _name, author, commiturl);
                        sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.WordPressRss("WordPress2", language), _name, title);
                    }
                    else
                    {
                        sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.WordPressRss("nocolorsWordPress", language), _name, author, commiturl);
                        sIrcBase.Networks[_servername].sSendMessage.SendCMPrivmsg(chan, sLocalization.WordPressRss("nocolorsWordPress2", language), _name, title);
                    }

                    Thread.Sleep(1000);
                }
            }
        }
示例#5
0
        public void HandleTest(IRCMessage sIRCMessage)
        {
            if (!IsAdmin(sIRCMessage.Nick, sIRCMessage.Host, AdminFlag.Administrator))
            {
                return;
            }

            var sSendMessage = sIrcBase.Networks[sIRCMessage.ServerName].sSendMessage;

            if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "adat")
            {
                sSendMessage.SendChatMessage(sIRCMessage, "Teszt próbálkozás");
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "db")
            {
                var db = SchumixBase.DManager.Query("SELECT Name FROM admins WHERE ServerName = '{0}'", sIRCMessage.ServerName);
                if (!db.IsNull())
                {
                    foreach (DataRow row in db.Rows)
                    {
                        string admin = row["Name"].ToString();
                        sSendMessage.SendChatMessage(sIRCMessage, "{0}", admin);
                    }
                }
                else
                {
                    sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("FaultyQuery", sIRCMessage.Channel, sIRCMessage.ServerName));
                }
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "rss")
            {
                var rss = new XmlDocument();
                rss.Load("http://www.assembla.com/spaces/Sandshroud/stream.rss");
                //rss.Load("http://github.com/megax/Schumix2/commits/master.atom");

                var node = rss.SelectSingleNode("rss/channel/item/title");
                //var node = rss.SelectSingleNode("feed/title");
                string title = !node.IsNull() ? node.InnerText : string.Empty;
                sSendMessage.SendChatMessage(sIRCMessage, title);
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "vhost")
            {
                sSendMessage.SendChatMessage(sIRCMessage, sIRCMessage.Host);
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "amsg")
            {
                sSendMessage.SendCMAmsg("teszt");
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "me")
            {
                sSendMessage.SendCMAction(sIRCMessage.Channel, sIRCMessage.Info.SplitToString(5, SchumixBase.Space));
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "ctcprequest")
            {
                sSendMessage.SendCMCtcpRequest(sIRCMessage.Channel, sIRCMessage.Info.SplitToString(5, SchumixBase.Space));
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "ctcpreply")
            {
                sSendMessage.SendCMCtcpReply(sIRCMessage.Channel, sIRCMessage.Info.SplitToString(5, SchumixBase.Space));
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "text")
            {
                sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoName", sIRCMessage.Channel, sIRCMessage.ServerName));
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "durl")
            {
                if (sIRCMessage.Info.Length < 6)
                {
                    sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoValue", sIRCMessage.Channel, sIRCMessage.ServerName));
                    return;
                }

                var request = (HttpWebRequest)WebRequest.Create(sIRCMessage.Info[5]);
                request.AllowAutoRedirect = true;
                request.UserAgent         = Consts.SchumixUserAgent;
                request.Referer           = Consts.SchumixReferer;
                var sb = new StringBuilder();

                using (var response = request.GetResponse())
                {
                    using (var stream = response.GetResponseStream())
                    {
                        int    length = 0;
                        byte[] buf    = new byte[1024];

                        while ((length = stream.Read(buf, 0, buf.Length)) != 0)
                        {
                            if (sb.ToString().Contains("</title>"))
                            {
                                break;
                            }

                            sb.Append(Encoding.UTF8.GetString(buf, 0, length));
                        }
                    }
                }

                sSendMessage.SendChatMessage(sIRCMessage, "{0}", sb.Length);
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "cachedb")
            {
                sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetCommandText("xbot"));
                sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetCommandTexts("xbot")[1]);
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "istable")
            {
                if (SchumixBase.DManager.IsCreatedTable("admins"))
                {
                    sSendMessage.SendChatMessage(sIRCMessage, "létezik!");
                }

                if (!SchumixBase.DManager.IsCreatedTable("admin"))
                {
                    sSendMessage.SendChatMessage(sIRCMessage, "nem létezik!");
                }
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "urlshort")
            {
                if (sIRCMessage.Info.Length < 6)
                {
                    sSendMessage.SendChatMessage(sIRCMessage, "Nincs megadva a rövidíteni kívánt url!");
                    return;
                }

                sSendMessage.SendChatMessage(sIRCMessage, BitlyApi.ShortenUrl(sIRCMessage.Info[5]).ShortUrl);
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "serv")
            {
                if (sIRCMessage.Info.Length < 6)
                {
                    sSendMessage.SendChatMessage(sIRCMessage, "Nincs megadva a szervíz neve!");
                    return;
                }

                sSendMessage.SendChatMessage(sIRCMessage, "{0}", sIRCMessage.Info[5].IsServ());
                sSendMessage.SendChatMessage(sIRCMessage, "{0}", sIRCMessage.Info[5].IsServ(Serv.HostServ));
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "isoutredirected")
            {
#if false
                var writer = new StringWriter();
                Console.SetOut(writer);

                sSendMessage.SendChatMessage(sIRCMessage, "Konzol kimenet átírányítása: {0}", Console.IsOutputRedirected);

                var sw = new StreamWriter(Console.OpenStandardOutput());
                sw.AutoFlush = true;
                Console.SetOut(sw);

                sSendMessage.SendChatMessage(sIRCMessage, "Konzol kimenet átírányítása: {0}", Console.IsOutputRedirected);
#endif
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "ismonthname")
            {
                if (sIRCMessage.Info.Length < 6)
                {
                    sSendMessage.SendChatMessage(sIRCMessage, "Nincs megadva a hónap neve!");
                    return;
                }

                sSendMessage.SendChatMessage(sIRCMessage, "{0}", sIRCMessage.Info[5].IsMonthName());
            }
            else if (sIRCMessage.Info.Length >= 5 && sIRCMessage.Info[4].ToLower() == "dbrank")
            {
                var db = SchumixBase.DManager.Query("SELECT Flag FROM admins WHERE ServerName = '{0}'", sIRCMessage.ServerName);
                if (!db.IsNull())
                {
                    foreach (DataRow row in db.Rows)
                    {
                        int rank = row["Flag"].ToInt32();

                        if (rank == 0)
                        {
                            Log.WriteLine("Admin rang: 0");
                        }

                        if (rank == 1)
                        {
                            Log.WriteLine("Admin rang: 1");
                        }

                        if (rank == 2)
                        {
                            Log.WriteLine("Admin rang: 2");
                        }
                    }
                }
                else
                {
                    sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("FaultyQuery", sIRCMessage.Channel, sIRCMessage.ServerName));
                }
            }
            else
            {
                sSendMessage.SendChatMessage(sIRCMessage, "{0}", sIRCMessage.Info.Length);
            }
        }