/* * 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 = "ircservices.{{ external_domain }}" /* * 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" /* * An optional comma separated list of channels this service should join. Outside * of log channels this is not very useful, as the service will just idle in the * specified channels, and will not accept any types of commands. * * Prefixes may be given to the channels in the form of mode characters or prefix symbols. */ #channels = "@#services,#mychan" } /* * Core MemoServ module. * * Provides essential functionality for MemoServ. */ module { name = "memoserv" /* * 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"; } /* * ms_cancel * * Provides the command memoserv/cancel. * * Used to cancel memos already sent but not yet read. */ module { name = "ms_cancel" } command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; } /* * ms_check * * Provides the command memoserv/check. * * Used to check if a sent memo has been read. */ module { name = "ms_check" } command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; } /* * ms_del * * Provides the command memoserv/del. * * Used to delete your memos. */ module { name = "ms_del" } command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; } /* * ms_ignore * * Provides the command memoserv/ignore. * * Used to ignore memos from specific users. */ module { name = "ms_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"; } /* * ms_info * * Provides the command memoserv/info. * * Used to show memo related information about an account or a channel. */ module { name = "ms_info" } command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; } /* * ms_list * * Provides the command memoserv/list. * * Used to list your current memos. */ module { name = "ms_list" } command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; } /* * ms_read * * Provides the command memoserv/read. * * Used to read your memos. */ module { name = "ms_read" } command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; } /* * ms_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 = "ms_rsend" /* * Only allow Services Operators to use ms_rsend. * * This directive is optional. */ operonly = false } #command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; } /* * ms_send * * Provides the command memoserv/send. * * Used to send memos. */ module { name = "ms_send" } command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; } /* * ms_sendall * * Provides the command memoserv/sendall. * * Used to send a mass memo to every registered user. */ module { name = "ms_sendall" } command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; } /* * ms_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 = "ms_set" } command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; } /* * ms_staff * * Provides the command memoserv/staff. * * Used to send a memo to all registered staff members. */ module { name = "ms_staff" } command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }