Starting from the 0.7.5 version, poezio supports plugins. Here is a quick howto and a plugin index.
Poezio seeks the plugins in the ~/.local/share/poezio/plugins/ dir (more generally, the $XDG_DATA_HOME/poezio/plugins/ dir), but that can be changed by setting the plugins_dir option to the directory where you want to put your plugins.
By default, poezio will also seek the plugins in ../plugins, in the source directory, in order to always load the latest versions. You should put a plugin in $XDG_DATA_HOME/poezio/plugins only if you have a custom version (that will override the one in ../plugins), or if it is a plugin you made.
Use the plugins_autoload optionto select which plugins should be loaded on startup. The value is a list of plugin names separated by colons, e.g.
plugins_autoload = gpg:tell:exec
Most plugins will manage their configuration internally, and you do not (and should not) have to edit it, but some (e.g. mpd_client or gpg) require manual editing (the /set command can be used, but it is not pleasant to set multiple values with it).
The plugin configuration directory is located in ~/.config/poezio/plugins/ (or $XDG_CONFIG_HOME/poezio/plugins/) and the file related to a specific plugin is named plugin_name.cfg. The configuration options should usually be inside a section named after the plugin (sections are delimited with []).
[plugin_name]
key = value
other_key = other_value
Creates convenient aliases for MUC administration.
Allows you to create your own aliases.
Allows a message to be broadcasted on all the rooms your are in. Caution: do not overuse.
Add new ways to correct messages.
Logs the day change inside the buffers, to keep track of the days when backlogging.
Lists old versions of a corrected message.
Double the first word of each sentence.
Runs a system command an optionally sends the output as a message.
Ascii-art writing (requires the figlet package on your system).
Allows encrypted exchanges and presence signing using GnuPG.
Shows the received IQs, for debugging purposes.
Opens links in a web browser, locally or remotely using a FIFO and SSH.
Sends the current song (and optionally the progress inside the song) to the current (chat) tab.
Allows encrypted and deniable exchanges using OTR.
Kicks a random user in the room.
Sends a ping probe to an entity (XEP-0199)
Insert dots in your messages.
Adds a /quote command to quote a message at HH:MM:SS and put it in the input (to prevent painful copy/pastes).
Sends your messages in rainbow colors using XHTML-IM.
Add regex-based kick and ban commands.
Reminds you to do something every now and then.
Replace some patterns in your messages.
Reverse everything you say.
Changes your status to _away_ if the screen poezio is in is detached.
Shuffle everything you say.
Sends a notification with a command of your choice on (non-MUC) messages.
Adds a subtle little advertising in your messages.
Adds convenient aliases to /status (/away, etc).
Tells a message to a nick when he connects to a MUC.
Display the time between two messages.
Gets the uptime of a XMPP server or a component.