]> gitweb.pimeys.fr Git - bots/parrot.git/blob - config.py
Regexp avec le flag UNICODE histoire de matcher correctement les espaces insécables
[bots/parrot.git] / config.py
1 #!/usr/bin/python
2 # -*- encoding: utf-8 -*-
3
4 """ Configuration de Basile """
5
6 #: Faut-il débuguer sur la sortie standard par défaut ?
7 debug_stdout = True
8
9 ## La config irc-related
10 #: Mot de passe NickServ. TODO : le mettre dans un secrets.py
11 irc_password = "1iuh0HiJKWjuE"
12 #: Pseudo IRC
13 irc_pseudo = "Parrot"
14 #: Liste des channels à rejoindre
15 chanlist = ["#bot", "#flood", "#bio", "#wikininja"]
16 #: Liste des channels à ne pas quitter
17 stay_channels = ["#bot", "#flood"]
18 #: Liste des channels où se taire
19 quiet_channels = []
20
21 #: Le template des noms de fichier de log
22 logfile_template = "parrot.%s.log"
23
24 #: Les OVEROPs, tous les droits sur le bot
25 overops=["[20-100]","[20-100]_c"]
26 #: Les OPs, moins de droits que les OVEROPs
27 ops=["Chopopope"]
28 #: À qui s'adresser (par IRC) quand le bot rencontre une erreur
29 report_bugs_to=["[20-100]"]
30
31 #: config UTF8-fail
32 utf8_fail_answers = [u"« Encodings : you need to stop the pain » ~ Ned Batchelder"]
33 #: Doit-on râler en cas de fial d'UTF-8
34 utf8_trigger = True
35
36 #: config "tais-toi"
37 tag_triggers = [u"t(|a)g", u"ta gueule", u"la ferme", u"ferme( |-)la", u"tais-toi", u"chut", u"tu fais trop de bruit", u"tu parles trop"]
38 tag_actions = [u"ne citera plus"]
39 tag_answers = [
40 u"« Un grand pouvoir implique de grandes responsabilités » ~ Oncle Ben.",
41 ]
42
43 #: config on m'a demandé de mourir/partir
44 quit_messages = [u"« » ~ "]
45 leave_messages = quit_messages
46
47 quit_fail_messages = [u" « » ~ "]
48 leave_fail_messages = quit_fail_messages
49
50 #: Aide sur les commandes
51 helpdico = {
52 "help" : [u"""HELP <commande>
53 Affiche de l'aide sur la commande""", None, None],
54
55 "join" : [None, u"""JOIN <channel>
56 Me fait rejoindre le channel""", None],
57
58 "leave" : [None, u"""LEAVE <channel>
59 Me fait quitter le channel (sauf s'il est dans ma stay_list).""", None],
60
61 "quiet" : [None, u"""QUIET <channel>
62 Me rend silencieux sur le channel.""", None],
63
64 "noquiet" : [None, u"""NOQUIET <channel>
65 Me rend la parole sur le channel.""", None],
66
67 "lost" : [None, u"""LOST <channel>
68 Me fait perdre sur le channel.""", None],
69
70 "reload" : [None, u"""RELOAD
71 Recharge la configuration.""", None],
72
73 "say" : [None, None, u"""SAY <channel> <message>
74 Me fait parler sur le channel."""],
75
76 "do" : [None, None, u"""DO <channel> <action>
77 Me fait faitre une action (/me) sur le channel."""],
78
79 "stay" : [None, None, u"""STAY <channel>
80 Ajoute le channel à ma stay_list."""],
81
82 "nostay" : [None, None, u"""NOSTAY <channel>
83 Retire le channel de ma stay_list."""],
84
85 "ops" : [None, None, u"""OPS
86 Affiche la liste des ops."""],
87
88 "overops" : [None, None, u"""OVEROPS
89 Affiche la liste des overops."""],
90
91 "kick" : [None, None, u"""KICK <channel> <pseudo> [<raison>]
92 Kicke <pseudo> du channel (Il faut bien entendu que j'y sois op)."""],
93
94 "die" : [None, None, u"""DIE
95 Me déconnecte du serveur IRC."""],
96
97 "crash" : [None, None, u"""CRASH
98 Me fait crasher"""],
99
100 "dump" : [u"""DUMP
101 Sauvegarde les quotes dans un fichier texte. (nécessite d'être OP en query, pas en public)""", None, None],
102
103 "restore" : [None, None, u"""RESTORE
104 Remplace la QuoteDB par les quotes dans le fichier texte de dump.
105 (Les quotes depuis le dernier dump sont perdues)"""],
106 }
107
108 #: Message d'aide par défaut
109 helpmsg_default = u"Liste des commandes disponibles :\nHELP DUMP"
110 #: Message d'aide par défaut à ajouter pour les OPs
111 helpmsg_ops = u" JOIN LEAVE QUIET NOQUIET RELOAD"
112 #: Message d'aide par défaut à ajouter pour les OVEROPs
113 helpmsg_overops = u" SAY DO STAY NOSTAY OPS OVEROPS KICK DIE CRASH RESTORE"
114
115 #: Liste de paires de masques ``[black, exceptlist]`` : on blacklistera ce qui match ``black``
116 #: et aucun élément de ``exceptlist``
117 blacklisted_masks = [("Flo!*@*", [])]
118
119 #: Regexp utilisée pour parser des quotes
120 quote_regexp = ur"""\s*(?:"|«|')\s*(?P<content>.+?)\s*(?:"|»|')\s*~\s*(?P<author>.+?)\s*(?:$|\n)"""
121
122 #: Regexp utlisée pour parser une quote avec timestamp
123 quote_regexp_with_timestamp = ur"(?P<timestamp>.{19}) " + quote_regexp
124
125 #: Template pour afficher une quote
126 quote_template = u"« %(content)s » ~ %(author)s"
127
128 #: Fichier pour stocker les quotes
129 quote_file = u"quotes.json"
130
131 #: Fichier pour exporter les quotes
132 quote_dump_file = u"quotes.txt"
133
134 #: URL où sont disponibles les quotes
135 quote_display_url = u"http://cerebro.crans.org/parrot-quotes.txt (campus-only)"