-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathchat.py
More file actions
31 lines (27 loc) · 1.06 KB
/
chat.py
File metadata and controls
31 lines (27 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import re
from codecs import open
from json import dumps
username = str
name = "Edward" # bot name
answers = open("chat.rc", "r", "utf-8").read() # scan file to do not have to re-open it for each operation
def getAnswer(trigger):
try:
# catch answer with trigger
m = re.search('{"trigger": "'+re.escape(trigger)+'", "answer": "(.+)"}', answers)
return name + ": " + m.group(1).replace("%n", username)
except AttributeError:
answer = input(name + ": Je ne comprends pas ce que vous me demandez, que dois-je répondre la prochaine fois? ")
addAnswer(trigger, answer)
def getTrigger(answer):
m = re.search('{"trigger": "(.+)", "answer": "'+answer+'"}', answers)
return m.group(1)
def addAnswer(trigger, answer):
open("chat.rc", "a+", "utf-8").write(json.dumps({'trigger':trigger, 'answer':answer}))
print(getAnswer("__firstcontact__"))
try:
username = input("<Entrez votre nom> ")
while(True):
print(getAnswer(input("$ ")))
except KeyboardInterrupt:
print("\nBye!")
exit(1)