I've encountered a problem with the ZNC and AWAY mode. I'll describe the steps that create the "problem."
1. I start mIRC.
2. I connect to the ZNC, which is already connected to the IRC server.
3. I set it to AWAY mode (/AWAY blah blah blah...), and mIRC recognizes that it's now in AWAY mode.
4. I disconnect from the ZNC without removing my AWAY status.
5. I reconnect to the ZNC, but unfortunately, mIRC no longer recognizes AWAY mode.
6. This problem is confusing the automatic reply system to private messages when I should be in AWAY mode.
This is a simple script I use when I set AWAY mode: on *:TEXT:*:?: if ($away) { msg $nick I'M AWAY - Try again later. If you need help with network services, join the #support channel. }
I've encountered a problem with the ZNC and AWAY mode. I'll describe the steps that create the "problem."
_1. I start mIRC.
2. I connect to the ZNC, which is already connected to the IRC server.
3. I set it to AWAY mode (/AWAY blah blah blah...), and mIRC recognizes that it's now in AWAY mode.
4. I disconnect from the ZNC without removing my AWAY status.
5. I reconnect to the ZNC, but unfortunately, mIRC no longer recognizes AWAY mode.
6. This problem is confusing the automatic reply system to private messages when I should be in AWAY mode._
This is a simple script I use when I set AWAY mode:
`on *:TEXT:*:?: if ($away) { msg $nick I'M AWAY - Try again later. If you need help with network services, join the #support channel. }`
VERSION:
- ZNC 1.9.1
- mIRC 7.81
/msg *status listmods
<*status> User modules:
<*status> chansaver
<*status> webadmin
<*status> controlpanel
<*status> Network modules:
<*status> simple_away
<*status> sasl
<*status> perform
<*status> autocycle
<*status> autoop
<!-- github-sync-id:3327555138 -->
It looks like mIRC only stores the /away status for $away when you send it from mIRC. The $away status is lost when you disconnect from ZNC.
ZNC sending :irc.znc.in 306 KindOne :You have been marked as being away does nothing.
I attempted at patching znc, but that did not work.
diff --git a/src/IRCNetwork.cpp b/src/IRCNetwork.cpp
index 469f69bf..37e2f381 100644
--- a/src/IRCNetwork.cpp
+++ b/src/IRCNetwork.cpp
@@ -708,6 +708,12 @@ void CIRCNetwork::ClientConnected(CClient* pClient) {
if (m_bIRCAway) {
// If they want to know their away reason they'll have to whois
// themselves. At least we can tell them their away status...
+
+ // This sends to client, but did not work.
+ pClient->PutClientRaw(":" + GetIRCNick().GetNickMask() + " AWAY :" + "NOT HERE! TEST 123 - PutClientRaw()");
+
+ // This does not send to client.
+ pClient->PutClient(":" + GetIRCNick().GetNickMask() + " AWAY :" + "NOT HERE! TEST 123 - PutClient()");
pClient->PutClient(":irc.znc.in 306 " + GetIRCNick().GetNick() +
" :You have been marked as being away");
}
[2025-08-30 08:07:46.645147] (KindOne/foobar) ZNC -> CLI [:kindone.foobar.net 376 KindOne :End of /MOTD command.]
[2025-08-30 08:07:46.646147] (KindOne/foobar) ZNC -> CLI [:KindOne!kindone@Clk-35EC1D3E MODE KindOne :+iostwx]
[2025-08-30 08:07:46.646147] (KindOne/foobar) ZNC -> CLI [:KindOne!kindone@Clk-35EC1D3E AWAY :NOT HERE! TEST 123 - PutClientRaw()]
[2025-08-30 08:07:46.646147] (KindOne/foobar) ZNC -> CLI [:irc.znc.in 306 KindOne :You have been marked as being away]
[2025-08-30 08:07:46.646147] (KindOne/foobar) ZNC -> CLI [:irc.znc.in CAP KindOne NEW :account-notify]
[2025-08-30 08:07:46.646147] (KindOne/foobar) ZNC -> CLI [:irc.znc.in CAP KindOne NEW :account-tag]
[2025-08-30 08:07:46.646147] (KindOne/foobar) ZNC -> CLI [:irc.znc.in CAP KindOne NEW :away-notify]
[2025-08-30 08:07:46.646147] (KindOne/foobar) ZNC -> CLI [:irc.znc.in CAP KindOne NEW :extended-join]
[2025-08-30 08:07:46.648147] (KindOne/foobar) CLI -> ZNC [USERHOST KindOne]
[2025-08-30 08:07:46.649147] (KindOne/foobar) ZNC -> IRC [USERHOST KindOne]
As far as I can tell the only way to fix this issue is to use a mIRC script to set you /away when you connect. Example:
raw 306:*:{
away Foobar
}
It looks like mIRC only stores the /away status for `$away` when you send it from mIRC. The `$away` status is lost when you disconnect from ZNC.
ZNC sending `:irc.znc.in 306 KindOne :You have been marked as being away` does nothing.
I attempted at patching znc, but that did not work.
```
diff --git a/src/IRCNetwork.cpp b/src/IRCNetwork.cpp
index 469f69bf..37e2f381 100644
--- a/src/IRCNetwork.cpp
+++ b/src/IRCNetwork.cpp
@@ -708,6 +708,12 @@ void CIRCNetwork::ClientConnected(CClient* pClient) {
if (m_bIRCAway) {
// If they want to know their away reason they'll have to whois
// themselves. At least we can tell them their away status...
+
+ // This sends to client, but did not work.
+ pClient->PutClientRaw(":" + GetIRCNick().GetNickMask() + " AWAY :" + "NOT HERE! TEST 123 - PutClientRaw()");
+
+ // This does not send to client.
+ pClient->PutClient(":" + GetIRCNick().GetNickMask() + " AWAY :" + "NOT HERE! TEST 123 - PutClient()");
pClient->PutClient(":irc.znc.in 306 " + GetIRCNick().GetNick() +
" :You have been marked as being away");
}
```
```
[2025-08-30 08:07:46.645147] (KindOne/foobar) ZNC -> CLI [:kindone.foobar.net 376 KindOne :End of /MOTD command.]
[2025-08-30 08:07:46.646147] (KindOne/foobar) ZNC -> CLI [:KindOne!kindone@Clk-35EC1D3E MODE KindOne :+iostwx]
[2025-08-30 08:07:46.646147] (KindOne/foobar) ZNC -> CLI [:KindOne!kindone@Clk-35EC1D3E AWAY :NOT HERE! TEST 123 - PutClientRaw()]
[2025-08-30 08:07:46.646147] (KindOne/foobar) ZNC -> CLI [:irc.znc.in 306 KindOne :You have been marked as being away]
[2025-08-30 08:07:46.646147] (KindOne/foobar) ZNC -> CLI [:irc.znc.in CAP KindOne NEW :account-notify]
[2025-08-30 08:07:46.646147] (KindOne/foobar) ZNC -> CLI [:irc.znc.in CAP KindOne NEW :account-tag]
[2025-08-30 08:07:46.646147] (KindOne/foobar) ZNC -> CLI [:irc.znc.in CAP KindOne NEW :away-notify]
[2025-08-30 08:07:46.646147] (KindOne/foobar) ZNC -> CLI [:irc.znc.in CAP KindOne NEW :extended-join]
[2025-08-30 08:07:46.648147] (KindOne/foobar) CLI -> ZNC [USERHOST KindOne]
[2025-08-30 08:07:46.649147] (KindOne/foobar) ZNC -> IRC [USERHOST KindOne]
```
As far as I can tell the only way to fix this issue is to use a mIRC script to set you /away when you connect. Example:
```
raw 306:*:{
away Foobar
}
```
<!-- github-comment-id:3239236733 -->
mIRC beta 7.84.2042 now accepts the 306 when reconnecting to ZNC. The $away in mIRC is now accurate.
https://forums.mirc.com/ubbthreads.php/topics/225704/mirc-beta
<!-- github-comment-id:5462493604 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
I've encountered a problem with the ZNC and AWAY mode. I'll describe the steps that create the "problem."
1. I start mIRC.
2. I connect to the ZNC, which is already connected to the IRC server.
3. I set it to AWAY mode (/AWAY blah blah blah...), and mIRC recognizes that it's now in AWAY mode.
4. I disconnect from the ZNC without removing my AWAY status.
5. I reconnect to the ZNC, but unfortunately, mIRC no longer recognizes AWAY mode.
6. This problem is confusing the automatic reply system to private messages when I should be in AWAY mode.
This is a simple script I use when I set AWAY mode:
on *:TEXT:*:?: if ($away) { msg $nick I'M AWAY - Try again later. If you need help with network services, join the #support channel. }VERSION:
/msg *status listmods
<*status> User modules:
<*status> chansaver
<*status> webadmin
<*status> controlpanel
<*status> Network modules:
<*status> simple_away
<*status> sasl
<*status> perform
<*status> autocycle
<*status> autoop
It looks like mIRC only stores the /away status for
$awaywhen you send it from mIRC. The$awaystatus is lost when you disconnect from ZNC.ZNC sending
:irc.znc.in 306 KindOne :You have been marked as being awaydoes nothing.I attempted at patching znc, but that did not work.
As far as I can tell the only way to fix this issue is to use a mIRC script to set you /away when you connect. Example:
mIRC beta 7.84.2042 now accepts the 306 when reconnecting to ZNC. The $away in mIRC is now accurate.
https://forums.mirc.com/ubbthreads.php/topics/225704/mirc-beta