summaryrefslogtreecommitdiff
path: root/client/modules/Joke.py
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2014-07-26 23:31:25 +0000
committerschneefux <schneefux+commit@schneefux.xyz>2014-07-26 23:31:25 +0000
commit78389f252a021d642a7a0146b658f0465da6e264 (patch)
treeb740c6339ceba381004d3441f2459f65d38d02a6 /client/modules/Joke.py
parent2c55f4da462383ee6c7b89ea44e5c40cd5badf0c (diff)
downloadjasper-client-78389f252a021d642a7a0146b658f0465da6e264.tar.gz
jasper-client-78389f252a021d642a7a0146b658f0465da6e264.zip
Work on Google STT on RPi.
Diffstat (limited to 'client/modules/Joke.py')
-rw-r--r--client/modules/Joke.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/client/modules/Joke.py b/client/modules/Joke.py
new file mode 100644
index 0000000..52b3eb9
--- /dev/null
+++ b/client/modules/Joke.py
@@ -0,0 +1,63 @@
+import random
+import re
+
+WORDS = ["JOKE", "KNOCK KNOCK"]
+
+
+def getRandomJoke(filename="../static/text/JOKES.txt"):
+ jokeFile = open(filename, "r")
+ jokes = []
+ start = ""
+ end = ""
+ for line in jokeFile.readlines():
+ line = line.replace("\n", "")
+
+ if start == "":
+ start = line
+ continue
+
+ if end == "":
+ end = line
+ continue
+
+ jokes.append((start, end))
+ start = ""
+ end = ""
+
+ jokes.append((start, end))
+ joke = random.choice(jokes)
+ return joke
+
+
+def handle(text, mic, profile):
+ """
+ Responds to user-input, typically speech text, by telling a joke.
+
+ Arguments:
+ text -- user-input, typically transcribed speech
+ mic -- used to interact with the user (for both input and output)
+ profile -- contains information related to the user (e.g., phone number)
+ """
+ joke = getRandomJoke()
+
+ mic.say("Knock knock")
+
+ def firstLine(text):
+ mic.say(joke[0])
+
+ def punchLine(text):
+ mic.say(joke[1])
+
+ punchLine(mic.activeListen())
+
+ firstLine(mic.activeListen())
+
+
+def isValid(text):
+ """
+ Returns True if the input is related to jokes/humor.
+
+ Arguments:
+ text -- user-input, typically transcribed speech
+ """
+ return bool(re.search(r'\bjoke\b', text, re.IGNORECASE))