Commit Graph

626 Commits

Author SHA1 Message Date
J-P Nurmi
d556a29218 CIRCSock::OnAwayMessage() handler 2015-09-07 00:00:27 +02:00
J-P Nurmi
d53a2d1f24 CIRCSock::OnTextMessage() handler 2015-09-07 00:00:27 +02:00
J-P Nurmi
236bd7249f CIRCSock::OnActionMessage() handler 2015-09-07 00:00:26 +02:00
J-P Nurmi
74be5522d1 CIRCSock::OnCTCPMessage() handler 2015-09-07 00:00:26 +02:00
J-P Nurmi
30bb92fec3 CIRCSock::OnNoticeMessage() handler 2015-09-07 00:00:26 +02:00
J-P Nurmi
b459cdf85b CIRCSock::OnTopicMessage() handler 2015-09-07 00:00:26 +02:00
J-P Nurmi
3349011a12 CIRCSock::OnKickMessage() handler 2015-09-07 00:00:26 +02:00
J-P Nurmi
9f9304a253 CIRCSock::OnPartMessage() handler 2015-09-07 00:00:26 +02:00
J-P Nurmi
a2110da245 CIRCSock::OnJoinMessage() handler 2015-09-07 00:00:26 +02:00
J-P Nurmi
a0a2b0fb4e CIRCSock::OnQuitMessage() handler 2015-09-07 00:00:25 +02:00
J-P Nurmi
41a9b36687 CIRCSock::OnNickMessage() handler 2015-09-07 00:00:25 +02:00
J-P Nurmi
c4a216c554 CIRCSock::ReadLine(): use CMessage::GetType() 2015-09-07 00:00:25 +02:00
J-P Nurmi
77ddb3c420 CClient::ReadLine(): use CMessage::GetType() 2015-09-07 00:00:25 +02:00
J-P Nurmi
5880bb4180 Add CMessage::GetType() 2015-09-07 00:00:25 +02:00
J-P Nurmi
2bee156316 CString CMessage::GetParams(): keep the colon, even at the beginning 2015-09-07 00:00:25 +02:00
J-P Nurmi
17d07d5a74 CIRCSock: handle raw 352 (RPL_WHOREPLY) using CMessage 2015-09-07 00:00:25 +02:00
J-P Nurmi
795ea45f69 CIRCSock::ForwardRaw353(): use CMessage 2015-09-07 00:00:24 +02:00
J-P Nurmi
fa894a86b0 Add CNumericMessage 2015-09-07 00:00:24 +02:00
J-P Nurmi
b95f1f7fbf echo-message: status/module should echo before replies (#1022) 2015-09-06 10:45:42 +02:00
J-P Nurmi
50ed9adf8a Fix CMessage::GetParams() crash - thanks kerio 2015-09-05 23:45:26 +02:00
J-P Nurmi
ce0ddd3aac Merge pull request #1059 from jpnurmi/networklesshooks
Don't require network for OnUserXxxMessage() hooks
2015-09-04 23:29:49 +02:00
J-P Nurmi
0faafbf3bf Merge pull request #1056 from jpnurmi/handlecap
Implement CClient::HandleCap() using CMessage (ref #1013)
2015-09-04 20:49:11 +02:00
J-P Nurmi
0211b34a09 Merge pull request #1057 from jpnurmi/echo-status
Fix #1022: Status and module commands not echoed back to client
2015-09-03 20:11:57 +02:00
J-P Nurmi
2880368825 Merge pull request #1055 from jpnurmi/onctcpreplymessage
Add missing CModules::OnCTCPReplyMessage()
2015-09-03 20:11:38 +02:00
J-P Nurmi
81e6d0bbf2 Don't require network for OnUserXxxMessage() hooks
- OnUserJoinMessage()
- OnUserPartMessage()
- OnUserTopicMessage()
- OnUserActionMessage()
- OnUserCTCPMessage()

Supersedes #503
2015-09-02 23:46:05 +02:00
J-P Nurmi
2a40c355f4 Fix #1022: Status and module commands not echoed back to client 2015-09-02 20:15:15 +02:00
J-P Nurmi
2b18d6ee38 Merge pull request #1020 from jpnurmi/traffic
Calculate per-network traffic (#963)
2015-09-02 01:01:13 +02:00
J-P Nurmi
a79acacfad Add missing CModules::OnCTCPReplyMessage() 2015-09-02 00:51:05 +02:00
J-P Nurmi
453401eef4 Implement CClient::HandleCap() using CMessage (ref #1013) 2015-09-02 00:08:43 +02:00
J-P Nurmi
64e39aca88 Merge pull request #1049 from kerio92/appel_du_vide
Add an %empty% substitution in ExpandString that expands to the empty string.
2015-09-01 22:14:29 +02:00
J-P Nurmi
d9479189ea Merge branch '1.6.x' 2015-09-01 21:41:05 +02:00
Jos Ahrens
0b32da4ccc Always try to delete an uppercase CTCP response in DelCtcpReply
AddCtcpReply always adds an CTCP response in uppercase, it is only fair we do the same in DelCtcpReply
2015-09-01 21:37:14 +02:00
J-P Nurmi
448acbe0eb Fix custom CTCP replies (close #1052) 2015-08-31 23:20:43 +02:00
J-P Nurmi
31ba15d686 CClient::ReadLine(): use CMessage 2015-08-31 00:24:30 +02:00
J-P Nurmi
e5b7f2c6df Make CBufLine hold a CMessage internally 2015-08-31 00:24:30 +02:00
J-P Nurmi
f1dead9ff3 Add OnUserXxxMessage(CXxxMessage) module hooks 2015-08-30 15:50:12 +02:00
J-P Nurmi
82375eed65 Add CMessage::Clone()
Due to (intentional) lack of CFooMessage::operator=(CMessage), it was
a bit clumsy to do such copy-conversions:

    CMessage Copy = Message;
    CJoinMessage& JoinMsg = static_cast<CJoinMessage&>(Copy);
    // ...

vs.

    CJoinMessge JoinMsg;
    JoinMsg.Clone(Message);
    // ...

Alternatively, copy ctor(CMessage) and assignment operator=(CMessage)
could have been added to all CMessage subclasses. I've been trying to
avoid that, to make these operations very explicit. It has helped a
lot so far by preventing accidental copies.
2015-08-30 15:50:12 +02:00
J-P Nurmi
320abef756 Merge CChanMessage & CPrivMessage to... CTextMessage
This naming is a bit hairy. I chose CTextMessage because this type of
message carries a text argument. Alternatively, it could be also called
CPrivateMessage, because the IRC protocol calls it PRIVMSG. On the other
hand, ZNC module hooks use the "Priv" naming convention for private
messages. It would look a bit weird to have OnChanMsg(CPrivMessage)...

More details and reasoning of the merge in the previous commit message.
2015-08-30 15:50:12 +02:00
J-P Nurmi
3976651c35 Merge CChan+PrivAction, CChan+PrivCTCP, CChan+PrivNotice
OnUserAction(), OnUserCTCP(), and OnUserNotice() don't separate private
private and channel messages. A module could even redirect a message by
modifying its target, so technically, if they were two distinct types,
the type of a message could change on the way.

The original reason for the separation was that at some point during
CMessage development, GetChan() didn't exist in CPrivXxx, but only in
CChanXxx message types. To achieve cleaner implementation, the getter
was later promoted to CMessage and made return nullptr for non-channel
specific messages. From this point of view, the separation is also no
longer necessary since the CPrivXxx and CChanXxx types are API-wise
identical with each other.
2015-08-30 15:50:12 +02:00
Edoardo Spadolini
39d373c971 Add an %empty% substitution in ExpandString that expands to the empty string.
This can be useful in various situations, for instance for quit messages.
2015-08-29 23:33:10 +02:00
J-P Nurmi
068d5af719 Merge branch '1.6.x' 2015-08-29 21:16:33 +02:00
J-P Nurmi
d2c462ae03 Fix yet another startup failure with awaynick & simple_away
The detection whether simple_away is already on the list of loaded
modules failed when the simple_away load line contained arguments.

Close #954
2015-08-29 21:13:52 +02:00
J-P Nurmi
37cd61a667 Fix CMessage to prefix also empty last params with a colon 2015-08-27 12:33:47 +02:00
Alexey Sokolov
9688727f32 Add a possibility (not an "option") to disable launch after --makeconf
See #257
2015-08-24 21:22:14 +01:00
J-P Nurmi
478f1952b7 Fix #1040: recent CMessage changes break modules 2015-08-23 12:48:17 +02:00
Alexey Sokolov
672e8c5731 Add OnRawMessage() 2015-08-23 00:52:27 +01:00
J-P Nurmi
2ad2ee5620 Bring back the smileys - part II 2015-08-22 11:54:33 +02:00
J-P Nurmi
66053e24ff Add CZNC::GetNetworkTrafficStats() 2015-08-22 01:27:23 +02:00
J-P Nurmi
38fb4cc444 Calculate per-network traffic (#963) 2015-08-22 01:27:23 +02:00
J-P Nurmi
b402c1e582 Merge branch '1.6.x'
Conflicts:
	src/IRCSock.cpp
2015-08-22 00:18:55 +02:00