diff --git a/backends/twitter/TwitterPlugin.cpp b/backends/twitter/TwitterPlugin.cpp index ef84bbf3..5c42969c 100644 --- a/backends/twitter/TwitterPlugin.cpp +++ b/backends/twitter/TwitterPlugin.cpp @@ -40,6 +40,7 @@ TwitterPlugin::TwitterPlugin(Config *config, Swift::SimpleEventLoop *loop, Stora { this->config = config; this->storagebackend = storagebackend; + this->m_firstPing = true; if (CONFIG_HAS_KEY(config, "twitter.consumer_key") == false) { consumerKey = "5mFePMiJi0KpeURONkelg"; @@ -104,6 +105,15 @@ void TwitterPlugin::sendData(const std::string &string) // Receive date from the NetworkPlugin server and invoke the appropirate payload handler (implement in the NetworkPlugin class) void TwitterPlugin::_handleDataRead(boost::shared_ptr data) { + if (m_firstPing) { + m_firstPing = false; + // Users can join the network without registering if we allow + // one user to connect multiple IRC networks. + NetworkPlugin::PluginConfig cfg; + cfg.setNeedPassword(false); + sendConfig(cfg); + } + std::string d(data->begin(), data->end()); handleDataRead(d); } diff --git a/backends/twitter/TwitterPlugin.h b/backends/twitter/TwitterPlugin.h index ab4aca3b..a9e86a25 100644 --- a/backends/twitter/TwitterPlugin.h +++ b/backends/twitter/TwitterPlugin.h @@ -174,5 +174,6 @@ class TwitterPlugin : public NetworkPlugin { UserData() { sessions = NULL; } }; std::map userdb; + bool m_firstPing; }; #endif