mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 17:37:37 +00:00
IRCClient: Add ShowNickChangeMessages/ShowJoinPartMessages conf options
Allow IRCClient to hide nick change spam and join/part spam
This commit is contained in:
parent
a3edeb5868
commit
df7b617ba1
4 changed files with 22 additions and 4 deletions
|
@ -100,7 +100,8 @@ void IRCChannel::handle_join(const String& nick, const String& hostmask)
|
||||||
}
|
}
|
||||||
add_member(nick, (char)0);
|
add_member(nick, (char)0);
|
||||||
m_member_model->update();
|
m_member_model->update();
|
||||||
add_message(String::format("*** %s [%s] has joined %s", nick.characters(), hostmask.characters(), m_name.characters()), Color::MidGreen);
|
if (m_client.show_join_part_messages())
|
||||||
|
add_message(String::format("*** %s [%s] has joined %s", nick.characters(), hostmask.characters(), m_name.characters()), Color::MidGreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IRCChannel::handle_part(const String& nick, const String& hostmask)
|
void IRCChannel::handle_part(const String& nick, const String& hostmask)
|
||||||
|
@ -113,7 +114,8 @@ void IRCChannel::handle_part(const String& nick, const String& hostmask)
|
||||||
remove_member(nick);
|
remove_member(nick);
|
||||||
}
|
}
|
||||||
m_member_model->update();
|
m_member_model->update();
|
||||||
add_message(String::format("*** %s [%s] has parted from %s", nick.characters(), hostmask.characters(), m_name.characters()), Color::MidGreen);
|
if (m_client.show_join_part_messages())
|
||||||
|
add_message(String::format("*** %s [%s] has parted from %s", nick.characters(), hostmask.characters(), m_name.characters()), Color::MidGreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IRCChannel::handle_quit(const String& nick, const String& hostmask, const String& message)
|
void IRCChannel::handle_quit(const String& nick, const String& hostmask, const String& message)
|
||||||
|
@ -142,8 +144,9 @@ void IRCChannel::notify_nick_changed(const String& old_nick, const String& new_n
|
||||||
for (auto& member : m_members) {
|
for (auto& member : m_members) {
|
||||||
if (member.name == old_nick) {
|
if (member.name == old_nick) {
|
||||||
member.name = new_nick;
|
member.name = new_nick;
|
||||||
add_message(String::format("~ %s changed nickname to %s", old_nick.characters(), new_nick.characters()), Color::MidMagenta);
|
|
||||||
m_member_model->update();
|
m_member_model->update();
|
||||||
|
if (m_client.show_nick_change_messages())
|
||||||
|
add_message(String::format("~ %s changed nickname to %s", old_nick.characters(), new_nick.characters()), Color::MidMagenta);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,6 +78,10 @@ IRCClient::IRCClient()
|
||||||
m_nickname = m_config->read_entry("User", "Nickname", String::format("%s_seren1ty", user_pw->pw_name));
|
m_nickname = m_config->read_entry("User", "Nickname", String::format("%s_seren1ty", user_pw->pw_name));
|
||||||
m_hostname = m_config->read_entry("Connection", "Server", "");
|
m_hostname = m_config->read_entry("Connection", "Server", "");
|
||||||
m_port = m_config->read_num_entry("Connection", "Port", 6667);
|
m_port = m_config->read_num_entry("Connection", "Port", 6667);
|
||||||
|
|
||||||
|
m_show_join_part_messages = m_config->read_bool_entry("Messaging", "ShowJoinPartMessages", 1);
|
||||||
|
m_show_nick_change_messages = m_config->read_bool_entry("Messaging", "ShowNickChangeMessages", 1);
|
||||||
|
|
||||||
m_ctcp_version_reply = m_config->read_entry("CTCP", "VersionReply", "IRC Client [x86] / Serenity OS");
|
m_ctcp_version_reply = m_config->read_entry("CTCP", "VersionReply", "IRC Client [x86] / Serenity OS");
|
||||||
m_ctcp_userinfo_reply = m_config->read_entry("CTCP", "UserInfoReply", user_pw->pw_name);
|
m_ctcp_userinfo_reply = m_config->read_entry("CTCP", "UserInfoReply", user_pw->pw_name);
|
||||||
m_ctcp_finger_reply = m_config->read_entry("CTCP", "FingerReply", user_pw->pw_name);
|
m_ctcp_finger_reply = m_config->read_entry("CTCP", "FingerReply", user_pw->pw_name);
|
||||||
|
@ -620,7 +624,8 @@ void IRCClient::handle_nick(const Message& msg)
|
||||||
auto& new_nick = msg.arguments[0];
|
auto& new_nick = msg.arguments[0];
|
||||||
if (old_nick == m_nickname)
|
if (old_nick == m_nickname)
|
||||||
m_nickname = new_nick;
|
m_nickname = new_nick;
|
||||||
add_server_message(String::format("~ %s changed nickname to %s", old_nick.characters(), new_nick.characters()));
|
if (m_show_nick_change_messages)
|
||||||
|
add_server_message(String::format("~ %s changed nickname to %s", old_nick.characters(), new_nick.characters()));
|
||||||
if (on_nickname_changed)
|
if (on_nickname_changed)
|
||||||
on_nickname_changed(new_nick);
|
on_nickname_changed(new_nick);
|
||||||
for (auto& it : m_channels) {
|
for (auto& it : m_channels) {
|
||||||
|
|
|
@ -60,6 +60,9 @@ public:
|
||||||
String ctcp_userinfo_reply() const { return m_ctcp_userinfo_reply; }
|
String ctcp_userinfo_reply() const { return m_ctcp_userinfo_reply; }
|
||||||
String ctcp_finger_reply() const { return m_ctcp_finger_reply; }
|
String ctcp_finger_reply() const { return m_ctcp_finger_reply; }
|
||||||
|
|
||||||
|
bool show_join_part_messages() const { return m_show_join_part_messages; }
|
||||||
|
bool show_nick_change_messages() const { return m_show_nick_change_messages; }
|
||||||
|
|
||||||
void join_channel(const String&);
|
void join_channel(const String&);
|
||||||
void part_channel(const String&);
|
void part_channel(const String&);
|
||||||
void change_nick(const String&);
|
void change_nick(const String&);
|
||||||
|
@ -208,6 +211,9 @@ private:
|
||||||
HashMap<String, RefPtr<IRCChannel>, CaseInsensitiveStringTraits> m_channels;
|
HashMap<String, RefPtr<IRCChannel>, CaseInsensitiveStringTraits> m_channels;
|
||||||
HashMap<String, RefPtr<IRCQuery>, CaseInsensitiveStringTraits> m_queries;
|
HashMap<String, RefPtr<IRCQuery>, CaseInsensitiveStringTraits> m_queries;
|
||||||
|
|
||||||
|
bool m_show_join_part_messages { 1 };
|
||||||
|
bool m_show_nick_change_messages { 1 };
|
||||||
|
|
||||||
String m_ctcp_version_reply;
|
String m_ctcp_version_reply;
|
||||||
String m_ctcp_userinfo_reply;
|
String m_ctcp_userinfo_reply;
|
||||||
String m_ctcp_finger_reply;
|
String m_ctcp_finger_reply;
|
||||||
|
|
|
@ -10,3 +10,7 @@ AutoJoinChannels=#serenityos
|
||||||
VersionReply=IRC Client [x86] / Serenity OS
|
VersionReply=IRC Client [x86] / Serenity OS
|
||||||
UserInfoReply=anon
|
UserInfoReply=anon
|
||||||
FingerReply=anon
|
FingerReply=anon
|
||||||
|
|
||||||
|
[Messaging]
|
||||||
|
ShowJoinPartMessages=1
|
||||||
|
ShowNickChangeMessages=1
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue