Files
qTier/chatreader.cpp
2024-05-27 13:53:31 -05:00

54 lines
982 B
C++

#include "chatreader.hpp"
ChatReader::ChatReader()
: QObject(nullptr), socket()
{
QObject::connect(&socket, SIGNAL(socketConnect),
this, SLOT(socketConnect));
QObject::connect(&socket, SIGNAL(socketDisconnect),
this, SLOT(socketDisconnect));
}
bool ChatReader::getConnected() const
{
return _connected;
}
void ChatReader::socketConnect()
{
_connected = true;
}
void ChatReader::socketDisconnect()
{
_connected = false;
}
void ChatReader::open()
{
socket.open(URL);
}
qint64 ChatReader::send(QString message)
{
return socket.sendTextMessage(message);
}
void ChatReader::messageReceived(QString message)
{
auto chat = ChatMessage::Parse(message);
if (chat->type() == PingView::Expected)
{
const PingView ping(chat);
send(ping.toPong());
}
emit chatMessageReceived(chat);
}
ChatReader::~ChatReader()
{
}
const QUrl ChatReader::URL = QUrl("wss://irc-ws.chat.twitch.tv:443");