Convert received modes into roles and affiliations
This commit is contained in:
@@ -225,3 +225,35 @@ void Bridge::send_nickname_conflict_error(const Iid& iid, const std::string& nic
|
||||
{
|
||||
this->xmpp->send_nickname_conflict_error(iid.chan + "%" + iid.server, nickname, this->user_jid);
|
||||
}
|
||||
|
||||
void Bridge::send_affiliation_role_change(const Iid& iid, const std::string& target, const char mode)
|
||||
{
|
||||
std::string role;
|
||||
std::string affiliation;
|
||||
if (mode == 0)
|
||||
{
|
||||
role = "participant";
|
||||
affiliation = "none";
|
||||
}
|
||||
else if (mode == 'a')
|
||||
{
|
||||
role = "moderator";
|
||||
affiliation = "owner";
|
||||
}
|
||||
else if (mode == 'o')
|
||||
{
|
||||
role = "moderator";
|
||||
affiliation = "admin";
|
||||
}
|
||||
else if (mode == 'h')
|
||||
{
|
||||
role = "moderator";
|
||||
affiliation = "member";
|
||||
}
|
||||
else if (mode == 'v')
|
||||
{
|
||||
role = "participant";
|
||||
affiliation = "member";
|
||||
}
|
||||
this->xmpp->send_affiliation_role_change(iid.chan + "%" + iid.server, target, affiliation, role, this->user_jid);
|
||||
}
|
||||
|
||||
@@ -87,6 +87,10 @@ public:
|
||||
void send_nick_change(Iid&& iid, const std::string& old_nick, const std::string& new_nick, const bool self);
|
||||
void kick_muc_user(Iid&& iid, const std::string& target, const std::string& reason, const std::string& author);
|
||||
void send_nickname_conflict_error(const Iid& iid, const std::string& nickname);
|
||||
/**
|
||||
* Send a role/affiliation change, matching the change of mode for that user
|
||||
*/
|
||||
void send_affiliation_role_change(const Iid& iid, const std::string& target, const char mode);
|
||||
|
||||
/**
|
||||
* Misc
|
||||
|
||||
Reference in New Issue
Block a user