+/* make the user visible if he receives any mode change */
+ModResult ModuleDelayJoin::OnRawMode(User* user, Channel* channel, ModeHandler* mh, const std::string& param, bool adding)
+{
+ if (!user || !channel || param.empty())
+ return MOD_RES_PASSTHRU;
+
+ User* dest;
+ if (IS_LOCAL(user))
+ dest = ServerInstance->FindNickOnly(param);
+ else
+ dest = ServerInstance->FindNick(param);
+
+ if (!dest)
+ return MOD_RES_PASSTHRU;
+
+ Membership* memb = channel->GetUser(dest);
+ if (memb && unjoined.set(memb, 0))
+ channel->WriteAllExceptSender(dest, false, 0, "JOIN %s", channel->name.c_str());
+ return MOD_RES_PASSTHRU;
+}