- /* User only appears to vanish for non-opers */
- if (user->Visibility && user->Visibility->VisibleTo(i->first))
- {
- i->first->Write(std::string(tb));
- }
+ /* User doesnt get a JOIN sent to themselves */
+ if (user == i->first)
+ continue;
+
+ /* Users with a visibility state that hides them dont appear */
+ if (user->Visibility && !user->Visibility->VisibleTo(i->first))
+ continue;
+
+ i->first->Write(std::string(tb));