forked from Efreak/ZNC-Modules
-
Notifications
You must be signed in to change notification settings - Fork 0
/
quitaway.cpp
57 lines (49 loc) · 1.42 KB
/
quitaway.cpp
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
/*
* Copyright (C) 2010 Efreak.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*
* If any other changes are made, update the version number to the latest ZNC
* version to reflect it, please. This makes things easier to know what
* version it works with; If you want to contribute code, let me know via IRC
* and I'll ad you as a contributor on GitHub.
* -Efreak
*/
#include "Chan.h"
#include "User.h"
#include "Modules.h"
class CQuitAway : public CModule {
public:
MODCONSTRUCTOR(CQuitAway) {}
virtual ~CQuitAway() {}
bool message;
virtual bool OnLoad(const CString& sArgs, CString& sMessage) {
if (sArgs.Token(0) == "+message")
message=true;
else message=false;
return true;
}
virtual EModRet OnUserRaw(CString& sLiner) {
if(sLiner.Token(0).AsLower()=="quit") {
CString sLine=sLiner.Token(1,true);
if(CString(sLine[0])==":")
sLine=sLine.LeftChomp_n(1);
PutIRC("AWAY :" + sLine);
if(message) PutModule("You are now away: " + sLine);
}
return CONTINUE;
}
};
MODULEDEFS(CQuitAway, "Set away message on quit (from quit message). Version 0.01")
/*
on modulecall user raw {
if we're quitting {
new cstring for the reason
if it begins with a :, { get rid of it }
put away plus : plus reason
notify the user
} continue quitting, or w/e we're doing.
}
*/