diff options
| -rw-r--r-- | src/irc/client.cpp | 16 | ||||
| -rw-r--r-- | src/irc/client.hpp | 2 |
2 files changed, 18 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"); +} diff --git a/src/irc/client.hpp b/src/irc/client.hpp index 52c8cbf..e6846d2 100644 --- a/src/irc/client.hpp +++ b/src/irc/client.hpp @@ -14,6 +14,8 @@ namespace RedpilledBot { void run(); private: + void authorize(); + std::string username; std::string password; |
