Beispiel #1
0
        public void init()
        {
            logger.Info("init QuoteAdapter...");
            qc = new QuoteClass();
            logger.Info("quoteClass Initialized...");
            qc.OnData         += new _IQuoteEvents_OnDataEventHandler(OnData);
            qc.OnDisconnected += new _IQuoteEvents_OnDisconnectedEventHandler(OnDisconnected);
            connect();

            List <string> subList = SymbolManager.Instance.getSubSymbolList();

            if (subList != null)
            {
                foreach (string id in subList)
                {
                    qc.Subscribe(id);
                    logger.Info("QuoteCenter subscribe symbol " + id);
                }
            }
            else
            {
                logger.Info("subList is null");
            }


            //connectionCheck();
        }
Beispiel #2
0
        public static void GetQuote()
        {
            string       line         = "";
            StreamReader streamReader = new StreamReader(FileText("ChamNgon.txt"), Encoding.UTF8);

            while ((line = streamReader.ReadLine()) != null)
            {
                QuoteClass quote = new QuoteClass();
                string[]   words = line.Split('|');
                quote.Author = words[0];
                quote.Quote  = words[1];
                QuoteList.Add(quote);
            }
        }
Beispiel #3
0
 private bool addQuote(int newID, QuoteClass newquote)
 {
     db.Query("INSERT INTO Quotes (ID, Deleted, Author, Date, Quote) VALUES (@0, @1, @2, @3, @4)", newID, 0, newquote.qauthor, newquote.qtime, newquote.qquote);
     return true;
 }
