Only send the IRC server presence if the user has this JID in their roster
This commit is contained in:
@@ -1025,12 +1025,20 @@ void BiboumiComponent::send_presence_to_contact(const std::string& from, const s
|
|||||||
|
|
||||||
void BiboumiComponent::on_irc_client_connected(const std::string& irc_hostname, const std::string& jid)
|
void BiboumiComponent::on_irc_client_connected(const std::string& irc_hostname, const std::string& jid)
|
||||||
{
|
{
|
||||||
this->send_presence_to_contact(irc_hostname + "@" + this->served_hostname, jid, "");
|
#ifdef USE_DATABASE
|
||||||
|
const auto local_jid = irc_hostname + "@" + this->served_hostname;
|
||||||
|
if (Database::has_roster_item(local_jid, jid))
|
||||||
|
this->send_presence_to_contact(local_jid, jid, "");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void BiboumiComponent::on_irc_client_disconnected(const std::string& irc_hostname, const std::string& jid)
|
void BiboumiComponent::on_irc_client_disconnected(const std::string& irc_hostname, const std::string& jid)
|
||||||
{
|
{
|
||||||
this->send_presence_to_contact(irc_hostname + "@" + this->served_hostname, jid, "unavailable");
|
#ifdef USE_DATABASE
|
||||||
|
const auto local_jid = irc_hostname + "@" + this->served_hostname;
|
||||||
|
if (Database::has_roster_item(local_jid, jid))
|
||||||
|
this->send_presence_to_contact(irc_hostname + "@" + this->served_hostname, jid, "unavailable");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void BiboumiComponent::after_handshake()
|
void BiboumiComponent::after_handshake()
|
||||||
|
|||||||
Reference in New Issue
Block a user