]> gitweb.pimeys.fr Git - bots/parrot.git/blob - config.py
Meilleur refuse message
[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", "PEB"]
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"« Not today » ~ potato"]
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 des !commandes
109 helpmsg_before = u"""Commandes accessibles sur un channel :
110 !quote : afficher une quote au hasard
111 !author <chose> : afficher les auteurs contenant <chose>
112 !author-reg <chose> : afficher les auteurs qui matchent la regexp ^<chose>$
113 !from/!from-reg <chose> : fait la même recher puis sélectionne au hasard une quote d'un des auteurs trouvés
114 !search/!search-reg <chose> : afficher une quote contenant <chose>/matchant ^<chose>$
115 Parrot: display -> affiche l'url où est disponible le dernier dump des quotes.
116 Parrot: dump (cf HELP en query)
117 """
118
119 #: Message d'aide par défaut
120 helpmsg_default = helpmsg_before + u"Liste des commandes disponibles en privé :\nHELP DUMP"
121 #: Message d'aide par défaut à ajouter pour les OPs
122 helpmsg_ops = u" JOIN LEAVE QUIET NOQUIET RELOAD"
123 #: Message d'aide par défaut à ajouter pour les OVEROPs
124 helpmsg_overops = u" SAY DO STAY NOSTAY OPS OVEROPS KICK DIE CRASH RESTORE"
125
126 #: Liste de paires de masques ``[black, exceptlist]`` : on blacklistera ce qui match ``black``
127 #: et aucun élément de ``exceptlist``
128 blacklisted_masks = [("Flo!*@*", [])]
129
130 #: Regexp pour le lieu et le quoter
131 quote_optionnal_fields = ur"(?:\|\s*(?P<place>[^|]+?)\s*(?:\|\s*(?P<quoter>[^|]+?)\s*)?)?"
132
133 #: Regexp utilisée pour parser des quotes
134 quote_regexp = ur"""\s*(?:"|«|')\s*(?P<content>.+?)\s*(?:"|»|')\s*~\s*(?P<author>[^|]+?)\s*%s(?:$|\n)""" % (quote_optionnal_fields,)
135
136 #: Regexp utlisée pour parser une quote avec timestamp
137 quote_regexp_with_timestamp = ur"(?P<timestamp>.{19}) " + quote_regexp
138
139 #: Template pour afficher une quote
140 quote_template = u"« %(content)s » ~ %(author)s"
141
142 #: Fichier pour stocker les quotes
143 quote_file = u"quotes.json"
144
145 #: Fichier pour exporter les quotes
146 quote_dump_file = u"quotes.txt"
147
148 #: URL où sont disponibles les quotes
149 quote_display_url = u"http://cerebro.crans.org/parrot-quotes.txt (campus-only)"
150
151 #: Suffixes qui font qu'une commande va utiliser des regexp
152 regex_suffixes = ["-r", "reg", "-reg", "regex", "-regex", "regexp", "-regexp"]
153
154 #: Nombre maximum d'auteurs qu'on peut demander à afficher
155 search_max_authors = 20