mirror-chatterino2/src/providers/twitch/IrcMessageHandler.hpp

39 lines
1.2 KiB
C++
Raw Normal View History

2018-01-01 23:54:54 +01:00
#pragma once
#include <IrcMessage>
namespace chatterino {
2018-06-04 12:23:23 +02:00
class TwitchServer;
2018-01-01 23:54:54 +01:00
class IrcMessageHandler
{
IrcMessageHandler() = default;
2018-01-01 23:54:54 +01:00
public:
static IrcMessageHandler &getInstance();
2018-08-06 21:17:03 +02:00
void handlePrivMessage(Communi::IrcPrivateMessage *message,
TwitchServer &server);
2018-06-04 12:23:23 +02:00
2018-01-01 23:54:54 +01:00
void handleRoomStateMessage(Communi::IrcMessage *message);
void handleClearChatMessage(Communi::IrcMessage *message);
void handleUserStateMessage(Communi::IrcMessage *message);
void handleWhisperMessage(Communi::IrcMessage *message);
2018-08-06 21:17:03 +02:00
void handleUserNoticeMessage(Communi::IrcMessage *message,
TwitchServer &server);
2018-01-01 23:54:54 +01:00
void handleModeMessage(Communi::IrcMessage *message);
void handleNoticeMessage(Communi::IrcNoticeMessage *message);
void handleWriteConnectionNoticeMessage(Communi::IrcNoticeMessage *message);
void handleJoinMessage(Communi::IrcMessage *message);
void handlePartMessage(Communi::IrcMessage *message);
2018-06-04 12:23:23 +02:00
private:
2018-08-06 21:17:03 +02:00
void addMessage(Communi::IrcMessage *message, const QString &target,
const QString &content, TwitchServer &server, bool isResub,
bool isAction);
2018-01-01 23:54:54 +01:00
};
2018-02-05 15:11:50 +01:00
} // namespace chatterino