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(); }
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); } }
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; }
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); } } }