Add optional delay to perform commands #131

Closed
opened 2026-10-05 04:00:27 +02:00 by adam · 14 comments
Owner

I'd like the ability to have some performs (in the perform module) to wait a certain amount of time before executing. Mainly, I have some commands that need to be executed after channel joins, but perform executes before channels are joined. A wait period would help.

I'd like the ability to have some performs (in the perform module) to wait a certain amount of time before executing. Mainly, I have some commands that need to be executed after channel joins, but perform executes before channels are joined. A wait period would help. <!-- github-sync-id:5951199 -->
adam closed this issue 2026-10-05 04:00:27 +02:00
Author
Owner

Wait period won't help. Never rely on time, if you need to wait for the channel join instead.
Just write a module and use OnJoin() hook.
Or, if you really want to wait some time, there is http://code.google.com/p/znc-msvc/source/browse/trunk/main/znc-msvc/modules/extra_win32/timed_perform.cpp

Wait period won't help. Never rely on time, if you need to wait for the channel join instead. Just write a module and use OnJoin() hook. Or, if you really want to wait some time, there is http://code.google.com/p/znc-msvc/source/browse/trunk/main/znc-msvc/modules/extra_win32/timed_perform.cpp <!-- github-comment-id:7408477 -->
Author
Owner

Another hack: Add "join #foo" to your perform

Another hack: Add "join #foo" to your perform <!-- github-comment-id:7409453 -->
Author
Owner

I'd like to suggest re-opening this issue. I want to perform commands which join me to a channel only after I have identified with nickserv. Only way to do this is guess the time it takes for that to occur, or for perform to act on the identified event. Thoughts?

I'd like to suggest re-opening this issue. I want to perform commands which join me to a channel only after I have identified with nickserv. Only way to do this is guess the time it takes for that to occur, or for perform to act on the identified event. Thoughts? <!-- github-comment-id:32049415 -->
Author
Owner

@deed02392 Use the SASL module to authenticate to NickServ. SASL negotiation happens before any joins and it's a much cleaner approach.

http://wiki.znc.in/Sasl

@deed02392 Use the SASL module to authenticate to NickServ. SASL negotiation happens before any joins and it's a much cleaner approach. http://wiki.znc.in/Sasl <!-- github-comment-id:32060167 -->
Author
Owner

Sounds perfect, thanks for the suggestion.

Sounds perfect, thanks for the suggestion. <!-- github-comment-id:32073595 -->
Author
Owner

@kylef on debian I have installed the packages znc and znc-extra, but apparently I can't load the sasl module. Do I need to compile znc from source to make it work on debian? I thought as per wiki that such module was included already.

@kylef on debian I have installed the packages znc and znc-extra, but apparently I can't load the sasl module. Do I need to compile znc from source to make it work on debian? I thought as per wiki that such module was included already. <!-- github-comment-id:39436124 -->
Author
Owner

Debian uses ancient znc versions.
Please try this PPA if you don't want to compile yourself: https://launchpad.net/~teward/+archive/znc
For custom module, you can usually use znc-buildmod, however, you really should upgrade your znc installation.

Debian uses ancient znc versions. Please try this PPA if you don't want to compile yourself: https://launchpad.net/~teward/+archive/znc For custom module, you can usually use `znc-buildmod`, however, you really should upgrade your znc installation. <!-- github-comment-id:39442045 -->
Author
Owner

@Nothing4You thanks for the infos, I forgot to specify that I'm on armhf architecture (raspberry pi). It seems like that ppa has no binaries for it.

@Nothing4You thanks for the infos, I forgot to specify that I'm on armhf architecture (raspberry pi). It seems like that ppa has no binaries for it. <!-- github-comment-id:39444713 -->
Author
Owner

@slabua You have some amazing exploits. Upgrade NOW!

You can always compile znc from a tarball for your raspberry pi.

http://wiki.znc.in/Installation

@slabua You have some amazing exploits. Upgrade NOW! You can always compile znc from a tarball for your raspberry pi. http://wiki.znc.in/Installation <!-- github-comment-id:39446162 -->
Author
Owner

@KindOne- thank you, compiled succesfully.

@KindOne- thank you, compiled succesfully. <!-- github-comment-id:39456982 -->
Author
Owner

What if the server doesn't support sasl? Isn't there any other way to execute perform after identifying with nickserv?

What if the server doesn't support sasl? Isn't there any other way to execute perform after identifying with nickserv? <!-- github-comment-id:55981733 -->
Author
Owner

What if the server doesn't support sasl?

Cert might be supported.

> What if the server doesn't support sasl? [Cert](http://wiki.znc.in/Cert) might be supported. <!-- github-comment-id:55995626 -->
Author
Owner

@DarthGandalf Is there an updated version of timed_perform module found anywhere ?

@DarthGandalf Is there an updated version of timed_perform module found anywhere ? <!-- github-comment-id:249649616 -->
Author
Owner

@ne0ark I'm not aware of any updated version of it.

@ne0ark I'm not aware of any updated version of it. <!-- github-comment-id:249716545 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#131