summaryrefslogtreecommitdiff
path: root/data/memoserv.example.conf
blob: e0609581282e56c97dc6c752ed9b2d639eabad18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
/*
 * Example configuration file for MemoServ.
 */

/*
 * First, create the service.
 */
service
{
	/*
	 * The name of the MemoServ client.
	 * If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
	 */
	nick = "MemoServ"

	/*
	 * The username of the MemoServ client.
	 */
	user = "services"

	/*
	 * The hostname of the MemoServ client.
	 */
	host = "${services.host}"

	/*
	 * The realname of the MemoServ client.
	 */
	gecos = "Memo Service"

	/*
	 * The modes this client should use.
	 * Do not modify this unless you know what you are doing.
	 *
	 * These modes are very IRCd specific. If left commented, sane defaults
	 * are used based on what protocol module you have loaded.
	 *
	 * Note that setting this option incorrectly could potentially BREAK some, if
	 * not all, usefulness of the client. We will not support you if this client is
	 * unable to do certain things if this option is enabled.
	 */
	#modes = "+o"
}

/*
 * Core MemoServ module.
 *
 * Provides essential functionality for MemoServ.
 */
module
{
	name = "memoserv/main"
	/*
	 * The name of the client that should be MemoServ. Clients are configured
	 * with the service blocks.
	 */
	client = "MemoServ"

	/*
	 * The maximum number of memos a user is allowed to keep by default. Normal users may set the
	 * limit anywhere between 0 and this value. Services Admins can change it to any value or
	 * disable it.
	 *
	 * This directive is optional, but recommended. If not set, the limit is disabled
	 * by default, and normal users can set any limit they want.
	 */
	maxmemos = 20

	/*
	 * The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
	 * as well as denial-of-service attacks from sending large numbers of memos and filling up disk
	 * space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
	 * per second per user under the current IRC protocol.
	 *
	 * This directive is optional, but recommended.
	 */
	senddelay = 3s
}

/*
 * Core MemoServ commands.
 *
 * In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
 * are loaded you can then configure the commands to be added to any client you like with any name you like.
 *
 * Additionally, you may provide a permission name that must be in the opertype of users executing the command.
 *
 * Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
 */

/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }

/*
 * memoserv/cancel
 *
 * Provides the command memoserv/cancel.
 *
 * Used to cancel memos already sent but not yet read.
 */
module { name = "memoserv/cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }

/*
 * memoserv/check
 *
 * Provides the command memoserv/check.
 *
 * Used to check if a sent memo has been read.
 */
module { name = "memoserv/check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }

/*
 * memoserv/del
 *
 * Provides the command memoserv/del.
 *
 * Used to delete your memos.
 */
module { name = "memoserv/del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }

/*
 * memoserv/ignore
 *
 * Provides the command memoserv/ignore.
 *
 * Used to ignore memos from specific users.
 */
module
{
	name = "memoserv/ignore"

	/*
	 * The maximum number of entries that may be on a memo ignore list.
	 *
	 * This directive is optional.
	 */
	max = 32
}
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }

/*
 * memoserv/info
 *
 * Provides the command memoserv/info.
 *
 * Used to show memo related information about an account or a channel.
 */
module { name = "memoserv/info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }

/*
 * memoserv/list
 *
 * Provides the command memoserv/list.
 *
 * Used to list your current memos.
 */
module { name = "memoserv/list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }

/*
 * memoserv/read
 *
 * Provides the command memoserv/read.
 *
 * Used to read your memos.
 */
module { name = "memoserv/read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }

/*
 * memoserv/rsend
 *
 * Provides the command memoserv/rsend.
 *
 * Used to send a memo requiring a receipt be sent back once it is read.
 *
 * Requires configuring memoserv:memoreceipt.
 */
#module
{
	name = "memoserv/rsend"

	/*
	 * Only allow Services Operators to use memoserv/rsend.
	 *
	 * This directive is optional.
	 */
	operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }

/*
 * memoserv/send
 *
 * Provides the command memoserv/send.
 *
 * Used to send memos.
 */
module { name = "memoserv/send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }

/*
 * memoserv/sendall
 *
 * Provides the command memoserv/sendall.
 *
 * Used to send a mass memo to every registered user.
 */
module { name = "memoserv/sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }

/*
 * memoserv/set
 *
 * Provides the command memoserv/set.
 *
 * Used to set settings such as how you are notified of new memos, and your memo limit.
 */
module { name = "memoserv/set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }

/*
 * memoserv/staff
 *
 * Provides the command memoserv/staff.
 *
 * Used to send a memo to all registered staff members.
 */
module { name = "memoserv/staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }