[1.5.0-git-553-d4a36aa] While in KVIrc/Hexchat/irssi using the /hop or /cycle alias doesn't rejoin the channel #468

Closed
opened 2026-10-05 04:23:15 +02:00 by adam · 3 comments
Owner

The /hop or /cycle command is useful in many situations and as of 1.5.0beta it no longer works.

The code for the alias /hop is

// Retrieve channel
%chan=$0
if(!%chan) %chan=$chan.name

// Retrieve channel key
if($channel(%chan)!=0)
    %key=$chan.key($channel(%chan))
else %key=0

// Exit channel
if($window.type($channel(%chan))=="channel")
    eval "part --keep $escape(%chan) $option(stringPartMessage)"
// Rejoin channel
if(!%key) join %chan
else join %chan %key

The debug output can be found here as well

[2015-02-01 17:14:55.305263] (charles/freenode) CLI -> ZNC [PART #znc :Special Z-Lined]
[2015-02-01 17:14:55.305840] (charles/freenode) ZNC -> IRC [PART #znc :Special Z-Lined]
[2015-02-01 17:14:55.343804] (charles/freenode) CLI -> ZNC [JOIN #znc]
[2015-02-01 17:14:55.434685] (charles/freenode) IRC -> ZNC [:JustACharlatan!~Im@host PART #znc]
[2015-02-01 17:14:55.436454] (charles/freenode) ZNC -> CLI [:JustACharlatan!~Im@host PART #znc]

ZNC sees I want to part the channel, sends the part request to IRC, then ZNC sees I want to rejoin the channel but never sends the request back to the IRC network.

This is confirmed working in stable version 1.4.

The /hop or /cycle command is useful in many situations and as of 1.5.0beta it no longer works. The code for the alias /hop is ``` // Retrieve channel %chan=$0 if(!%chan) %chan=$chan.name // Retrieve channel key if($channel(%chan)!=0) %key=$chan.key($channel(%chan)) else %key=0 // Exit channel if($window.type($channel(%chan))=="channel") eval "part --keep $escape(%chan) $option(stringPartMessage)" // Rejoin channel if(!%key) join %chan else join %chan %key ``` The debug output can be found here as well ``` [2015-02-01 17:14:55.305263] (charles/freenode) CLI -> ZNC [PART #znc :Special Z-Lined] [2015-02-01 17:14:55.305840] (charles/freenode) ZNC -> IRC [PART #znc :Special Z-Lined] [2015-02-01 17:14:55.343804] (charles/freenode) CLI -> ZNC [JOIN #znc] [2015-02-01 17:14:55.434685] (charles/freenode) IRC -> ZNC [:JustACharlatan!~Im@host PART #znc] [2015-02-01 17:14:55.436454] (charles/freenode) ZNC -> CLI [:JustACharlatan!~Im@host PART #znc] ``` ZNC sees I want to part the channel, sends the part request to IRC, then ZNC sees I want to rejoin the channel but never sends the request back to the IRC network. This is confirmed working in stable version 1.4. <!-- github-sync-id:56182035 -->
adam closed this issue 2026-10-05 04:23:15 +02:00
Author
Owner

HexChat has /cycle directly and I believe irssi and kvirc have it too. No idea on other clients than HexChat, but /hop is usually for halfopping.

HexChat has /cycle directly and I believe irssi and kvirc have it too. No idea on other clients than HexChat, but `/hop` is usually for halfopping. <!-- github-comment-id:72403977 -->
Author
Owner

Mikaela, you are correct.

While I was in Hexchat I tried to /hop and it threw me an error about half-ops. So I tried /cycle instead. This was the correct command but still was broken.

Later today after work I will launch as many clients as I can and see how they react to this command.

Mikaela, you are correct. While I was in Hexchat I tried to /hop and it threw me an error about half-ops. So I tried /cycle instead. This was the correct command but still was broken. Later today after work I will launch as many clients as I can and see how they react to this command. <!-- github-comment-id:72491158 -->
Author
Owner

@DarkTwist There is pull request https://github.com/znc/znc/pull/841 open to fix this.

@DarkTwist There is pull request https://github.com/znc/znc/pull/841 open to fix this. <!-- github-comment-id:72505550 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#468