Beispiel #4
0
        private void DoQuotes(CommandArgs args)
        {
            if (args.Parameters.Count < 1)
            {
                args.Player.SendErrorMessage("Invalid syntax:");
                args.Player.SendErrorMessage("{0}quote read <quote #>", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                args.Player.SendErrorMessage("{0}quote search <words>", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                args.Player.SendErrorMessage("{0}quote total", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                args.Player.SendErrorMessage("{0}quote random", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                if (args.Player.Group.HasPermission("quotes.mod"))
                {
                    args.Player.SendErrorMessage("{0}quote add <quote>", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                    args.Player.SendErrorMessage("{0}quote <del/show> <quote #>", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                }
                if (args.Player.Group.HasPermission("quotes.purge"))
                    args.Player.SendErrorMessage("{0}quote purge", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));

                return;
            }
            else if (args.Parameters.Count == 1)
            {
                if (args.Parameters[0].ToLower() == "total")
                {
                    int count = 0;

                    foreach (QuoteClass quote in quotelist)
                    {
                        if (!quote.qdeleted)
                            count++;
                    }

                    args.Player.SendMessage("There " + (count == 1 ? "is" : "are") + " " + count + " quote" + (count == 1 ? "" : "s") + " in total.", Color.LawnGreen);
                }
                else if (args.Parameters[0].ToLower() == "random")
                {
                    if (quotelist.Count == 0)
                    {
                        args.Player.SendErrorMessage("There are no quotes to view!");
                        return;
                    }

                    Random random = new Random();
                    int randnum = random.Next(0, quotelist.Count);

                    while (quotelist[randnum].qdeleted)
                    {
                        randnum = random.Next(0, quotelist.Count);
                    }

                    QuoteClass readQuote = quotelist[randnum];

                    args.Player.SendMessage("[" + readQuote.qtime + "] Quote #" + (randnum + 1).ToString() + " by " + readQuote.qauthor + ": " + readQuote.qquote, Color.LawnGreen);
                }
                else if (args.Parameters[0].ToLower() == "purge" && args.Player.Group.HasPermission("quotes.purge"))
                    args.Player.SendInfoMessage("Warning: This will permanently remove all deleted quotes. This will also alter the quote numbers. To continue, type {0}quote purge confirm.", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                else
                {
                    args.Player.SendErrorMessage("Invalid syntax:");
                    args.Player.SendErrorMessage("{0}quote read <quote #>", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                    args.Player.SendErrorMessage("{0}quote search <words>", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                    args.Player.SendErrorMessage("{0}quote total", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                    args.Player.SendErrorMessage("{0}quote random", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                    if (args.Player.Group.HasPermission("quotes.mod"))
                    {
                        args.Player.SendErrorMessage("{0}quote add <quote>", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                        args.Player.SendErrorMessage("{0}quote <del/show> <quote #>", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                    }
                    if (args.Player.Group.HasPermission("quotes.purge"))
                        args.Player.SendErrorMessage("{0}quote purge", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                    return;
                }
            }
            else if (args.Parameters.Count == 2)
            {
                if (args.Parameters[0].ToLower() == "read")
                {
                    int quotenum = -1;
                    bool parsed = false;
                    parsed = Int32.TryParse(args.Parameters[1], out quotenum);
                    if (!parsed)
                    {
                        args.Player.SendErrorMessage("Invalid quote number!");
                        return;
                    }
                    else if (quotenum > quotelist.Count || quotenum < 1)
                    {
                        args.Player.SendErrorMessage("Invalid quote number!");
                        return;
                    }
                    else
                    {
                        quotenum--;
                        QuoteClass readQuote = quotelist[quotenum];
                        if (readQuote.qdeleted && !args.Player.Group.HasPermission("quotes.mod"))
                        {
                            args.Player.SendErrorMessage("This quote has been deleted!");
                            return;
                        }
                        else if (!readQuote.qdeleted)
                        {
                            args.Player.SendMessage("[" + readQuote.qtime + "] Quote #" + (quotenum + 1).ToString() + " by " + readQuote.qauthor + ": " + readQuote.qquote, Color.LawnGreen);
                        }
                        else
                        {
                            args.Player.SendMessage("[Deleted][" + readQuote.qtime + "] Quote #" + (quotenum + 1).ToString() + " by " + readQuote.qauthor + ": " + readQuote.qquote, Color.DarkOrange);
                        }
                    }
                }
                else if (args.Parameters[0].ToLower() == "del")
                {
                    int quotenum = -1;
                    bool parsed = false;
                    parsed = Int32.TryParse(args.Parameters[1], out quotenum);
                    if (!parsed)
                    {
                        args.Player.SendErrorMessage("Invalid quote number!");
                        return;
                    }
                    else if (quotenum > quotelist.Count || quotenum < 1)
                    {
                        args.Player.SendErrorMessage("Invalid quote number!");
                        return;
                    }
                    else
                    {
                        if (quotelist[quotenum - 1].qauthor != args.Player.User.Name && !args.Player.Group.HasPermission("quotes.mod"))
                        {
                            args.Player.SendErrorMessage("You do not have permission to delete other users' quotes!");
                            return;
                        }

                        if (quotelist[quotenum - 1].qdeleted)
                        {
                            args.Player.SendErrorMessage("This quote has already been deleted!");
                            return;
                        }
                        quotelist[quotenum - 1].qdeleted = true;

                        delQuote(quotenum, true);

                        args.Player.SendSuccessMessage("Successfully deleted quote #{0}!", quotenum);
                    }
                }
                else if (args.Parameters[0].ToLower() == "search")
                {
                    searchQuotes(args.Player, args.Parameters[1]);
                }
                else if (args.Parameters[0].ToLower() == "show")
                {
                    if (!args.Player.Group.HasPermission("quotes.mod"))
                    {
                        args.Player.SendErrorMessage("You do not have permission to show deleted quotes.");
                        return;
                    }

                    int quotenum = -1;
                    bool parsed = false;
                    parsed = Int32.TryParse(args.Parameters[1], out quotenum);
                    if (!parsed)
                    {
                        args.Player.SendErrorMessage("Invalid quote number!");
                        return;
                    }
                    else if (quotenum > quotelist.Count || quotenum < 1)
                    {
                        args.Player.SendErrorMessage("Invalid quote number!");
                        return;
                    }
                    else
                    {
                        QuoteClass quote = quotelist[quotenum - 1];

                        if (quote.qdeleted)
                        {
                            quote.qdeleted = false;
                            delQuote(quotenum, false);
                            args.Player.SendSuccessMessage("Restored quote #" + quotenum.ToString());
                        }
                        else
                        {
                            args.Player.SendErrorMessage("This quote is not deleted!");
                        }
                    }
                }
                else if (args.Parameters[0].ToLower() == "purge" && args.Parameters[1].ToLower() == "confirm" && args.Player.Group.HasPermission("quotes.purge"))
                {
                    purgeQuotes();
                    args.Player.SendSuccessMessage("Quotes successfully purged.");
                }
                else
                {
                    args.Player.SendErrorMessage("Invalid syntax:");
                    args.Player.SendErrorMessage("{0}quote read <quote #>", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                    args.Player.SendErrorMessage("{0}quote search <words>", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                    args.Player.SendErrorMessage("{0}quote total", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                    args.Player.SendErrorMessage("{0}quote random", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                    if (args.Player.Group.HasPermission("quotes.mod"))
                    {
                        args.Player.SendErrorMessage("{0}quote add <quote>", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                        args.Player.SendErrorMessage("{0}quote <del/show> <quote #>", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                    }
                    if (args.Player.Group.HasPermission("quotes.purge"))
                        args.Player.SendErrorMessage("{0}quote purge", (args.Silent ? TShock.Config.CommandSilentSpecifier : TShock.Config.CommandSpecifier));
                    return;
                }
            }
            else
            {
                if (args.Parameters[0].ToLower() == "add")
                {
                    if (!args.Player.Group.HasPermission("quotes.add") && !args.Player.Group.HasPermission("quotes.mod"))
                    {
                        args.Player.SendErrorMessage("You do not have permission to add quotes.");
                        return;
                    }

                    string quote = string.Join(" ", args.Parameters);
                    quote = quote.Replace("add ", "");

                    QuoteClass newQuote = new QuoteClass(quotelist.Count + 1, args.Player.User.Name, DateTime.Now.ToString(), quote, false);

                    quotelist.Add(newQuote);
                    addQuote(quotelist.Count, newQuote);

                    args.Player.SendSuccessMessage("You have added quote #{0}!", newQuote.qid);
                    if (!args.Silent)
                        TSPlayer.All.SendMessage("{0} has added a new quote! Use {2}quote read {1} to view it!".SFormat(args.Player.Name, newQuote.qid, TShock.Config.CommandSpecifier), Color.LawnGreen);
                }
                else if (args.Parameters[0].ToLower() == "search")
                {
                    string searchterms = string.Join(" ", args.Parameters);
                    searchterms = searchterms.Replace("search ", "");
                    searchQuotes(args.Player, searchterms);
                }
            }
        }