starting work on websocket chat reader
This commit is contained in:
53
chatreader.cpp
Normal file
53
chatreader.cpp
Normal file
@@ -0,0 +1,53 @@
|
||||
#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");
|
||||
Reference in New Issue
Block a user