-
-
Notifications
You must be signed in to change notification settings - Fork 71
/
Copy pathm_whoismodes.cpp
49 lines (41 loc) · 1.15 KB
/
m_whoismodes.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
// m_whoismodes.cpp - ViaraiX
// Updated for new API - LeaChim
// Updated for even newer API - Om
// Updated for 1.1-beta5 - AnMaster
#include "inspircd.h"
#include "modules.h"
/* $ModDesc: Allows opers to see users modes on whois */
/* $ModAuthor: Om */
/* $ModAuthorMail: [email protected] */
/* $ModDepends: core 1.1 */
/* $ModVersion: $Rev: 78 $ */
class ModuleWhoismodes : public Module
{
public:
ModuleWhoismodes(InspIRCd* Me)
: Module::Module(Me)
{
}
virtual Version GetVersion()
{
return Version(1,1,0,0,0,API_VERSION);
}
virtual void Implements(char* List)
{
List[I_OnWhois] = 1;
}
virtual void OnWhois(userrec* source, userrec* dest)
{
if(*source->oper) {
if (dest->modes[UM_SNOMASK] != 0) {
ServerInstance->SendWhoisLine(source, dest, 379, "%s %s :usermodes [+%s +%s]",
source->nick, dest->nick, dest->FormatModes(),
dest->FormatNoticeMasks());
} else {
ServerInstance->SendWhoisLine(source, dest, 379, "%s %s :usermodes [+%s]",
source->nick, dest->nick, dest->FormatModes());
}
}
}
};
MODULE_INIT(ModuleWhoismodes)