1
0
mirror of https://github.com/anope/anope.git synced 2026-06-27 05:06:38 +02:00
Files
anope/modules/core/memoserv.h
T
Adam f858164dee Rewrote how commands are handled within Anope.
This allows naming commands and having spaces within command names.
2011-07-14 02:31:12 -04:00

42 lines
1.1 KiB
C++

#ifndef MEMOSERV_H
#define MEMOSERV_H
class MemoServService : public Service
{
public:
enum MemoResult
{
MEMO_SUCCESS,
MEMO_INVALID_TARGET,
MEMO_TOO_FAST,
MEMO_TARGET_FULL
};
MemoServService(Module *m) : Service(m, "MemoServ") { }
/** Retrieve the memo info for a nick or channel
* @param target Target
* @param ischan Set to true if target is a channel
* @return A memoinfo structure or NULL
*/
virtual MemoInfo *GetMemoInfo(const Anope::string &target, bool &ischan) = 0;
/** Sends a memo.
* @param source The source of the memo, can be anythin.
* @param target The target of the memo, nick or channel.
* @param message Memo text
* @param force true to force the memo, restrictions/delays etc are not checked
*/
virtual MemoResult Send(const Anope::string &source, const Anope::string &target, const Anope::string &message, bool force = false) = 0;
/** Check for new memos and notify the user if there are any
* @param u The user
*/
virtual void Check(User *u) = 0;
};
static service_reference<MemoServService> memoserv("MemoServ");
#endif // MEMOSERV_H