Uses POSIX shell parameter expansion syntax. <pragma-> !factadd cookie /me gives a cookie to ${args:-nobody. What a shame}! <PBot> cookie added to the global channel. <pragma-> !cookie Bob * PBot gives a cookie to Bob! <pragma-> !cookie * PBot gives a cookie to nobody. What a shame! <pragma-> !factadd sum /call calc $arg[0]:-1 + $arg[1]:-2 <PBot> sum added to the global channel. <pragma-> !sum <PBot> 1 + 2 = 3 <pragma-> !sum 3 <PBot> 3 + 2 = 5 <pragma-> !sum 4 6 <PBot> 4 + 6 = 10
6.0 KiB
Frequently Asked Questions
This is a work in progress. More questions coming soon!
- When I
type
!version
it say “new version available”? - How do I change the bot trigger?
- How do I whitelist a user?
- How do I change how the bot outputs multi-line messages?
- How can I remove excessive spaces and tabs from command output?
- How do I change my password?
- How do I
make PBot remember my
date
timezone? - How do I
make PBot remember my
weather
location? - How do I set up automatic join-flood enforcement?
When I type
!version
it say “new version available”?
The PBot version
command checks PBot’s version information on GitHub. The command caches
and reuses this version result for 5 minutes before issuing another
GitHub version check.
You can live-update PBot without shutting it down. None of your files
in your custom data-directories will be touched unless the update
includes a migration script in the updates/
directory.
If you used git
to install PBot, type
git pull
in the pbot
directory. This will
update the PBot files to the latest version from GitHub. If you used ZIP
archives, download the latest files and extract them again.
Then, in your PBot instance on IRC, use the refresh
command to refresh the
PBot core and plugins. No restart required!
If there is a migration script for this update then refresh
will say “Migration
available; restart required.” and you will need to restart PBot at some
point for the update to take effect.
How do I change the bot trigger?
To change the default !
trigger to a different character
use the regset
command to
change the general.trigger
value. Use
#channel.trigger
to change the trigger only for that
channel.
For example, to change it to the ~
character:
regset general.trigger ~
To change it to both !
and ~
(and
others):
regset general.trigger [!~]
To use only the bot’s nick:
regset general.trigger ""
How do I whitelist a user?
Whitelisting a user exempts them from anti-flood enforcement, ban-evasion checking, being automatically muted or kicked for various offenses, and more.
To whitelist a user, use the useradd
command with the
is-whitelisted
capability argument. To whitelist them in
all channels, add the user to the global channel.
Usage:
useradd <username> <hostmasks> <channels> is-whitelisted
If the user already exists, use the userset
command to grant them
the is-whitelisted
capability.
Usage: userset <username> is-whitelisted 1
How do I change how the bot outputs multi-line messages?
When output from a command contains newlines, PBot will convert the newlines to spaces and output it as one message.
If you prefer to output each line instead, you can control this
behavior with the general.preserve_newlines
and
general.max_newlines
registry entries. To set this behavior
for specific channels, replace general
with the
#channel
.
For example:
<pragma-> !sh printf "a\nb\nc\nd\ne\n"
<PBot> a b c d e
<pragma-> !regset general.preserve_newlines 1
<PBot> general.preserve_newlines set to 1
<pragma-> !regset general.max_newlines 4
<PBot> general.max_newlines set to 4
<pragma-> !sh printf "a\nb\nc\nd\ne\n"
<PBot> a
<PBot> b
<PBot> c
<PBot> <truncated; https://0x0.st/Okb.txt>
How can I remove excessive spaces and tabs from command output?
If a command or factoid is producing too much whitespace and making it difficult to read, you enable a metadata option to collapse adjacent whitespace to a single space.
If your command is registered by a plugin, use the cmdset
command to set the
condense-whitespace
command metadata.
If your command is a command-line applet, use the factset
command to set the
condense-whitespace
factoid metadata
instead.
How do I change my password?
If you have a NickServ account or a unique hostmask, you don’t need a
PBot password. The autologin
and stayloggedin
metadata on your user account can be set instead.
But if you prefer to be safe instead of sorry, use the my
command to set the
password
and unset the autologin
and
stayloggedin
metadata for your user account. Your hostmask
must match the user account and you must be logged in.
my password <your password>
my autologin 0
my stayloggedin 0
If you are unable to log in, ask an admin to set a temporary password
for you with the userset
command. Log in with the temporary password and then use the above
commands to update your password.
How do I make PBot
remember my date
timezone?
Use the my
command to set
the timezone
user metadata for your user account. Your
hostmask must match the user account. The my
command will
automatically create a user account for you if one does not exist.
my timezone <your timezone>
How do I make
PBot remember my weather
location?
Use the my
command to set
the location
user metadata for your user account. Your
hostmask must match the user account. The my
command will
automatically create a user account for you if one does not exist.
my location <your location>