Files
zoitechat/docs/plugin-api-additions/post.md
T

1.1 KiB

Post-display print observers

Python: hook_print_after(name, callback, userdata=None, priority=PRI_NORM). The callback is (word, word_eol, userdata, attrs), matching hook_print_attrs(). It runs after display_event() has handled the text, so prnt() follows the original text. Return values are ignored. Events eaten by a pre-hook or hidden by client preferences do not invoke these observers. This is post-display notification, not a notification that the entire incoming IRC command has finished updating state.

C: zoitechat_hook_print_after(ph, name, priority, flags, callback, userdata); flags must be zero. Check get_info("api_hook_print_after") for "1" before accessing the appended Windows function-table slot. Existing pre-hook timing is unchanged. Unhook/unload use existing lifecycle functions. Recursive emission skips an already-running observer to prevent it immediately invoking itself.

def after(word, word_eol, userdata, attrs):
    zoitechat.prnt('This follows the original channel message')

zoitechat.hook_print_after('Channel Message', after)