]> jfr.im git - irc/rqf/shadowircd.git/blob - doc/modeg.txt
[svn] - the new plan:
[irc/rqf/shadowircd.git] / doc / modeg.txt
1 User Mode +g Documentation
2
3 Hybrid 7 includes a new and power feature that all users can take advantage
4 of to help prevent flooding and unwanted messages. This new feature is
5 invoked by setting user mode +g. When a client is set +g, that user will
6 be in "Caller ID" mode. Any user that messages a +g client will receive
7 a notice saying that they are in +g (server side ignore) mode. The target
8 client (who is set +g) will also receive a notice saying that so and so
9 messaged them, and that they are in +g mode.
10
11 The target of the message will only receive one notification per minute, from
12 any client, in order to help prevent flooding. The sender will NOT have the
13 rate limit, and will receive a notice saying the target is in +g mode every
14 time they send a message. Note that this behavior is similar to the way AWAY
15 messages are done.
16
17 There are numerous benefits for both opers and regular users, including the
18 ability to stop spambot messages from ever reaching your client, stopping
19 private message and CTCP floods, and being able to sit on IRC in privacy.
20
21 One question that arises is how to message specific users, while blocking
22 out everyone else. The command ACCEPT is your answer. To add a user to
23 your accept list, issue the raw command ACCEPT <nick>,<nick>,<nick>,...
24
25 You will not receive a reply from the ACCEPT command if it is succesful,
26 only if an error has occured. There are three possible errors, shown by
27 numerics:
28
29 ERR_ACCEPTFULL (456): :irc.server 456 client :Accept list is full
30 - This is sent when an accept list is full.
31 ERR_ACCEPTEXIST (457): :irc.server 457 client target :already exists
32 - This is sent when a client tries to add a user to the accept list
33 that already exists there
34 ERR_ACCEPTNOT (458): :irc.server 458 client target :doesnt exist
35 - This is sent when a client tries to remove a user from their accept
36 list who is not on the accept list.
37
38 That user will now be able to send messages to your client until the
39 association is broken.
40
41 Associations break in one of the following situations: when an accepted user
42 QUIT's (or is on the other side of a split), you QUIT, or the accepted user
43 changes their nick. The reason why a remote user's nick change will remove
44 them from your accept list is so that you cannot track a user after they
45 changed their nick.
46
47 Viewing the accept list is also very easy. Issue the raw command ACCEPT *.
48 Removing a user from your accept list is also simple. Issue the command
49 ACCEPT -<nick>.
50
51 Sample Session
52
53 The easiest way to see how this works is by experiencing it. Seeing a sample
54 session can help understand what goes on though.
55
56 Client Hwy-LL is set +g initially.
57 Client Hwy101 wants to message Hwy-LL
58
59 Note that some clients may have to use /quote ACCEPT instead of /accept.
60
61 --
62
63 Client Hwy101: /msg Hwy-LL hi
64 Hwy101 will see: -Hwy-LL- *** I'm in +g mode (server side ignore).
65 -Hwy-LL- *** I've been informed you messaged me.
66
67 Hwy-LL will see: Client Hwy101 [wcampbel@admin.irc.monkie.org] is messaging
68 you and you are +g
69
70 The sender will receive the NOTICE from the target of the message, while
71 the recipient will receive the NOTICE from the server.
72
73 --
74
75 If Hwy101 sends another message to Hwy-LL (before the minute expires), he will
76 see: -Hwy-LL- *** I'm in +g mode (server side ignore).
77 and will not receive the second notice
78
79 Hwy-LL will NOT see any notice.
80
81 --
82
83 Hwy-LL now wishes to see messages from Hwy101 and SpamBot
84
85 Client Hwy-LL: /accept Hwy101,SpamBot
86
87 Neither side will be told of the change in the accept list, Hwy-LL should
88 presume that the accept was succesful if no error occurs.
89
90 Now Hwy-LL can see messages from Hwy101 and SpamBot without any blockage.
91 If Hwy101 was also set +g, then he would have to issue /accept Hwy-LL
92 before he would be able to see messages from Hwy-LL.
93
94 --
95
96 Hwy-LL now wants to see who is on his accept list.
97
98 Client Hwy-LL: /accept *
99
100 Hwy-LL will see:
101 irc.server 281 Hwy-LL Hwy101 SpamBot
102 irc.server 282 Hwy-LL :End of /ACCEPT list
103
104 The replies are in numeric form to help parsing by scripts.
105 --
106
107 Hwy-LL realises he added a spambot to his list, and wants to remove it, and
108 allow messages from services
109
110 Client Hwy-LL: /accept -SpamBot,services
111
112 Hwy-LL will now only accept messages from Hwy101 and services.
113
114 --
115
116 The nicks to be added can be in ANY order, however you cannot add or remove
117 AND list.
118 /ACCEPT x,y,-z,f,-a would be acceptable.
119 /ACCEPT x,y,-z,* would ignore the * and generate an invalid nick
120 response.
121
122 Like Dalnet and Undernet's SILENCE system, the accept list only exists while
123 you are connected to IRC. In order for you to have the same accept list
124 every time you come onto IRC, you must put the accept commands into your
125 client's auto-perform, or manually issue the commands each time.
126
127 This system may seem similar to the SILENCE system, but it is actually a
128 reverse SILENCE. SILENCE ignores certain users and allows the rest. Mode
129 +g ignores all users except certain ones (on your accept list.) Both systems
130 have their place, but the mode +g in Hybrid 7 is what the developers thought
131 would be most useful for clients.
132
133 The goals of this user mode is to provide protection from flooding and
134 spamming, and to provide users with a means to keep their privacy.
135
136 We hope that these goals are obtained.
137
138 --
139 W. Campbell
140 $Id: modeg.txt 6 2005-09-10 01:02:21Z nenolod $