limnoria.slackfacts.plugins README This is a collection of Slackware-specific bot plugins for the slackfacts bot, which lives in ##slackware and ##slackware.uk on irc.libera.chat. Commands supported are: !man - display man page summaries (like "man -f" or "whatis"). !locate - find files in the Slackware package database, and show their locations. !which - like !locate, but only searches bin/ directories. !pkgsearch - search for packages by name in the Slackware package database. !filesearch - find packages containing the given file (similar to "slackpkg file-search"). !srcsearch - given a package name, display the URL for the package's source directory on the slackware.uk mirror. !pkg - wrapper for !pkgsearch, !filesearch, !srcsearch. slightly less typing involved, but you have to remember the options (see !pkg examples below). All the commands have help messages, which you can access via !help <command> (don't include the ! in <command> though). Currently only the package database from Slackware 14.2 x86_64 is supported. To avoid spamming the channel, commands that can return multiple results are limited to 5 results. If you use a private message to run the command, you'll get the results privately, and the limit is increased to 25. Examples: -- Search all manual sections: <user> !man printf <slackfacts> user: printf(1): format and print data | printf(3): formatted output conversion -- Search only one manual section: <user> !man 3 printf <slackfacts> user: printf(3): formatted output conversion -- Find files. This is a substring match, so: <user> !locate /bin/ls <slackfacts> user: /bin/ls | /bin/lsblk | /bin/lsmod [l] | /usr/bin/ls [l] | /usr/bin/lsattr | /usr/bin/lsb [l] | [too many results, only showing first 5] [Note: symlinks are listed with [l] after the path] -- Find the ls command: <user> !which ls <slackfacts> user: /bin/ls | /usr/bin/ls [l] -- Find packages by name, search all categories: <user> !pkgsearch core <slackfacts> user: a/coreutils: core GNU utilities | kde/nepomuk-core: Nepomuk Core utilities and libraries | l/at-spi2-core: Assistive Technology Service Provider Interface core | l/xapian-core: Search Engine Library With no options, !pkg is a synonym for !pkgsearch. -- Find packages by name, search one category: <user> !pkgsearch a/core <slackfacts> user: a/coreutils: core GNU utilities -- Find which package owns a file. This is an exact match if you give an absolute path (if the search term starts with a slash), or a substring match otherwise. You can also use * for globbing (e.g. /bin/ls*). <user> !filesearch /bin/ls <slackfacts> user: a/coreutils: core GNU utilities !pkg -f is a synonym for !filesearch. -- Find the source (and SlackBuild) for a package (exact match, no globbing/wildcards allowed): <user> !srcsearch coreutils <slackfacts> user: https://slackware.uk/slackware/slackware64-14.2/source/a/coreutils/ !pkg -s is a synonym for !srcsearch. If there had been an updated coreutils in patches/, the updated version's source would have been found. For instance: <user> !srcsearch irssi <slackfacts> user: https://slackware.uk/slackware/slackware64-14.2/patches/source/irssi/