]> git.somenet.org - root/pub/somesible.git/blob - roles/server/irc-services/files/default/memoserv.conf
roles/server/irc-services/files
[root/pub/somesible.git] / roles / server / irc-services / files / default / memoserv.conf
1 #
2 ################################################
3 ### Managed by someone's ansible provisioner ###
4 ################################################
5 # Part of: https://git.somenet.org/root/pub/somesible.git
6 # 2017-2025 by someone <someone@somenet.org>
7 #
8
9 /*
10  * First, create the service.
11  */
12 service
13 {
14         /*
15          * The name of the MemoServ client.
16          * If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
17          */
18         nick = "MemoServ"
19
20         /*
21          * The username of the MemoServ client.
22          */
23         user = "services"
24
25         /*
26          * The hostname of the MemoServ client.
27          */
28         host = "services.host"
29
30         /*
31          * The realname of the MemoServ client.
32          */
33         gecos = "Memo Service"
34
35         /*
36          * The modes this client should use.
37          * Do not modify this unless you know what you are doing.
38          *
39          * These modes are very IRCd specific. If left commented, sane defaults
40          * are used based on what protocol module you have loaded.
41          *
42          * Note that setting this option incorrectly could potentially BREAK some, if
43          * not all, usefulness of the client. We will not support you if this client is
44          * unable to do certain things if this option is enabled.
45          */
46         #modes = "+o"
47
48         /*
49          * An optional comma separated list of channels this service should join. Outside
50          * of log channels this is not very useful, as the service will just idle in the
51          * specified channels, and will not accept any types of commands.
52          *
53          * Prefixes may be given to the channels in the form of mode characters or prefix symbols.
54          */
55         #channels = "@#services,#mychan"
56 }
57
58 /*
59  * Core MemoServ module.
60  *
61  * Provides essential functionality for MemoServ.
62  */
63 module
64 {
65         name = "memoserv"
66         /*
67          * The name of the client that should be MemoServ. Clients are configured
68          * with the service blocks.
69          */
70         client = "MemoServ"
71
72         /*
73          * The maximum number of memos a user is allowed to keep by default. Normal users may set the
74          * limit anywhere between 0 and this value. Services Admins can change it to any value or
75          * disable it.
76          *
77          * This directive is optional, but recommended. If not set, the limit is disabled
78          * by default, and normal users can set any limit they want.
79          */
80         maxmemos = 512
81
82         /*
83          * The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
84          * as well as denial-of-service attacks from sending large numbers of memos and filling up disk
85          * space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
86          * per second per user under the current IRC protocol.
87          *
88          * This directive is optional, but recommended.
89          */
90         senddelay = 3s
91 }
92
93 /*
94  * Core MemoServ commands.
95  *
96  * In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
97  * are loaded you can then configure the commands to be added to any client you like with any name you like.
98  *
99  * Additionally, you may provide a permission name that must be in the opertype of users executing the command.
100  *
101  * Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
102  */
103
104 /* Give it a help command. */
105 command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
106
107 /*
108  * ms_cancel
109  *
110  * Provides the command memoserv/cancel.
111  *
112  * Used to cancel memos already sent but not yet read.
113  */
114 module { name = "ms_cancel" }
115 command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
116
117 /*
118  * ms_check
119  *
120  * Provides the command memoserv/check.
121  *
122  * Used to check if a sent memo has been read.
123  */
124 module { name = "ms_check" }
125 command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
126
127 /*
128  * ms_del
129  *
130  * Provides the command memoserv/del.
131  *
132  * Used to delete your memos.
133  */
134 module { name = "ms_del" }
135 command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
136
137 /*
138  * ms_ignore
139  *
140  * Provides the command memoserv/ignore.
141  *
142  * Used to ignore memos from specific users.
143  */
144 module
145 {
146         name = "ms_ignore"
147
148         /*
149          * The maximum number of entries that may be on a memo ignore list.
150          *
151          * This directive is optional.
152          */
153         max = 32
154 }
155 command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
156
157 /*
158  * ms_info
159  *
160  * Provides the command memoserv/info.
161  *
162  * Used to show memo related information about an account or a channel.
163  */
164 module { name = "ms_info" }
165 command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
166
167 /*
168  * ms_list
169  *
170  * Provides the command memoserv/list.
171  *
172  * Used to list your current memos.
173  */
174 module { name = "ms_list" }
175 command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
176
177 /*
178  * ms_read
179  *
180  * Provides the command memoserv/read.
181  *
182  * Used to read your memos.
183  */
184 module { name = "ms_read" }
185 command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
186
187 /*
188  * ms_rsend
189  *
190  * Provides the command memoserv/rsend.
191  *
192  * Used to send a memo requiring a receipt be sent back once it is read.
193  *
194  * Requires configuring memoserv:memoreceipt.
195  */
196 #module
197 {
198         name = "ms_rsend"
199
200         /*
201          * Only allow Services Operators to use ms_rsend.
202          *
203          * This directive is optional.
204          */
205         operonly = false
206 }
207 #command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
208
209 /*
210  * ms_send
211  *
212  * Provides the command memoserv/send.
213  *
214  * Used to send memos.
215  */
216 module { name = "ms_send" }
217 command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
218
219 /*
220  * ms_sendall
221  *
222  * Provides the command memoserv/sendall.
223  *
224  * Used to send a mass memo to every registered user.
225  */
226 module { name = "ms_sendall" }
227 command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
228
229 /*
230  * ms_set
231  *
232  * Provides the command memoserv/set.
233  *
234  * Used to set settings such as how you are notified of new memos, and your memo limit.
235  */
236 module { name = "ms_set" }
237 command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
238
239 /*
240  * ms_staff
241  *
242  * Provides the command memoserv/staff.
243  *
244  * Used to send a memo to all registered staff members.
245  */
246 module { name = "ms_staff" }
247 command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }