summaryrefslogtreecommitdiff
path: root/src/irc/client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/irc/client.cpp')
-rw-r--r--src/irc/client.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/irc/client.cpp b/src/irc/client.cpp
index 470bad9..42fd8ac 100644
--- a/src/irc/client.cpp
+++ b/src/irc/client.cpp
@@ -28,6 +28,7 @@ void Client::run() {
}
case ix::WebSocketMessageType::Open: {
std::cout << "Connected to Twitch IRC!\n";
+ this->authorize();
break;
}
case ix::WebSocketMessageType::Close: {
@@ -42,3 +43,18 @@ void Client::run() {
this->websocket.run();
}
+
+void Client::authorize() {
+ if (this->username.empty() || this->password.empty()) {
+ std::cout << "Bot username and password must be set!\n";
+ return;
+ }
+
+ std::cout << "Authorizing on Twitch IRC servers...\n";
+
+ this->websocket.send("PASS " + this->password + "\r\n");
+ this->websocket.send("NICK " + this->username + "\r\n");
+ this->websocket.send("CAP REQ :twitch.tv/membership\r\n");
+ this->websocket.send("CAP REQ :twitch.tv/commands\r\n");
+ this->websocket.send("CAP REQ :twitch.tv/tags\r\n");
+}