5
__copyright__ = 'this file is in the public domain'
17
""" repesents a user """
19
def __init__(self, name, userhosts, perms):
21
self.userhosts = list(userhosts)
22
self.perms = list(perms)
29
self.tempuserhosts = []
32
every user has a name and two lists of userhosts and permissions. email can
33
be set and status can be used for other things than permissions for example
34
auto-opping is done by setting the status of a user to the channelname.
35
the permit list is used to allow other users access.
36
passwd, allowed, notallowed, tempuserhosts and userdata are not used at the
37
moment. the database variant has separate tables for userhosts, perms,
38
email, permits and status.
40
get help on the user plugin
41
~~~~~~~~~~~~~~~~~~~~~~~~~~~
45
< gozerbot> plugin description: manage users
46
< gozerbot> commands: user-add .. user-addperm (addperms) .. user-addpermit
47
(addpermit) .. user-addstatus (addstatus) .. user-adduserhost
48
(adduserhost) .. user-allperm .. user-allstatus .. user-check
49
(check) .. user-del (delete) .. user-delemail (delemail) ..
50
user-delperm .. user-delstatus (delstatus) .. user-deluserhost
51
(deluserhosts) .. user-deny (deny) .. user-email (email) ..
54
< gozerbot> (getemail) .. user-getname (gn) .. user-getperms (getperms) ..
55
user-getstatus (getstatus) .. user-getuserhosts (getuserhosts) ..
56
user-match (match) .. user-match (match) .. user-meet (meet) ..
57
user-merge (merge) .. user-name (name) .. user-names (names) ..
58
user-permit (permit) .. user-perms (perms) .. user-scan (us) ..
59
user-search .. user-setemail (setemail) .. user-show .. (+1)
61
< gozerbot> user-status (status) .. user-userhosts (userhosts)
63
add a new user to the database
64
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66
use a nick as argument. username is set to nickname
70
< gozerbot> dunker added to user database
72
add a new user to the database using own provided name and userhost
75
< dunk> !user-add dunker bart@localhost
76
< gozerbot> dunker added to user database
83
< gozerbot> dunk deleted
85
to see if there is already a user in the database
86
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
89
< dunk> !user-scan dunk
92
to add the userhost of a nick to an already available user
93
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96
< dunk> !merge dunker bart
97
< gozerbot> bart merged
99
get the permission of a user
100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
103
< dunk> !user-getperms owner
104
< gozerbot> USER .. ADMIN .. MAIL .. RSS .. VOTE .. FORGET .. ALIAS .. OPER
105
.. QUOTE .. SENDRAW .. SAY
107
add a permission to an user
108
~~~~~~~~~~~~~~~~~~~~~~~~~~~
111
< dunk> !user-addperm dunker OPER
112
< gozerbot> OPER perm added
114
delete a permission from an user
115
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
118
< dunk> !user-delperm dunker OPER
119
< gozerbot> OPER perm removed
121
the same get/set/delete commands are there for userhosts, permit and status
122
email, passwd can be set and unset
124
permit an other user to edit my shop list
125
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
127
allow is an alias to user-addpermit
130
< dunk> !allow dunk shop
131
< gozerbot> permit added
136
deny is an alias to user-delpermit
139
< dunk> !deny dunk shop
140
< gozerbot> shop denied
142
get shop list of user if its allowed by that user
143
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
146
< dunk> !shop-get dunk
147
< gozerbot> nothing to shop ;]
149
same can be done with todo lists