Use isupport informations to know the user modes when joining
Also remove the duplicate send_self_join methods, user only send_user_join
This commit is contained in:
+11
-7
@@ -189,14 +189,18 @@ void Bridge::send_xmpp_message(const std::string& from, const std::string& autho
|
||||
|
||||
void Bridge::send_user_join(const std::string& hostname,
|
||||
const std::string& chan_name,
|
||||
const IrcUser* user)
|
||||
const IrcUser* user,
|
||||
const bool self)
|
||||
{
|
||||
this->xmpp->send_user_join(chan_name + "%" + hostname, user->nick, user->host, this->user_jid);
|
||||
}
|
||||
|
||||
void Bridge::send_self_join(const std::string& hostname, const std::string& chan_name, const std::string nick)
|
||||
{
|
||||
this->xmpp->send_self_join(chan_name + "%" + hostname, nick, this->user_jid);
|
||||
std::string affiliation = "participant";
|
||||
std::string role = "none";
|
||||
if (user->modes.find('o') != user->modes.end())
|
||||
{
|
||||
affiliation = "admin";
|
||||
role = "moderator";
|
||||
}
|
||||
this->xmpp->send_user_join(chan_name + "%" + hostname, user->nick, user->host,
|
||||
affiliation, role, this->user_jid, self);
|
||||
}
|
||||
|
||||
void Bridge::send_topic(const std::string& hostname, const std::string& chan_name, const std::string topic)
|
||||
|
||||
@@ -66,11 +66,8 @@ public:
|
||||
*/
|
||||
void send_user_join(const std::string& hostname,
|
||||
const std::string& chan_name,
|
||||
const IrcUser* user);
|
||||
/**
|
||||
* Send the self presence of an user when the MUC is fully joined.
|
||||
*/
|
||||
void send_self_join(const std::string& hostname, const std::string& chan_name, const std::string nick);
|
||||
const IrcUser* user,
|
||||
const bool self);
|
||||
/**
|
||||
* Send the topic of the MUC to the user
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user