Browse Source

Use vocabulary file for welcome & greetings

- greetings = the bot's first message upon arrival in the MUC.
- welcome = message the bot sends whenever somebody connects.

Closes: #4
Matteo Cypriani 2 years ago
parent
commit
d39e6dcea9
2 changed files with 18 additions and 8 deletions
  1. 8
    8
      kaabot.py
  2. 10
    0
      vocabulary.json

+ 8
- 8
kaabot.py View File

@@ -41,8 +41,10 @@ default_vocabulary = {
41 41
     'help': ["My vocabulary empty, I can't help you."],
42 42
     'empty_log': ["No log for you."],
43 43
     'gossips': ["{nick} is reading the back log."],
44
+    'greetings': ["/me is here!"],
44 45
     'insults': ['If I had vocabulary, I would insult {nick}.'],
45 46
     'uptime': ["I'm up for {uptime}."],
47
+    'welcome': ["{nick}'s last connection: {date}."],
46 48
     # Responses to direct messages (not on a MUC):
47 49
     'refusals': ["I don't accept direct messages. Try on a MUC."],
48 50
 }
@@ -327,14 +329,12 @@ class KaaBot(sleekxmpp.ClientXMPP):
327 329
                     try:
328 330
                         user = self.users.find_one(nick=nick)
329 331
                         offline_timestamp = user['offline_timestamp']
330
-                        msg = ("Salut {nick}, la dernière fois"
331
-                               " que j'ai vu ta pomme c'était le {date}.")
332
-                        msg_formatted = msg.format(nick=nick,
333
-                                                   date=datetime.datetime.strftime(
334
-                                                       offline_timestamp,
335
-                                                       format="%c"))
332
+                        date = datetime.datetime.strftime(offline_timestamp,
333
+                                                          format="%c")
334
+                        msg = self.pick_sentence('welcome').format(nick=nick,
335
+                                                                   date=date)
336 336
                         self.send_message(mto=presence['from'].bare,
337
-                                          mbody=msg_formatted,
337
+                                          mbody=msg,
338 338
                                           mtype='groupchat')
339 339
                     except TypeError:
340 340
                         msg = 'KaaBot : No offline timestamp yet for {nick}'
@@ -346,7 +346,7 @@ class KaaBot(sleekxmpp.ClientXMPP):
346 346
             # Set bot online timestamp.
347 347
             self.online_timestamp = datetime.datetime.now()
348 348
             self.send_message(mto=presence['from'].bare,
349
-                              mbody='/me est dans la place !',
349
+                              mbody=self.pick_sentence('greetings'),
350 350
                               mtype='groupchat')
351 351
 
352 352
     def muc_offline(self, presence):

+ 10
- 0
vocabulary.json View File

@@ -12,6 +12,10 @@
12 12
 		"{nick} consulte l'historique en loucedé !",
13 13
 		"Il semblerait que {nick} souhaite rester discret·e pour consulter l'historique."
14 14
 	],
15
+	"greetings": [
16
+		"/me est dans la place !",
17
+		"Me voilà !"
18
+	],
15 19
 	"insults": [
16 20
 		"Hé, {nick}, tu peux apprendre à écrire ?",
17 21
 		"J'y comprends rien à ton charabia, {nick} !",
@@ -32,5 +36,11 @@
32 36
 	"refusals": [
33 37
 		"Je ne parle pas aux étrangers, cause-moi sur une MUC !",
34 38
 		"Ma maman m'a dit de ne pas parler à des inconnus. Essaye plutôt sur une MUC."
39
+	],
40
+	"welcome": [
41
+		"Salut {nick}, la dernière fois que j'ai vu ta pomme c'était le {date}.",
42
+		"{nick}, personne n'avait remarqué que tu étais parti·e depuis le {date}.",
43
+		"{nick} n'est pas venu·e depuis le {date}, mais on s'en est bien passés.",
44
+		"L'absence de {nick} depuis le {date} était une bénédiciton, mais ce temps est révolu !"
35 45
 	]
36 46
 }

Loading…
Cancel
Save