]> gitweb.pimeys.fr Git - bots/bbc.git/blob - config.py
Commandes OP et DEOP en privmsg
[bots/bbc.git] / config.py
1 #!/usr/bin/python
2 # -*- encoding: utf-8 -*-
3
4 """Configuration d'un bot IRC (squelette de base vide)"""
5
6 debug_stdout = True
7
8 ### La config irc-related
9 irc_password = "HiddenInPlainSight"
10 irc_pseudo = "BBC"
11 ircname = "Come to #DW"
12 #: Liste des chans à rejoindre
13 chanlist = ["#bot"] # #DW
14 #: Liste des chans que le bot ne quitte pas, même sur demande d'un leave de la part d'un OP
15 stay_channels = ["#bot"] # #DW
16 #: Liste des chans sur lesquels le bot ne parle pas
17 quiet_channels = []
18
19 ### Les logs
20 #: fichier de log (``%s`` est remplacé par le nom du serveur)
21 logfile_template = "bbc.%s.log"
22
23 ### Les ops
24 #: Liste des OVEROPs (meilleurs que les OP ^^)
25 overops = ["[20-100]"]
26 #: Liste des OPs (la liste des :py:data:`overops` y est ajoutée)
27 ops = []
28
29 # config UTF8-fail
30 utf8_fail_answers = [u"Have you tried to reverse the polarity of the encoding flow?"]
31 #: Le bot râle-t-il en cas de non-utf8 ?
32 utf8_trigger = True
33
34 ### config "tu m'traites ?"
35 #: Liste des insultes reconnues par le bot
36 insultes = [u"conna(rd|sse)", u"pute", u"con(|ne)", u"enf(oiré|lure)",
37 u"sal(op(|e(|rie)|ard)|aud)", u"p(e|')tite bite", u"imbécile", u"idiot", u"stupid(|e)", u"débile", u"crétin",
38 u"pétasse", u"enculé", u"chagasse", u"cagole", u"abruti", u"ahuri", u"analphabète", u"andouille",
39 u"atardé", u"avorton", u"bachibouzouk", u"(balais|brosse) (de|à) chiotte(|s)",
40 u"batard", u"blaireau", u"bouffon", u"branque", u"bouseux", u"branleur", u"catin", u"chacal",
41 u"charogne", u"chiant(|e)", u"chieur", u"cochon", u"coprophage", u"couillon", u"crapule", u"crevard",
42 u"cruche", u"cuistre", u"ducon", u"décérébré",
43 u"emmerdeur", u"feignasse", u"fainéant", u"fourbe", u"freluquet", u"frigide",
44 u"garce", u"glandu", u"gogol", u"goujat", u"gourdasse", u"gredin", u"gringalet", u"grognasse",
45 u"naze", u"truie", u"iconoclaste",
46 u"peigne(-|)cul", u"ignare", u"illétré", u"lèche(|-)cul", u"malotru", u"motherfucker", u"nabot", u"nigaud",
47 u"nul", u"escroc", u"pouffiasse", u"pourriture", u"raclure", u"relou", u"sagouin", u"putain",
48 u"péripatéticienne"]
49 #: Liste des réponses possibles à une insulte
50 insultes_answers = [
51 u"Ceci est une réponse à une insulte."]
52
53 ### config "tais-toi"
54 #: Liste des pattern qui vont faire taire le bot
55 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"]
56 #: Liste des actions effectuées en réponses à un :py:data:`tag_triggers` si
57 #: l'utilisateur n'est pas OP
58 tag_actions = [u"effectue une action en réponse à un \"tais-toi\"."]
59 #: Liste des réponses adressée à un utilisateur non-OP
60 #: suite à un :py:data:`tag_triggers`
61 tag_answers = [
62 u"Ceci est une réponse à un 'tais-toi' à quelqu'un qui n'en a pas le droit."]
63
64 ### config ping
65 #: Liste des pings
66 tesla_triggers = [u"t('|u )es là \?", u"\?", u"plop \?", u"plouf \?"]
67 #: Liste des pongs
68 tesla_answers = [
69 u"Ceci est une réponse à 't'es là ?'."
70 ]
71 #: Liste des actions pong
72 tesla_actions = [u"effectue une action en réponse à un \"t'es là ?\"."]
73
74 ### config en cas de non-insulte
75 #: Liste des compliments
76 compliment_triggers = [u"gentil", u"cool", u"sympa", u"efficace"]
77 #: Liste des réponses à un compliment
78 compliment_answers = [
79 u"Ceci est une réponse à une non-insulte."
80 ]
81
82 ### config merci
83 #: Liste des mercis
84 merci_triggers = [u"merci", u"remercie", u"thx", u"thank(|s)"]
85 #: Liste des réponses à un remerciement
86 merci_answers = [u"Ceci est une réponse à un remerciement."]
87
88 # config "ta mère"
89 tamere_triggers = [u"ta mère"]
90 tamere_answers = [u"Ceci est une réponse à un \"ta mère\"."]
91
92 # config pour les actions désagréables
93 bad_action_triggers = [u"(frappe|cogne|tape)(| sur)", u"(démolit|dégomme|fouette|agresse|tabasse)",
94 u"(vomit|pisse|chie|crache) sur", u"slap(|s)"]
95 bad_action_answers = [
96 u"Ceci est une réponse en cas d'action désagréable. (Elle a été perpetrée par {})"
97 ]
98 bad_action_actions = [u"effectue une action en réponse à une action désagréable."]
99
100 # config pour les actions agréables
101 good_action_triggers = [u"fait (:?des bisous|un c(?:â|a)lin|des c(?:â|a)lins) à", u"embrasse", u"c(?:â|a)line", u"caresse"]
102 good_action_answers = [u"Ceci est une réponse à une action agréable. (Prodiguée par {})"]
103 good_action_actions = [u"effectue une action en réponse à une action agréable."]
104
105 # config bonjour/bonsoir/que fais-tu encore debout à cette heure, gros sale !
106 bonjour_triggers = [u"(s|)(a|'|)lu(t|)", u"hello", u"pl(o|i)p", u"pr(ou|ü)t", u"bonjour", u"bonsoir", u"coucou"]
107 bonjour_answers = [u"Ceci est un message bonjour. (En réponse à {})"]
108 bonsoir_answers = [u"Ceci est un message bonsoir. (En réponse à {})"]
109 night_answers = [u"Ceci est un message envoyé à {} si il dit bonjour en pleine nuit."]
110 daytime = [7, 18] # c'est quoi le "jour" ?
111 nighttime = [3, 6] # c'est quoi la "nuit" ?
112
113 # config dodo
114 bonne_nuit_triggers = [u"bonne nuit", u"'?nite", u"'?nuit", u"'?night", u"good night", u"'?nenuit"]
115 bonne_nuit_answers = [u"Ceci est un message de souhait de bonne nuit. (En réponse à {})"]
116
117 # config quelqu'un s'est défoulé sur le bot
118 kick_answers = [u"Ceci est un message suite à /kick (Perpetré par {})"]
119 kick_actions = [u"effectue une action suite à un /kick."]
120
121 # config on m'a demandé de mourir/partir
122 quit_messages = [u"Geronimo!", u"Allons-y!", u"I don't wanna go!"]
123 leave_messages = quit_messages
124
125 quit_fail_messages = [u"Check your records again."]
126 leave_fail_messages = quit_fail_messages
127
128 # config d'aide
129 helpdico = {"help" : ["""HELP <commande>
130 Affiche de l'aide sur la commande""", None, None],
131 "join" : [None, """JOIN <channel>
132 Me fait rejoindre le channel""", None],
133 "leave" : [None, """LEAVE <channel>
134 Me fait quitter le channel (sauf s'il est dans ma stay_list).""", None],
135 "quiet" : [None, """QUIET <channel>
136 Me rend silencieux sur le channel.""", None],
137 "noquiet" : [None, """NOQUIET <channel>
138 Me rend la parole sur le channel.""", None],
139 "say" : [None, None, """SAY <channel> <message>
140 Me fait parler sur le channel."""],
141 "do" : [None, None, """DO <channel> <action>
142 Me fait faitre une action (/me) sur le channel."""],
143 "stay" : [None, None, """STAY <channel>
144 Ajoute le channel à ma stay_list."""],
145 "nostay" : [None, None, """NOSTAY <channel>
146 Retire le channel de ma stay_list."""],
147 "ops" : [None, None, """OPS
148 Affiche la liste des ops."""],
149 "overops" : [None, None, """OVEROPS
150 Affiche la liste des overops."""],
151 "kick" : [None, None, """KICK <channel> <pseudo> [<raison>]
152 Kicke <pseudo> du channel (Il faut bien entendu que j'y sois op)."""],
153 "die" : [None, None, """DIE
154 Me déconnecte du serveur IRC."""],
155 "op" : [None, None, """OP <channel> [<pseudo>]
156 Donne le mode +o à <pseudo> sur <channel>. À défaut de pseudo, oppe l'interlocuteur."""],
157 "deop" : [None, None, """DEOP <channel> [<pseudo>]
158 Enlève le mode +o à <pseudo> sur <channel>. À défaut de pseudo, déoppe l'interlocuteur."""],
159 }