From b329ea276bb30fcee60514561143e9678c10edad Mon Sep 17 00:00:00 2001 From: DarkFeather Date: Tue, 27 Sep 2016 10:33:41 -0500 Subject: [PATCH] Fixes for URL titling and chat timeouts --- connection.csharp => Connection.csharp | 1 + ...tmessage.csharp => IRCClientMessage.csharp | 0 ircmessage.csharp => IRCMessage.csharp | 0 ...ongmessage.csharp => IRCPongMessage.csharp | 0 ...rmessage.csharp => IRCServerMessage.csharp | 3 +- Makefile | 38 +++++++----- raven.csharp => Raven.csharp | 34 +++++++---- ravencommand.csharp => RavenCommand.csharp | 10 ++-- ...nconfigure.csharp => RavenConfigure.csharp | 1 + make-conf-dir.bash | 16 ----- ravenexecute.csharp | 59 ------------------- reportmessage.csharp | 45 -------------- sample-conf/blacklist.txt | 1 + sample-conf/crowfacts.txt | 52 ++++++++++++++++ sample-conf/helptext.txt | 1 + sample-conf/loginDefaults.txt | 4 ++ sample-conf/magic8.txt | 20 +++++++ sample-conf/notifications.txt | 1 + sample-conf/rooms.txt | 3 + sample-conf/searches.txt | 11 ++++ sample-conf/whitelist.txt | 1 + 21 files changed, 151 insertions(+), 150 deletions(-) rename connection.csharp => Connection.csharp (99%) rename ircclientmessage.csharp => IRCClientMessage.csharp (100%) rename ircmessage.csharp => IRCMessage.csharp (100%) rename ircpongmessage.csharp => IRCPongMessage.csharp (100%) rename ircservermessage.csharp => IRCServerMessage.csharp (95%) rename raven.csharp => Raven.csharp (91%) rename ravencommand.csharp => RavenCommand.csharp (96%) rename ravenconfigure.csharp => RavenConfigure.csharp (99%) delete mode 100644 make-conf-dir.bash delete mode 100644 ravenexecute.csharp delete mode 100644 reportmessage.csharp create mode 100644 sample-conf/blacklist.txt create mode 100644 sample-conf/crowfacts.txt create mode 100644 sample-conf/helptext.txt create mode 100644 sample-conf/loginDefaults.txt create mode 100644 sample-conf/magic8.txt create mode 100644 sample-conf/notifications.txt create mode 100644 sample-conf/rooms.txt create mode 100644 sample-conf/searches.txt create mode 100644 sample-conf/whitelist.txt diff --git a/connection.csharp b/Connection.csharp similarity index 99% rename from connection.csharp rename to Connection.csharp index a80e6ab..37acc59 100644 --- a/connection.csharp +++ b/Connection.csharp @@ -4,6 +4,7 @@ using System.Net.Sockets; using System.IO; using System.Text; using System.Threading; +using AniNIX.Shared; namespace AniNIX.TheRaven { diff --git a/ircclientmessage.csharp b/IRCClientMessage.csharp similarity index 100% rename from ircclientmessage.csharp rename to IRCClientMessage.csharp diff --git a/ircmessage.csharp b/IRCMessage.csharp similarity index 100% rename from ircmessage.csharp rename to IRCMessage.csharp diff --git a/ircpongmessage.csharp b/IRCPongMessage.csharp similarity index 100% rename from ircpongmessage.csharp rename to IRCPongMessage.csharp diff --git a/ircservermessage.csharp b/IRCServerMessage.csharp similarity index 95% rename from ircservermessage.csharp rename to IRCServerMessage.csharp index 2b2be85..87bd441 100644 --- a/ircservermessage.csharp +++ b/IRCServerMessage.csharp @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using AniNIX.Shared; namespace AniNIX.TheRaven { @@ -49,7 +50,7 @@ namespace AniNIX.TheRaven { } public override string ToString() { - if (Raven.verbosity == Verbosity.Explicit) { + if (ReportMessage.verbosity == Verbosity.Explicit) { return String.Format(">>> {0}\nUser: {1}\nServer: {2}\nmsgCode: {3}\nTarget: {4}\nMessage: {5}\n",incomingIRCString,user,server,msgCode,target,message); } else { return String.Format(">>> {0}",incomingIRCString); diff --git a/Makefile b/Makefile index 19aa916..4b23501 100644 --- a/Makefile +++ b/Makefile @@ -1,32 +1,40 @@ -raven.mono: /usr/bin/mcs /usr/bin/mono clean ./raven.csharp ./connection.csharp ./ravencommand.csharp /bin/bash /usr/bin/mail /usr/bin/wget /usr/local/bin/djinni ./chatbot-support.bash - mcs -out:raven.mono reportmessage.csharp *exception.csharp irc*message.csharp connection.csharp raven*.csharp +CONFDIR := /usr/local/etc/TheRaven + +compile: /usr/bin/mcs /usr/bin/mono clean ./raven.csharp ./connection.csharp ./ravencommand.csharp /bin/bash /usr/bin/mail /usr/bin/wget /usr/local/bin/djinni ./chatbot-support.bash + if [ ! -d ../Djinni ]; then git clone -C '..' https://aninix.net/foundation/Djinni; fi + git -C ../Djinni pull + if [ ! -d ../SharedLibraries ]; then git clone -C '..' https://aninix.net/foundation/SharedLibraries; fi + git -C ../SharedLibraries pull + mcs -out:raven.mono ../SharedLibraries/CSharp/*.csharp *.csharp clean: if [ "$$(ls ./*~ 2>/dev/null | wc -l)" -gt 0 ]; then rm -Rf *~; fi if [ "$$(ls ./*.mono 2>/dev/null | wc -l)" -gt 0 ]; then rm -Rf *.mono; fi if [ "$$(ls ./\#* 2>/dev/null | wc -l)" -gt 0 ]; then rm -Rf \#*; fi - if [ -f raven.mono ]; then rm raven.mono; fi edit: emacs -nw raven.csharp -test: raven.mono - script -c "mono ./raven.mono -c /usr/local/etc/TheRaven-Test -v" /tmp/raven-test.log +test: compile + script -c "mono ./raven.mono -c ${CONFDIR}-Test -v" /tmp/raven-test.log check-for-verbosity: grep Console.WriteLine *.csharp | egrep -v 'verbosity|raven.csharp'; echo -install: raven.mono - id raven || useradd -M -G git,ircd,api raven - id raven || usermod -d /usr/local/etc/TheRaven raven - chown raven:raven /usr/local/etc/TheRaven - mkdir -p /usr/local/etc/TheRaven +install: compile cp raven.mono /opt/raven.mono - [ ! -d /usr/local/etc/TheRaven ] || mkdir -p /usr/local/etc/TheRaven - chown -R raven:raven /opt/raven.mono /usr/local/etc/TheRaven* - chmod 0600 /opt/raven.mono /usr/local/etc/TheRaven*/* - chmod 0700 /usr/local/etc/TheRaven* + if [ ! -d ${CONFDIR} ]; then (mkdir -p /usr/local/etc/TheRaven; cp ./sample-conf/* ${CONFDIR}); fi + if ! getent passwd raven; then useradd -M -G git,ircd,api -d ${CONFDIR} raven; fi + make checkperm cp ./raven.service /usr/lib/systemd/system/raven.service - /usr/bin/bash make-conf-dir.bash /usr/local/etc/TheRaven systemctl daemon-reload systemctl enable raven + +reverse: /usr/lib/systemd/system/raven.service + cp /usr/lib/systemd/system/raven.service . + +checkperm: /opt/raven.mono + chown -R raven:raven /opt/raven.mono ${CONFDIR}* + chmod 0600 /opt/raven.mono ${CONFDIR}*/* + chmod 0700 ${CONFDIR}* + diff --git a/raven.csharp b/Raven.csharp similarity index 91% rename from raven.csharp rename to Raven.csharp index 0b178c5..c3b60ee 100644 --- a/raven.csharp +++ b/Raven.csharp @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Text; +using AniNIX.Shared; namespace AniNIX.TheRaven { @@ -33,8 +34,6 @@ namespace AniNIX.TheRaven { public Dictionary MailerCount = new Dictionary(); // Messages may only be sent up to a maximum to the admins. - public static Verbosity verbosity { get; private set; } // This is the level to which this and all Raven instances will log. - /// /// Show the settings used by this Raven. /// @@ -48,7 +47,7 @@ namespace AniNIX.TheRaven { sb.Append("NickServPass: ****\n"); sb.Append(String.Format("Auto: {0}\n",_autoSend)); sb.Append(String.Format("Conf: {0}\n",configDir)); - sb.Append(String.Format("Verbosity: {0}\n",Raven.verbosity)); + sb.Append(String.Format("Verbosity: {0}\n",ReportMessage.verbosity)); return sb.ToString(); } @@ -141,10 +140,10 @@ namespace AniNIX.TheRaven { } break; case "-v": - Raven.verbosity = Verbosity.VeryVerbose; + ReportMessage.verbosity = Verbosity.VeryVerbose; break; case "-q": - Raven.verbosity = Verbosity.Quiet; + ReportMessage.verbosity = Verbosity.Quiet; break; case "-P": if (i < args.Length-1) _nickServPass = args[++i]; @@ -186,7 +185,7 @@ namespace AniNIX.TheRaven { /// /// Populate the name recognition /// - + /// /// Create a raven with default settings. @@ -198,7 +197,7 @@ namespace AniNIX.TheRaven { _nickServPass = nickServPass; _autoSend = autoSend; this.configDir = configDir; - Raven.verbosity = verbosity; + ReportMessage.verbosity = verbosity; } /// @@ -261,7 +260,7 @@ namespace AniNIX.TheRaven { if (notifications.TryGetValue(response.target,out result)) { if (response.message.Contains(result)) { try { - RavenExecute.Command(String.Format("/usr/local/bin/djinni admin \"Found {1} in {0}\"",response.target,result)); + ExecuteCommand.Run(String.Format("/usr/local/bin/djinni admin \"Found {1} in {0}\"",response.target,result)); } catch (Exception e) { ReportMessage.Log(Verbosity.Error,e.ToString()); } @@ -273,17 +272,32 @@ namespace AniNIX.TheRaven { // TODO Create a local instance instead if (response.msgCode.Equals("PRIVMSG") && !String.IsNullOrWhiteSpace(response.message) && (response.target.Equals(Nick) || response.message.StartsWith(String.Format("{0}:",Nick)) || response.message.EndsWith(String.Format("{0}!",Nick)) || response.message.EndsWith(String.Format("{0}?",Nick)) || response.message.EndsWith(String.Format("{0}.",Nick)) || response.message.EndsWith(String.Format("{0}",Nick)))) { IRCClientMessage send = new IRCClientMessage(); - send.PrivMsg(RavenExecute.Command(String.Format("bash /usr/local/src/TheRaven/chatbot-support.bash {0} {1}",response.message.Replace("'","").Replace("\"","").Split('\n')[0].Trim(),Nick)).Trim(),(response.target.Equals(Nick))?response.user:response.target); + try { + send.PrivMsg(ExecuteCommand.Run(String.Format("bash /usr/local/src/TheRaven/chatbot-support.bash \"{0}\" {1}",response.message.Replace("'","").Replace("\"","").Split('\n')[0].Trim(),Nick)).Trim(),(response.target.Equals(Nick))?response.user:response.target); + } catch (Exception e) { + e.ToString(); + send.PrivMsg("Cannot talk right now.",(response.target.Equals(Nick))?response.user:response.target); + } _connection.Write(send); } /* CROWFACTS the deserving */ - if (crowFactsSubscribers.Contains(response.user) && randomSeed.Next(10) < 8) { + else if (crowFactsSubscribers.Contains(response.user) && randomSeed.Next(10) < 8) { IRCClientMessage send = new IRCClientMessage(); int location = randomSeed.Next(crowFacts.Length); send.PrivMsg(crowFacts[location],response.user); _connection.Write(send); } + + if (WebPageAPI.URLRegEx.Match(response.message).Success) { + try { + IRCClientMessage send = new IRCClientMessage(); + send.PrivMsg(String.Format("Web page title: {0}",WebPageAPI.GetPageTitle(WebPageAPI.URLRegEx.Match(response.message).Value)),(response.target.Equals(Nick))?response.user:response.target); + _connection.Write(send); + } catch (Exception e) { + e.ToString(); + } + } } } } diff --git a/ravencommand.csharp b/RavenCommand.csharp similarity index 96% rename from ravencommand.csharp rename to RavenCommand.csharp index 24242c9..233c395 100644 --- a/ravencommand.csharp +++ b/RavenCommand.csharp @@ -3,6 +3,7 @@ using System.IO; using System.Text; using System.Diagnostics; using System.Collections.Generic; +using AniNIX.Shared; namespace AniNIX.TheRaven { @@ -58,6 +59,7 @@ namespace AniNIX.TheRaven { int result = theRaven.randomSeed.Next(Int32.Parse(bySpace[1])); send.PrivMsg(String.Format("{0}",result+1),(incoming.target.Equals(theRaven.Nick))?incoming.user:incoming.target); } catch (Exception e) { + e.ToString(); send.PrivMsg("Bad formatting.",(incoming.target.Equals(theRaven.Nick))?incoming.user:incoming.target); } } @@ -68,7 +70,7 @@ namespace AniNIX.TheRaven { send.PrivMsg(theRaven.helpText,incoming.user); } else { try { - send.PrivMsg(RavenExecute.Command(String.Format("wget -q -O - \"http://tiny-url.info/api/v1/create?format=text&apikey=\"$(api-keys tinyurl)\"&provider=x_co&url={0}\"",bySpace[1])),(incoming.target.Equals(theRaven.Nick))?incoming.user:incoming.target); + send.PrivMsg(ExecuteCommand.Run(String.Format("wget -q -O - \"http://tiny-url.info/api/v1/create?format=text&apikey=\"$(api-keys tinyurl)\"&provider=x_co&url={0}\"",bySpace[1])),(incoming.target.Equals(theRaven.Nick))?incoming.user:incoming.target); } catch (Exception e) { ReportMessage.Log(Verbosity.Error,e.ToString()); send.PrivMsg("TinyURL error. Could not get link.",(incoming.target.Equals(theRaven.Nick))?incoming.user:incoming.target); @@ -103,7 +105,7 @@ namespace AniNIX.TheRaven { ReportMessage.Log(Verbosity.Error,"Make sure user raven can write to /var/log/r.msg.log"); } try { - RavenExecute.Command(String.Format("djinni admin \"Page from {0}\"",incoming.user)); + ExecuteCommand.Run(String.Format("djinni admin \"Page from {0}\"",incoming.user)); send.PrivMsg("Sent!",incoming.user); } catch (Exception e) { ReportMessage.Log(Verbosity.Error,e.ToString()); @@ -114,7 +116,7 @@ namespace AniNIX.TheRaven { return; case "r.uptime": try { - send.PrivMsg(RavenExecute.Command("uptime"),(incoming.target.Equals(theRaven.Nick))?incoming.user:incoming.target); + send.PrivMsg(ExecuteCommand.Run("uptime"),(incoming.target.Equals(theRaven.Nick))?incoming.user:incoming.target); } catch (Exception e) { e.ToString(); send.PrivMsg("Can't get uptime",(incoming.target.Equals(theRaven.Nick))?incoming.user:incoming.target); @@ -123,7 +125,7 @@ namespace AniNIX.TheRaven { return; case "r.heartbeat": try { - String[] byLine = RavenExecute.Command("heartbeat-client").Split('\n'); + String[] byLine = ExecuteCommand.Run("heartbeat-client").Split('\n'); for (int i = 0; i < byLine.Length; i++) { send.PrivMsg(byLine[i],incoming.user); connection.Write(send); diff --git a/ravenconfigure.csharp b/RavenConfigure.csharp similarity index 99% rename from ravenconfigure.csharp rename to RavenConfigure.csharp index 1179fc6..8fe01e7 100644 --- a/ravenconfigure.csharp +++ b/RavenConfigure.csharp @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Text; +using AniNIX.Shared; namespace AniNIX.TheRaven { diff --git a/make-conf-dir.bash b/make-conf-dir.bash deleted file mode 100644 index 9f8ff9f..0000000 --- a/make-conf-dir.bash +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/bash - -mkdir -p $1 -touch $1/blacklist.txt -touch $1/crowfacts.txt -touch $1/crowfacts.txt.bak -touch $1/hangman.txt -touch $1/keepalive-loginDefaults.txt -touch $1/magic8.txt -touch $1/todo.txt -touch $1/whitelist.txt -touch $1/loginDefaults.txt -touch $1/rooms.txt -touch $1/searches.txt -touch $1/helptext.txt - diff --git a/ravenexecute.csharp b/ravenexecute.csharp deleted file mode 100644 index aec2e08..0000000 --- a/ravenexecute.csharp +++ /dev/null @@ -1,59 +0,0 @@ -using System; -using System.IO; -using System.Text; -using System.Diagnostics; -using System.Collections.Generic; - -namespace AniNIX.TheRaven { - - public static class RavenExecute { - - /// - /// This method allows TheRaven to execute a command on the OS. - /// - /// The command string to run as the string argument to "bash -c 'command'" - /// The effective replacement for the command's stdinThe stdout of the command - /// - public static String Command(String command, String input) { - //Sanitize inputs. - if (command.Contains("\'")) { - throw new Exception("Command strings cannot include \'."); - } - - //Create process. - Process proc = new Process(); - proc.StartInfo.CreateNoWindow = true; - proc.StartInfo.FileName = "/bin/bash"; - proc.StartInfo.Arguments = String.Format("-c \'{0}\'",command); - proc.StartInfo.UseShellExecute=false; - ReportMessage.Log(Verbosity.Verbose,String.Format("{0} {1}",proc.StartInfo.FileName,proc.StartInfo.Arguments)); - - //Redirect input - proc.StartInfo.RedirectStandardOutput=true; - proc.StartInfo.RedirectStandardInput=true; - - //Start process - proc.Start(); - - //Add input and read output. - proc.StandardInput.Write(input); - proc.StandardInput.Close(); - proc.WaitForExit(); - if (proc.ExitCode != 0) { - throw new Exception(String.Format("Failed to exit command with return code {0}",proc.ExitCode)); - } - String stdoutString = proc.StandardOutput.ReadToEnd(); - - //Close up and return - proc.Close(); - return stdoutString; - } - - //Add polymorphism to allow no stdin - public static String Command(String command) { - return Command(command,null); - } - - } -} diff --git a/reportmessage.csharp b/reportmessage.csharp deleted file mode 100644 index f6738c6..0000000 --- a/reportmessage.csharp +++ /dev/null @@ -1,45 +0,0 @@ -using System; - -namespace AniNIX.TheRaven { - - public enum Verbosity { - Always = -2, - Error, - Quiet = 0, - Verbose, - VeryVerbose, - Explicit, - } - - public static class ReportMessage { - - - /// - /// Log a new message for the user. - /// - public static void Log(Verbosity level,String message) { - - if (level == Verbosity.Error) { - Console.Error.WriteLine(message); - return; - } - - if (Raven.verbosity == Verbosity.Quiet) { - return; - } - - if (level == Verbosity.Always - || (Raven.verbosity == Verbosity.Verbose && level == Verbosity.Verbose) - || (Raven.verbosity == Verbosity.VeryVerbose && (level == Verbosity.Verbose || level == Verbosity.VeryVerbose)) - || (Raven.verbosity == Verbosity.Explicit && (level == Verbosity.Verbose || level == Verbosity.VeryVerbose || level == Verbosity.Explicit)) - ) { - Console.WriteLine(message); - } - - } - - public static void Log(String message) { - Log(Verbosity.VeryVerbose,message); - } - } -} diff --git a/sample-conf/blacklist.txt b/sample-conf/blacklist.txt new file mode 100644 index 0000000..b6f720a --- /dev/null +++ b/sample-conf/blacklist.txt @@ -0,0 +1 @@ +TheRaven diff --git a/sample-conf/crowfacts.txt b/sample-conf/crowfacts.txt new file mode 100644 index 0000000..83166d1 --- /dev/null +++ b/sample-conf/crowfacts.txt @@ -0,0 +1,52 @@ +There's an old nonsense song called the Old Carrion Crow. +From 2000 to 2003 the world's best wooden roller coaster was called The Raven. +The average raven has a four-foot wingspan. +The average crow has a three-foot wingspan. +Crows and ravens are members of the corvid family, the most adaptable and intelligent family of birds in the world. +Crows and ravens can mimic sounds and associate sounds with events. +Crows roost in flocks of several thousand in the winter. +Crows are omnivorous, making them capable scavangers and opportunistic hunters. +Crows prefer coniferous trees to build their homes at least 60 feet above the ground. +Paired males and females share in the raising of the four to six eggs. +One crow baby will frequently remain in the nest to assist in the caring for the next nestlings. +While crows have a reputation for eating corn, they often eat the bugs that plague crops. +Crows and ravens are territorial when young are in the nest, dive-bombing passersby. +The Sioux have a story of a white crow warning buffalo of approaching hunting parties. The bird turned black when a hunter threw it into the fire in rage. +Crows have been hunted and even had bounties placed on them by several governments, including by Kings of England. +Crows can use a number of calls to communicate situations and emotions. +Crows mate for life and share the care of nestlings. +Crows are often challenged by larger hunting birds, like owls and hawks; they use superior numbers when outmatched. +Crows only migrate long distances in harsh winters. +A group of crows or ravens is called a murder. +Crows live everywhere except Antarctica. +Crows are susceptible to West Nile Virus, which has felled many of them since 1999. +Crows' association with death comes from their scavenger natures -- they are often seen near the dead on battlefields. +Ravens are acrobatic fliers on par with hawks and falcons. In mating season, they put on acrobatic shows for potential mates. +Native Americans often honor ravens in their stories for their playful nature. +Ravens hunt in groups to bring down prey too large for a single bird. +Ravens range from the Arctic to the Mediterranean, building large stick nests. +Ravens have an average wild lifespan of 13 years. +Common ravens range from 24 to 30 inches long with up to a 5 foot (1.5m) wingspan, weighing in at 2.3 pounds. +Legend has it that if ravens leave the Tower of London, the fortress will fall and the British kingdom along with it. +Ravens are the largest passerine (perching) birds in North America. +Ravens can live up to 40 years in captivity or protected conditions. +https://upload.wikimedia.org/wikipedia/commons/9/92/Krummi_1.jpg +Ravens have one of the largest bills of perching birds. +Common ravens have quarrelsome family lives, but they are extremely devoted to their families. +Common ravens (Corvus corax) store food, hiding it from other ravens. +A group of ravens is commonly called a flock. +Ravens don't migrate except in the harshest winters. +In addition to their bills, ravens may drop rocks as weapons. +Young ravens are fascinated with all things new, but older ravens become more cautious and neophobic with experience. +Ravens are known to play, sliding down snowdrifts for fun and play games with wolves and other animals. +Ravens are one of only a few species known to make toys, breaking off branches for social play. +The raven is the national bird of Bhutan and the official bird of the Yukon. +The raven was the first bird sent forth by Noah but didn't return until the flood waters receded. +Ravens feed the prophet Elijah in 1 Kings 17:1 and are a subject of a parable in Luke 12:24, as a sign for man not to be materialistic. +The Native Americans saw the Raven as a creator and world-shaper. +Native American mythology holds that Raven brought the sun, moon, stars, and fire into the world. +The Norse god Odin had two ravens Huginn and Muninn (Thought and Mind) to serve as his eyes in the world. +The raven is the symbol of the Celtic figure Morrigan and the namesake of Lugh, the god responsible for creating arts and science. +The raven appears in the Quran but once, only to teach man to bury the dead in the story of Cain and Abel. +GI_Auditore finds Mutated Ravens in Prototype 2 extremely annoying. +Lost_Fragment will lose in a fight with TheRaven. diff --git a/sample-conf/helptext.txt b/sample-conf/helptext.txt new file mode 100644 index 0000000..63e709b --- /dev/null +++ b/sample-conf/helptext.txt @@ -0,0 +1 @@ +Available commands are r.raven, r.magic8, r.msg , r.google , r.sound , r.image , r.wiki , r.dict , r.yt , r.urban , r.hoogle , r.so , r.man , and r.tropes diff --git a/sample-conf/loginDefaults.txt b/sample-conf/loginDefaults.txt new file mode 100644 index 0000000..a151797 --- /dev/null +++ b/sample-conf/loginDefaults.txt @@ -0,0 +1,4 @@ +localhost +6667 +TheRaven-Test +somepass diff --git a/sample-conf/magic8.txt b/sample-conf/magic8.txt new file mode 100644 index 0000000..da27101 --- /dev/null +++ b/sample-conf/magic8.txt @@ -0,0 +1,20 @@ +It is certain +It is decidedly so +Without a doubt +Yes definitely +You may rely on it +As I see it yes +Most likely +Outlook good +Yes +Signs point to yes +Reply hazy try again +Ask again later +Better not tell you now +Cannot predict now +Concentrate and ask again +Don't count on it +My reply is no +My sources say no +Outlook not so good +Very doubtful diff --git a/sample-conf/notifications.txt b/sample-conf/notifications.txt new file mode 100644 index 0000000..6c90591 --- /dev/null +++ b/sample-conf/notifications.txt @@ -0,0 +1 @@ +TheRaven|Surprise diff --git a/sample-conf/rooms.txt b/sample-conf/rooms.txt new file mode 100644 index 0000000..cc42472 --- /dev/null +++ b/sample-conf/rooms.txt @@ -0,0 +1,3 @@ +TheRafters +lobby +#thisisacomment diff --git a/sample-conf/searches.txt b/sample-conf/searches.txt new file mode 100644 index 0000000..4c30287 --- /dev/null +++ b/sample-conf/searches.txt @@ -0,0 +1,11 @@ +r.google|http://google.com/search?q=|+ +r.images|http://images.google.com/search?tbm=isch&q=%s|+ +r.wiki|http://en.wikipedia.org/wiki/|_ +r.sound|http://www.soundcloud.com/search?q=|%20 +r.dict|http://www.merriam-webster.com/dictionary/|+ +r.tropes|http://tvtropes.org/pmwiki/search_result.php?cx=partner-pub-6610802604051523%3Aamzitfn8e7v&cof=FORID%3A10&ie=ISO-8859-1&siteurl=&ref=&ss=&siteurl=tvtropes.org%2F&ref=www.google.com%2F&ss=5135j1581675j28&q=|+ +r.yt|https://www.youtube.com/results?search_query=|+ +r.urban|http://www.urbandictionary.com/define.php?term=|+ +r.man|http://www.die.net/search/?q=|+ +r.hoogle|https://www.haskell.org/hoogle/?hoogle=|+ +r.so|http://stackoverflow.com/search?q=|+ diff --git a/sample-conf/whitelist.txt b/sample-conf/whitelist.txt new file mode 100644 index 0000000..a35e183 --- /dev/null +++ b/sample-conf/whitelist.txt @@ -0,0 +1 @@ +DarkFeather