Browse Source

cedbot try to answwer question

Bachir Soussi Chiadmi 7 years ago
parent
commit
e1dc2e753f
2 changed files with 42 additions and 8 deletions
  1. 8 0
      cedbot.service
  2. 34 8
      cedbot_muc.py

+ 8 - 0
cedbot.service

@@ -0,0 +1,8 @@
+[Unit]
+Description=cedbot service
+After=syslog.target network.target
+[Service]
+ExecStart=/home/bach/cedbot/cedbot_muc.py
+Restart=on-abort
+[Install]
+WantedBy=multi-user.target

+ 34 - 8
cedbot_muc.py

@@ -106,10 +106,23 @@ class MUCBot(sleekxmpp.ClientXMPP):
                    for stanza objects and the Message stanza to see
                    how it may be used.
         """
-        if msg['mucnick'] != self.nick and self.nick in msg['body']:
-            self.send_message(mto=msg['from'].bare,
-                              mbody="I heard that, %s." % msg['mucnick'],
-                              mtype='groupchat')
+        if msg['mucnick'] != self.nick:
+            if self.nick in msg['body']:
+                send_msg(msg=":), %s." % msg['mucnick'])
+
+                if '?' in msg['body']:
+                    if 'who are you' in msg['body']:
+                        send_msg(msg="I am the chatbot from De La Convivialité des Espaces Discrets")
+                        send_msg(msg="check this http://convivialite-espaces-discrets.net ;)")
+                    else:
+                        send_msg(msg="humm ...")
+                        send_msg(msg="it seems that you asked me a question")
+                        send_msg(msg="but i'm not able to understand it ... yet :/")
+                        send_msg(msg="I'm just a bot after all")
+                        send_msg(msg="but I'll try to learn how to answer you")
+                        send_msg(msg="please come back later")
+                        send_msg(msg="i'll tell you when i'm ready :)")
+                        learn(question=msg['body'], user=msg['mucnick'])
 
     def muc_online(self, presence):
         """
@@ -124,10 +137,23 @@ class MUCBot(sleekxmpp.ClientXMPP):
                         to see how else it may be used.
         """
         if presence['muc']['nick'] != self.nick:
-            self.send_message(mto=presence['from'].bare,
-                              mbody="Hello, %s %s" % (presence['muc']['role'],
-                                                      presence['muc']['nick']),
-                              mtype='groupchat')
+            send_msg(msg="Hello, %s %s" % (presence['muc']['role'],presence['muc']['nick']))
+
+
+    def send_msg(msg):
+        self.send_message(mto=msg['from'].bare,
+                          mbody=msg,
+                          mtype='groupchat')
+
+    # def beep(hz):
+    #     # TODO: make convesdis beeping
+    #
+    # def speak():
+    #     # TODO: make convesdis speaking
+    #
+    def learn(question, user):
+        # TODO: record unanswerable questions with user from and ask me
+        print('unanswered question "%s" by %s' % (question, user)) 
 
 
 if __name__ == '__main__':