From 9247e2f2e21532cb308f3f933d3b1b292a8fbd43 Mon Sep 17 00:00:00 2001 From: Russell Date: Wed, 19 Sep 2018 17:04:38 +0000 Subject: [PATCH] Just some recent changes --- .bash_aliases | 2 +- Code/irc/banterbot.py | 18 ++++- Code/irc/madlibbot/README.md | 9 +-- Code/irc/madlibbot/madlib.py | 51 ++++++++++++-- Code/irc/madlibbot/madlib.pyc | Bin 3750 -> 5785 bytes Code/irc/madlibbot/madlibbot.py | 33 ++++++---- Code/irc/puzzle.py | 2 +- Code/irc/run_madlib.sh | 2 +- Code/irc/tildescores.txt | 84 ++++++++++++++---------- Code/irc/topics_#bots.txt | 5 ++ Code/irc/topics_#tildetown.txt | 6 ++ Code/irc/topicscores.txt | 5 +- Code/python/bannedWords | 1 + Code/python/create_monthly_chatcloud.sh | 2 +- public_html/chatchecker/index.html | 6 +- public_html/chatchecker/todo | 5 ++ public_html/chatcloud/index.html | 17 ++++- public_html/du/index.html | 14 +++- public_html/index.html | 64 ++++++++++++------ public_html/mission/index.html | 5 ++ 20 files changed, 243 insertions(+), 88 deletions(-) diff --git a/.bash_aliases b/.bash_aliases index fb3115e..a421327 100644 --- a/.bash_aliases +++ b/.bash_aliases @@ -16,5 +16,5 @@ alias beats_raw='echo "x = (`date +%s` + 3600) % 86400; scale=3; x / 86.4" | bc' alias beats='printf "@\e[0;36m`beats_raw`\e[m\n"' alias pp='python -mjson.tool' alias ttbp='~endorphant/bin/ttbp' -alias vuln='find /home/ \! -type l -perm -o=w 2> /dev/null' +alias vuln='find /home/ \! -type l -perm -o=w ! -iwholename '*.git*' 2> /dev/null' alias vulnc='vuln | sed "s/\/home\/\([^/]*\)\/.*/\1/g" | sort | uniq -c | sort -nr' diff --git a/Code/irc/banterbot.py b/Code/irc/banterbot.py index 7990cf5..991ef2e 100755 --- a/Code/irc/banterbot.py +++ b/Code/irc/banterbot.py @@ -187,7 +187,7 @@ def figlet(channel, text): lines = subprocess.Popen(["figlet", "-w140"] + text.split(' '), shell=False, stdout=subprocess.PIPE).stdout.read() for line in lines.split('\n'): ircsock.send("PRIVMSG " + channel + " :" + line + "\n") - time.sleep(0.3) #to avoid channel throttle due to spamming + time.sleep(0.4) #to avoid channel throttle due to spamming def toilet(channel, text): if not text: @@ -196,7 +196,7 @@ def toilet(channel, text): lines = subprocess.Popen(["toilet", "-w140", "--irc"] + text.split(' '), shell=False, stdout=subprocess.PIPE).stdout.read() for line in lines.split('\n'): ircsock.send("PRIVMSG " + channel + " :" + line + "\n") - time.sleep(0.3) #to avoid channel throttle due to spamming + time.sleep(0.4) #to avoid channel throttle due to spamming def get_acronym(channel, text): if not text: @@ -223,6 +223,13 @@ def get_whosaid(channel, text): msg += ' and %s said it %d times' % (result['data'][1][0], result['data'][1][1]) ircsock.send("PRIVMSG " + channel + " :" + msg + ".\n") +def get_notice(user, channel): + ircsock.send("CNOTICE " + user + " " + channel + " :Notice me sempai!\n") + +def get_water(user, channel, msg, botnick): + if msg.find(botnick) == 0: + ircsock.send("PRIVMSG " + channel + " :Fight me, " + user + "!\n") + def mug_off(channel): ircsock.send("PRIVMSG " + channel + " :u want some of this, m8?\n") @@ -317,6 +324,13 @@ def listen(botnick): if ircmsg.find(":!whosaid") != -1: get_whosaid(channel, messageText[9:]) + if ircmsg.find(":!notice") != -1: + get_notice(user, channel) + + if ircmsg.find(":!water") != -1: + get_water(user, channel, messageText[7:], botnick) + + if ircmsg.find(":!rollcall") != -1: rollcall(channel) diff --git a/Code/irc/madlibbot/README.md b/Code/irc/madlibbot/README.md index 235d18f..11ed40a 100644 --- a/Code/irc/madlibbot/README.md +++ b/Code/irc/madlibbot/README.md @@ -40,7 +40,8 @@ and continue asking for word replacement until it runs out of words to replace. * Allow story writers the ability to specify that a single answer should be used multiple times in a story * Maybe specified like {{#a noun#}} or {{#a noun#4}} * Create word-munging options that can be specified for a word to modify given user input - * Capital - convert "foo" to "Foo" - * AllCaps - convert "bar" to "BAR" - * Numeric - convert "3" to "three" - * Ordinal - convert "3" to "third" + * title - convert "foo" to "Foo" + * upper - convert "bar" to "BAR" + * lower - convert "bAz" to "baz" + * numeric - convert "3" to "three" + * ordinal - convert "3" to "third" diff --git a/Code/irc/madlibbot/madlib.py b/Code/irc/madlibbot/madlib.py index 90068d0..cbcc512 100755 --- a/Code/irc/madlibbot/madlib.py +++ b/Code/irc/madlibbot/madlib.py @@ -1,12 +1,16 @@ #!/usr/bin/python +import collections import glob +import inflect import random import re +p = inflect.engine() file_pattern = "/home/*/madlibs/*.madlib" file_regex = re.compile(r'^/home/(.*?)/.*/([^/]*)\.madlib$') -word_regex = re.compile(r'{{(.*?)}}') +word_regex = re.compile(r'{{(.*?)(#.*?)?(\|.*)?}}') +word_replace_regex = re.compile(r'^(.*)#(\d*)$') # Take a file path and return a tuple with the title and original path def munge_story(file_name): @@ -25,7 +29,16 @@ def find_stories(limit=999, shuffle=False): # Count the number of replacable words in the story def count_words(story): - return len(word_regex.findall(story)) + # words that have a '#' part and match should only be counted once + count = 0 + repeats = [] + for match in re.finditer(word_regex, story): + if match.group(2) is None: #the '#' part + count += 1 + elif match.group(1) + match.group(2) not in repeats: + count += 1 + repeats.append(match.group(1) + match.group(2)) + return count # Count the number of replacable words in the story when given a file path def count_words_file(storyPath): @@ -45,10 +58,38 @@ def find_next_word(story, rand=False): return (match.group(0), match.group(1)) -# Replace a word and return the entire story body +# Using a query phrase, replace a word and return the entire story body def replace_word(story, query, word): - return story.replace(query, word, 1) - #return re.sub(query, word, story, 1) + rquery = word_regex.search(query) + # '{{foo#bar|baz|bang}}' => ('foo', '#bar', '|baz|bang') + pipes = [p.lower() for p in (rquery.group(3) if rquery.group(3) is not None else '').strip('|').split('|')] + munged_word = process_pipes(word, pipes) + story = story.replace(query, munged_word, 1) + + if rquery.group(2) is not None: #if there is a '#' part we replace all instances + print "Looking for {{" + rquery.group(1) + rquery.group(2) + ".*?}}" + others = re.findall(r'{{' + rquery.group(1) + rquery.group(2) + '.*?}}', story) + if len(others) > 0: + story = replace_word(story, others[0], word) #iteratively replace the next instance + + return story + + +# Modify user input based on certain modifying pipes +def process_pipes(word, pipes): + for pipe in pipes: + try: + word = { + 'upper': lambda word: word.upper(), + 'lower': lambda word: word.lower(), + 'title': lambda word: word.title(), + 'numeric': lambda word: p.number_to_words(word), + 'ordinal': lambda word: p.ordinal(word), + collections.defaultdict: lambda word: word + }[pipe](word) + except Exception: + pass # just keep going if an error occurs processing a pipe + return word # A helper function that will split the story up into chat-printable lengths def yield_lines(line, max_size): diff --git a/Code/irc/madlibbot/madlib.pyc b/Code/irc/madlibbot/madlib.pyc index 99418789e190ac9e818311113693ead219bedc20..4d2823237fa48fa0fa23e357a0ca779064d511ba 100644 GIT binary patch delta 2521 zcmbVN-ES0C6hC)ny1TO<-G0!nr9f-Jux+3sloAS|s8viTC7A-n3e;t1T4p=l-Ofxy zvAfwA2yc?$BpUTeAADB(>Z|Ym0sa>nV@yo^oin@D$`f{a&z^hl`MCF--#Pc&!(W^n z)_={V&2K*apiJ#Q9lw_`fS&CR$FAtb7!Lw16mKsQS^6mw*!=n0H;lWod+p6s+RJ-1{#LrQED*yOE0txh;(7RjS+ke zf;cr5tr0af+I~hMQAJUxQG@8QMss&RqNYv_ohpc=#&JMA*Hh$Qp$2%J&Ov)~q$445 z{I_(Wq0xGhd`Pf(OXRVJG_=KDRDlx(llWhP(qfU%yx@Y6t1(d^#RQ1ONe@#Xt8UeH zL&p!(m^`fc_KNSUIono}1w_AAb;1OlBr4VGPSqBpAx9zzYyKmP^+J~Row`#B1B;cS zYucsgJ0o*&gys4`NK2@M8d3u)r^ZxTO+-H#8)_sv)AgEhIMz6yu=s2zqOZDs=syU~ z8e-DVWEdp!5~J#H^hv^PoxwEd1|b;iQw9uXRi9SoYw@l443elZTsh7R0)p@$CCC^D zP~!x)vtp7zy>GE9Ijb0)C&(b?F*A3!kD3Ox8UTNSA$Cur&3S5eaR`u{1^};7Gr=H0 zb--r>^@5_%sk!G?ioymM;P!|@X|#_cwNq$MM5usrDO`CkG^vv2qUi{>_)srO#>i_X zDa=qKDVH;8-C!?amXCx*RNN2_8Xsu$2$u*p7K@z51y^7JjzWe?LjWVtkzmi)YU^%w zZFIF&^GA1f0tNvJ3H8J1+Sw7L6?5P%P9IQ%EIB2={6OF&No*s>ck3}%_uNo8ul5iq zWaYYFD?353Qg`c4U~xKQxH8BXt|ia)1QocHz|Jd`ofXDzQG^*zVsdlK@gE6@c~g$# z$7_7M_yFPr@gmyTs;)V<*b&iM_`va_@Aa9MbsF23FoFXhr1IKLl~)7WfI6y90e*+H zG6#Tz$5$5MA*i&y#R!Uhg)-l?GZw)IoM`M4Z>le7F36{4vIXRkvF5_WOBD{490+ShL{v9B>llLIxN~ew%%RDKKU0_0RCK{yRx7)onYvP= z(U<8r2VP~VF(&dRoM3J^`aM0>bBtN8c6oEGsc0s1Rc-A)%{*28*LZmzB;+f))zG>g zjpUAZ-kO55vTsM+Nx4Oz9u^0n!2jc2>s%vi5v8JP+a|dro zo8#xL{c_f&6~!+oM^)hYZpjNAOC0cXD36>q&K&m@37K`3IS!n4GaBpuaB>1{7H^t- eS{6@do{4t4EeIy4rKTE)AB2zyF)c;|2~uc zYqXPZ=hfPY0ZkL60i6s86HXDD+5c)rs}_hXoB=d#5EjTB2pi5Q%K?$ob{B-Bg}nB< za7KrCAoAK+0O4t23`9W-K8P_b1R%#NAbi+0ApQa}fKveM0SJVxTA(Izqu@}XhljPB z_4^CQ$HO-mA$r4KhQyO1Q*a3Yee|$lxY$D0XfwqJw37*flomqAfFoc+w61k2FZ;3BiRCl-Dz!;{+U|*{+ts0ImJCVSj}K}j0E1d6FHYr2X!ZAd=?*6+RZnc{&xwVe7>WB4tc8XkSj(`tur!pSho*~O-zbDmOdyeA2+U=8TWJ<;e z083cJ47$XzXtcOw-kfs5kcf2vju4Iv?%kGAmx*| z`U_@|)Il}MjfzK}SPr^TOKN_Lq>tzg5BzzojJh)Dw$l*}i~P}GAbUc63f8c$eg;jv zJA5>5BF?Cd;(GNmMTD~qx)Yp`$S7_-59if~;_cuHySToPs|xGXy44`%;p|1baz{^K zW4JW&8Yh-H;2uHB?P&MXa7BH;bX~W5RoyDNxUE)7O94NVkeP%&gQ?z^D$9I($iveV z9!A|nhLdcYX5g|yZbx{7;SR$J!PR6mlypwgxj^~s- F{0m`zlm`F+ diff --git a/Code/irc/madlibbot/madlibbot.py b/Code/irc/madlibbot/madlibbot.py index 7d71134..6a228b3 100755 --- a/Code/irc/madlibbot/madlibbot.py +++ b/Code/irc/madlibbot/madlibbot.py @@ -59,7 +59,7 @@ def resetGlobals(channel=""): story[channel] = "" nextword[channel] = {} -def get_stories(channel): +def get_stories(channel, botnick): global state global stories state[channel] = State.thinking @@ -73,11 +73,11 @@ def get_stories(channel): for idx, story in enumerate(stories[channel]): sendmsg(channel, "[{}] {} ({} words)".format(idx, story[0], story[2])) time.sleep(0.5 * THROTTLE_FACTOR) - sendmsg(channel, "Please select a story by index:") + sendmsg(channel, "Please select a story by index by saying '{}: ':".format(botnick)) state[channel] = State.story_selection # Handle user input when the bot is directly addressed -def handle_bot_msg(channel, msg): +def handle_bot_msg(channel, msg, botnick): global state global stories @@ -92,9 +92,9 @@ def handle_bot_msg(channel, msg): if saved_state != State.idle and msg == "!quit": quit_game(channel) elif saved_state == State.idle and msg == "startgame": - get_stories(channel) + get_stories(channel, botnick) elif saved_state == State.story_selection: - handle_story_selection(channel, msg) + handle_story_selection(channel, msg, botnick) elif saved_state == State.word_input: handle_story_step(channel, msg) else: @@ -106,7 +106,7 @@ def quit_game(channel): sendmsg(channel, "Ok, quitting the current game.") # Handle user input when we are in story selection mode -def handle_story_selection(channel, msg): +def handle_story_selection(channel, msg, botnick): global stories global state try: @@ -120,19 +120,19 @@ def handle_story_selection(channel, msg): with open(stories[channel][imsg][1], "r") as storyFile: story[channel] = storyFile.read() stories[channel] = {} # Clear out the saved selectable stories in memory - story_start(channel) + story_start(channel, botnick) except ValueError: sendmsg(channel, "Invalid selection. Try again!") state[channel] = State.story_selection # Handle when a story is being started -def story_start(channel): +def story_start(channel, botnick): global story global state global nextword state[channel] = State.thinking - sendmsg(channel, "Alright! Let's get started!") + sendmsg(channel, "Alright! Let's get started! Say '{}: ' to give me words.".format(botnick)) nextword[channel] = madlib.find_next_word(story[channel], True) time.sleep(0.5 * THROTTLE_FACTOR) sendmsg(channel, "Give me {}:".format(nextword[channel][1])) @@ -169,7 +169,7 @@ def finish_story(channel): sendmsg(channel, '=' * MAX_LINE) for line in story[channel].splitlines(): for part in madlib.yield_lines(line, MAX_LINE): - time.sleep(0.4 * THROTTLE_FACTOR) + time.sleep(0.6 * THROTTLE_FACTOR) sendmsg(channel, part) padlen = (MAX_LINE - 9)/2 mod = (MAX_LINE - 9) % 2 @@ -186,10 +186,19 @@ def sendmsg(chan , msg): ircsock.send("PRIVMSG {} :{}\n".format(chan, msg)) def joinchan(chan): + global state + state[chan] = State.idle ircsock.send("JOIN {}\n".format(chan)) def rollcall(channel, botnick): - sendmsg(channel, "Do you like MadLibs? Start a collaborative story by saying '{}: startgame'".format(botnick)) + global state + if channel not in state: + state[channel] = State.idle + + if state[channel] == State.idle: + sendmsg(channel, "Do you like MadLibs? Start a collaborative story by saying '{}: startgame'".format(botnick)) + else: + sendmsg(channel, "A game is already in progress. Say '{}: ' to provide me with the next word or '{}: !quit' to stop the current game".format(botnick, botnick)) def connect(server, channel, botnick): ircsock.connect((server, 6667)) @@ -222,7 +231,7 @@ def listen(botnick): rollcall(channel, botnick) elif message.startswith(botnick) == True: botmsg = botmsgre.match(message).group(1) - handle_bot_msg(channel, botmsg) + handle_bot_msg(channel, botmsg, botnick) sys.stdout.flush() time.sleep(1 * THROTTLE_FACTOR) diff --git a/Code/irc/puzzle.py b/Code/irc/puzzle.py index aa63c60..98ae47c 100644 --- a/Code/irc/puzzle.py +++ b/Code/irc/puzzle.py @@ -11,7 +11,7 @@ fuzz_amount = 3 def make_puzzle(obfuscate=True): answer = 0 bonus = 0 - puzzle = random.choice(["Prove you're not a robot: ", "Are you a robot?: ", "Anti-bot check: ", "Counter-cndorphant measures: ", "Cosnok countermeasures: ", "Anti-tildethief precautions: "]) + puzzle = random.choice(["Prove you're not a robot: ", "Are you a robot?: ", "Anti-bot check: ", "Counter-cnd0rphant measures: ", "Cosn0k countermeasures: ", "Anti-tilde7hief precautions: "]) puzzle += random.choice(["What is", "How many is", "What do you get from", "What do you get with", "What is the value of", "Can you answer", "Can you tell me"]) puzzle += " " roll = random.randrange(0,18) diff --git a/Code/irc/run_madlib.sh b/Code/irc/run_madlib.sh index 9ef73ca..eae894b 100755 --- a/Code/irc/run_madlib.sh +++ b/Code/irc/run_madlib.sh @@ -1,7 +1,7 @@ #!/bin/bash if [[ ! `pidof -sx madlibbot.py` ]]; then - nohup ./madlibbot/madlibbot.py -s 127.0.0.1 -n madlibbot -c \#madlibs >> madliblog 2>> madliblog & + nohup ./madlibbot/madlibbot.py -s 127.0.0.1 -n madlibbot -c \#bots >> madliblog 2>> madliblog & echo "Starting madlibbot" else echo "madlibbot has already been started" diff --git a/Code/irc/tildescores.txt b/Code/irc/tildescores.txt index c480152..618cac1 100644 --- a/Code/irc/tildescores.txt +++ b/Code/irc/tildescores.txt @@ -1,13 +1,13 @@ -krowbar&^%2211&^%1528995967 +krowbar&^%2354&^%1537371836 karlen&^%498&^%1527613440 endorphant&^%682&^%1444775660 jumblesale&^%24&^%1426171214 -marcus&^%2571&^%1528142058 +marcus&^%2574&^%1530026564 papa&^%181&^%1474509971 epicmorphism&^%5&^%1421937744 audy&^%83&^%1504564254 kc&^%28&^%1480730333 -vilmibm&^%15&^%1520970953 +vilmibm&^%17&^%1535654280 cmr&^%2244&^%1485978592 imt&^%519&^%1424087616 cndorphant&^%788&^%1424094192 @@ -39,27 +39,27 @@ synergian&^%22&^%1458152889 dheeraj&^%5&^%1456489270 demobot&^%6&^%1454439605 premysl&^%65&^%1461768606 -minerobbe&^%268&^%1529052078 -xkeeper&^%14&^%1461967961 +minerobbe&^%269&^%1530328006 +xkeeper&^%199&^%1536855625 cosnok&^%807&^%1508878859 escobar&^%1&^%1475431401 amicabot&^%30&^%1481225205 -caff&^%1022&^%1528745010 -kadin&^%5&^%1479870008 -desvox&^%5&^%1481632697 +caff&^%1023&^%1532662853 +kadin&^%8&^%1537306549 +desvox&^%25&^%1537178981 mankins&^%3&^%1480211581 cinch&^%2&^%1480454755 -caffbot&^%968&^%1528745018 +caffbot&^%969&^%1532662872 evilbot&^%4&^%1480693919 tybaltcat&^%7&^%1481076625 minerbot&^%146&^%1520382015 -mio&^%339&^%1506434277 -archangel&^%464&^%1524447604 -tehfraga&^%263&^%1527511198 +mio&^%347&^%1529720473 +archangel&^%476&^%1537304671 +tehfraga&^%537&^%1537326808 sushi&^%10&^%1493253212 -troido&^%285&^%1529052063 -gamebot&^%160&^%1529052049 -nilaky&^%1152&^%1529028413 +troido&^%287&^%1533042798 +gamebot&^%178&^%1533042867 +nilaky&^%1339&^%1537312079 bucket&^%103&^%1507931139 lolbot&^%1&^%1502568407 m455&^%12&^%1512076715 @@ -72,32 +72,32 @@ pinhook&^%8&^%1509744722 emfor&^%3&^%1509671353 k2l8m11n2&^%11&^%1510932395 sacredpix&^%3&^%1522082931 -deltawitc&^%2018&^%1529022699 -login&^%1147&^%1529054074 +deltawitc&^%3045&^%1537372902 +login&^%2076&^%1537359686 kelpiebot&^%3&^%1513101957 -unreal&^%1&^%1514940020 -tildethie&^%3000&^%1521573658 +unreal&^%2&^%1534387108 +tildethie&^%5040&^%1537374440 kinsey&^%26&^%1520446672 testgameb&^%2&^%1517405361 erin&^%2&^%1517681999 wuz&^%3&^%1518125300 hashdang&^%4&^%1518666906 -ubergeek&^%63&^%1526043601 +ubergeek&^%63&^%1530410162 silver&^%9&^%1519333029 -equa&^%47&^%1528124305 +equa&^%53&^%1534373756 audiodude&^%2&^%1519453927 jumblesal&^%1&^%1519746512 -whimsy&^%45&^%1527777458 -wangofett&^%100&^%1528482540 +whimsy&^%47&^%1529678733 +wangofett&^%179&^%1537310239 saturn597&^%3&^%1521429369 cwmccabe&^%2&^%1521598124 lucidiot&^%28&^%1526201925 tracer&^%1&^%1521744878 -jan6&^%571&^%1529054825 +jan6&^%1052&^%1536870225 jan&^%10&^%1522319160 etathetae&^%3&^%1522937843 -eeeeeta&^%31&^%1527704747 -cmccabe&^%66&^%1528506935 +eeeeeta&^%51&^%1535563434 +cmccabe&^%79&^%1529698164 jan6_test&^%7&^%1523252589 jan6_&^%8&^%1523641589 carbon&^%9&^%1524135505 @@ -105,13 +105,31 @@ ne1&^%7&^%1524024485 Halian&^%32&^%1528360263 lunasspec&^%4&^%1524164784 bowlercap&^%3&^%1524165068 -littlebig&^%36&^%1529000570 -severak&^%6&^%1528901245 +littlebig&^%46&^%1535927253 +severak&^%16&^%1533802439 ralph&^%4&^%1526980620 -benjaminw&^%80&^%1529074458 -von&^%120&^%1529074049 -ensis&^%164&^%1529072988 +benjaminw&^%503&^%1537371492 +von&^%392&^%1537371528 +ensis&^%1507&^%1537370624 simon&^%26&^%1527937489 -benharri&^%62&^%1529075403 +benharri&^%1397&^%1536689051 cpb&^%3&^%1528930564 -calmbit&^%4&^%1529073811 +calmbit&^%146&^%1537237248 +wisebot&^%4466&^%1537376483 +paannd_a&^%2&^%1529617165 +nincollin&^%6&^%1531186900 +x4464&^%1&^%1532028546 +pounce&^%19&^%1532133325 +von_&^%5&^%1532502104 +livix&^%7&^%1533603142 +ben&^%3&^%1533767627 +npa&^%78&^%1536235183 +ezo&^%6&^%1533883842 +aliasless&^%30&^%1537198276 +kirch&^%41&^%1535571833 +root&^%2&^%1535558514 +byte&^%5&^%1536416308 +qbe&^%6&^%1537112151 +informati&^%3&^%1536733938 +h00fi&^%1&^%1537050053 +fantoro&^%4&^%1537106482 diff --git a/Code/irc/topics_#bots.txt b/Code/irc/topics_#bots.txt index 8cccc84..342bee9 100644 --- a/Code/irc/topics_#bots.txt +++ b/Code/irc/topics_#bots.txt @@ -40,3 +40,8 @@ 1522267660&^%jan&^%What is the last film you saw? 1522846620&^%krowbar&^%Have you ever had to wear a uniform to school? 1523121085&^%jan6&^%no topics in the tropic +1534250166&^%krowbar&^%hello world +1534294757&^%deltawitc&^%All hail DeltaWitch the Bot Queen +1534300117&^%unreal&^%All hail DeltaWitch the Bot Queen and Unreal the Bot Monarch +1534300975&^%unreal&^%All hail DeltaWitch the Bot Queen and Unreal, Sovran of Bots +1534301504&^%deltawitc&^%All hail DeltaWitch the Bot Queen, and Unreal, Sovran of Bots diff --git a/Code/irc/topics_#tildetown.txt b/Code/irc/topics_#tildetown.txt index f14addb..287d6b9 100644 --- a/Code/irc/topics_#tildetown.txt +++ b/Code/irc/topics_#tildetown.txt @@ -250,3 +250,9 @@ 1526577609&^%archangel&^%When you were in grade school, what did you want to be when you grew up? Why? 1526842324&^%vilmibm&^%welcome, wave of new users <3 1528317036&^%vilmibm&^%what are the feels? +1529602271&^%vilmibm&^%welcome to the town! we're glad you're here. | some other channels that you can /join: #projects (discuss cool stuff other townies have made), #bots (experiment or play with bots), #dumpsterfire (talk about heavy shit) +1533541086&^%vilmibm&^%<3 +1533794911&^%vilmibm&^%if you'd like to be included in the package of memories we're sending to abraxas's family, please get your posts into the BBJ thread by 2018-08-09 19:00 UTC. <3 +1534119128&^%vilmibm&^%<3 | for more about this chat, see https://tilde.town/wiki/irc.html or run `wiki get irc` +1534311634&^%vilmibm&^%welcome! to learn more about this chat, check out https://tilde.town/wiki/irc.html or run `wiki get irc` +1535572794&^%vilmibm&^%weechat has been updated! quit and run `chat` to get the new version if you want | to learn more about this chat, check out https://tilde.town/wiki/irc.html or run `wiki get irc` diff --git a/Code/irc/topicscores.txt b/Code/irc/topicscores.txt index 7002fb3..c1304b2 100644 --- a/Code/irc/topicscores.txt +++ b/Code/irc/topicscores.txt @@ -1,4 +1 @@ -krowbar&^%6&^%2 -jan&^%0&^%1vilmibm&^%0&^%1etathetae&^%1&^%0 -etathetae&^%0&^%2 -jan6&^%0&^%1vilmibm&^%0&^%1vilmibm&^%0&^%1vilmibm&^%0&^%1vilmibm&^%0&^%1vilmibm&^%0&^%1vilmibm&^%0&^%1archangel&^%0&^%1vilmibm&^%0&^%1vilmibm&^%0&^%1 \ No newline at end of file +vilmibm&^%0&^%2 diff --git a/Code/python/bannedWords b/Code/python/bannedWords index e4ff238..7f5b919 100644 --- a/Code/python/bannedWords +++ b/Code/python/bannedWords @@ -197,6 +197,7 @@ there doing even does +doesn theres theyve were diff --git a/Code/python/create_monthly_chatcloud.sh b/Code/python/create_monthly_chatcloud.sh index d440f7f..a1df41c 100755 --- a/Code/python/create_monthly_chatcloud.sh +++ b/Code/python/create_monthly_chatcloud.sh @@ -6,7 +6,7 @@ DATE=`date -d yesterday +%b\ %Y` OUT=/home/krowbar/logs/chatcloud${MONTH}.json DIR=/home/krowbar/public_html/data PAGE=/home/krowbar/public_html/chatcloud/index.html -LINE=7 +LINE=16 /usr/bin/python /home/krowbar/Code/python/chatcloud2.py -timeend $END -timestart $START -outfile $OUT ln -s $OUT $DIR diff --git a/public_html/chatchecker/index.html b/public_html/chatchecker/index.html index cd3cd28..0517160 100644 --- a/public_html/chatchecker/index.html +++ b/public_html/chatchecker/index.html @@ -23,7 +23,7 @@ charset="utf-8">--> d = new Date(0); d.setUTCSeconds((Number(time) + threeDays) % oneWeek - threeDays); - data.push([user, d, d]); + data.push([user, d, d]); }); } }); @@ -54,13 +54,17 @@ charset="utf-8">--> function drawChart() { var container = document.getElementById('timeline'); + console.log('container', container); var chart = new google.visualization.Timeline(container); + console.log('chart', chart); var dataTable = new google.visualization.DataTable(); + console.log('dataTable', dataTable); dataTable.addColumn({ type: 'string', id: 'User' }); dataTable.addColumn({ type: 'date', id: 'Start' }); dataTable.addColumn({ type: 'date', id: 'End' }); + dataTable.addRows(data); chart.draw(dataTable); diff --git a/public_html/chatchecker/todo b/public_html/chatchecker/todo index f6892bf..f3a0f43 100644 --- a/public_html/chatchecker/todo +++ b/public_html/chatchecker/todo @@ -24,3 +24,8 @@ PRESENTATION - See a timeline with colored strands of when they spoke and were mentioned * Something that looks like the Github commit history * Use D3 for coolness + +TODO +* Add a "sort by" dropdown + - name + - most active diff --git a/public_html/chatcloud/index.html b/public_html/chatcloud/index.html index d4e1bc5..19bbcec 100644 --- a/public_html/chatcloud/index.html +++ b/public_html/chatcloud/index.html @@ -1,9 +1,21 @@ + + + Tilde.town Chat Cloud + +
Flat
@@ -105,7 +118,7 @@ jQuery.getJSON(source, function(json) { .size([1200, 800]) .words(jsonWords) .padding(3) - .rotate(function() { return ~~(Math.random() * 2) * 90; }) + .rotate(function() { return ~~(Math.random() * 2) * 90 * !document.getElementById('flat').checked; }) .font("Impact") .fontSize(function(d) { return Math.sqrt(d.size) * 50 / maxSize + 6; }) .on("end", draw); @@ -136,4 +149,6 @@ draw = function(words) { } })(); +(see source) + diff --git a/public_html/du/index.html b/public_html/du/index.html index 635ace0..2a71e84 100644 --- a/public_html/du/index.html +++ b/public_html/du/index.html @@ -1,6 +1,11 @@ Tilder Disk Usage + @@ -26,7 +31,8 @@ title: 'Tilder Disk Usage', subtitle: 'in kb', pieHole: 0.4, - sliceVisibilityThreshold: 0.005 + sliceVisibilityThreshold: 0.005, + backgroundColor: 'wheat' }; var lineoptions = { title: 'Tilder Disk Usage', @@ -34,7 +40,8 @@ vAxis: { 0: {title: 'kb'}, logScale: true - } + }, + backgroundColor: 'wheat' }; jQuery.getJSON("/~krowbar/data/du_log.json", function(json) { @@ -116,4 +123,7 @@
Only Interesting Data
+ diff --git a/public_html/index.html b/public_html/index.html index f6fe390..c307fba 100644 --- a/public_html/index.html +++ b/public_html/index.html @@ -1,28 +1,52 @@ -~krowbar's home page + ~krowbar's home page + -Links and stuff - +

~krowbar's home page

+

Links and stuff

+ -

Tilde.town IRC Chat cloud

- +

Tilde.town IRC Chat cloud

+ -

Mission name generator

- +

Mission name generator

+ -

Tilde.town disk usage

- +

Tilde.town disk usage

+ + +

A poem on build infrastructure

+
+
+    The bi-weekly march to prod /
+    It has 10,000 steps / 
+    We spin up servers with daily build jobs then we knock them down again!
+
+    And sometimes CI's up /
+    And sometimes DEMO's down /
+    But when they're only half-way up they're neither up nor down!
+    
+
diff --git a/public_html/mission/index.html b/public_html/mission/index.html index 61ccc10..48dc70b 100644 --- a/public_html/mission/index.html +++ b/public_html/mission/index.html @@ -1,6 +1,11 @@ Secret Mission Name Generator +