.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "App::Alice 3pm" .TH App::Alice 3pm "2018-05-07" "perl v5.26.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" App::Alice \- an Altogether Lovely Internet Chatting Experience .SH "SYNPOSIS" .IX Header "SYNPOSIS" .Vb 2 \& arthur:~ leedo$ alice \& Location: http://localhost:8080/ .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Alice is an \s-1IRC\s0 client that is viewed in the web browser. Alice runs in the background maintaining connections and collecting messages. When a browser connects, it will display the 100 most recent messages for each channel, and update with any new messages as they arrive. .PP Alice also logs messages to an SQLite database. These logs are searchable through the web interface. .SH "USAGE" .IX Header "USAGE" Installation will add a new `alice` command to start the alice server. When the command is run it will start the daemon and print the \s-1URL\s0 to load in your browser. .SS "\s-1COMMANDLINE OPTIONS\s0" .IX Subsection "COMMANDLINE OPTIONS" .IP "\-d \-\-debug" 4 .IX Item "-d --debug" Print out additional debug information. Useful for development or finding out if something is wrong. .IP "\-p \-\-port" 4 .IX Item "-p --port" This will change the port that the \s-1HTTP\s0 server listens on. The default port is 8080. .IP "\-a \-\-address" 4 .IX Item "-a --address" This will change the \s-1IP\s0 address that the \s-1HTTP\s0 server listens on. The default address is 127.0.0.1. That means alice only accepts local connections by default. If you want to connect to alice remotely you should change it to the \s-1IP\s0 you want to listen on, or 0.0.0.0 to listen on all addresses. .SH "CONFIGURATION" .IX Header "CONFIGURATION" Most of alice can be configured through the web interface. There are two windows that can be used to alter the configuration, Connections and Preferences. To bring up either of these windows click the gear icon in the bottom right hand corner of the page. .PP This \fBshould\fR bring up the new window. Some browsers (specifically Chrome) will block this popup by default. If it doesn't appear make sure that you allow popups! .SS "\s-1CONNECTION WINDOW\s0" .IX Subsection "CONNECTION WINDOW" The connection window is used to add or remove servers. It should be familiar if you have ever used an \s-1IRC\s0 client (and I assume you have.) .PP The only difference of note is the \*(L"Avatar\*(R" field. In reality, this field just sets the \fBrealname\fR. Alice abuses this field to get avatars for users. If a user has an image \s-1URL\s0 or an email address as their realname, alice will display the image next too their messages. This feature can be disabled in the Preferences window. .SS "\s-1PREFERENCES WINDOW\s0" .IX Subsection "PREFERENCES WINDOW" The Preferences window can be used to set configuration options that are not connection specific. You can toggle the use of avatars, timestamps, and notifications. You can also edit a list of highlightable terms. .SS "\s-1HTTP AUTHENTICATION\s0" .IX Subsection "HTTP AUTHENTICATION" Some configuration options do not have a \s-1UI\s0 yet. The most notable of these options is \s-1HTTP\s0 authentication. If you would like to use \&\s-1HTTP\s0 authentication, you will have to edit your configuration file by hand. You can find this file at ~/.alice/config. .PP The config is simply a perl hash. So, if you are familiar with perl it should not be too intimidating. If you do not know perl, sorry! :) .PP You will need to add \*(L"user\*(R" and \*(L"pass\*(R" values to the \*(L"auth\*(R" hash. The resulting section of configuration might look like this: .PP .Vb 4 \& \*(Aqauth\*(Aq => { \& \*(Aquser\*(Aq => \*(Aqlee\*(Aq, \& \*(Aqpass\*(Aq => \*(Aqmypassword\*(Aq, \& }, .Ve .SH "COMMANDS" .IX Header "COMMANDS" .ie n .IP "/j[oin] [\-network] $channel" 4 .el .IP "/j[oin] [\-network] \f(CW$channel\fR" 4 .IX Item "/j[oin] [-network] $channel" Takes a channel name as an argument, and an optional network flag. If no network flag is provided, it will use the network of the current tab. .IP "/close" 4 .IX Item "/close" Closes the current tab. If used in a channel it will also part the channel. .Sp \&\fB/wc\fR and \fB/part\fR are aliases for /close .IP "/clear" 4 .IX Item "/clear" This will clear the current tab's messages from your browser. It will also clear the tab's message buffer so when you refresh your browser the messages won't re-appear. .IP "/msg [\-network] []" 4 .IX Item "/msg [-network] []" Takes a nick as an argument and an optional network flag. If no network flag is provided, it will use the network of the current tab. A third argument may be used for the message text. If no message text is provided, a blank tab will be opened. .Sp \&\fB/query\fR is an alias for /msg .IP "/whois [\-force] " 4 .IX Item "/whois [-force] " Takes a nick as an argument and an optional force flag. This will print some information about the supplied user. If the force flag is provided, the information will be refreshed from the server. .IP "/quote " 4 .IX Item "/quote " Sends a string as a raw message to the server. .Sp \&\fB/raw\fR is an alias for /quote .IP "/t[opic] []" 4 .IX Item "/t[opic] []" Takes an optional topic string. This will display the topic for the current tab. If a string is supplied, it will attempt to update the channel's topic. Only works in a channel. .IP "/n[ames] [\-avatars]" 4 .IX Item "/n[ames] [-avatars]" This will print a table of all of the nicks in the current tab. An optional avatars flag can be provided to include avatars. .IP "/me " 4 .IX Item "/me " Sends a string as an action to the channel. .Sp e.g. * lee hits clint with a large trout .IP "/w[indow] " 4 .IX Item "/w[indow] " Focus the provided tab number. Also accepts \*(L"next\*(R" or \*(L"prev\*(R". The space after the w can be ommited (e.g. /w4 to focus window 4.) .IP "/connect " 4 .IX Item "/connect " Connect to a network. The network must be the name of a server from the Connections window. If you are already connected to the network it will do nothing. .IP "/disconnect " 4 .IX Item "/disconnect " Disconnect from a network. The network must be the name of a server from the Connections window. This command will also stop any reconnect timers for that network. .IP "/ignore " 4 .IX Item "/ignore " Ignore any nick that matches the one provided. \fBThis applies across all networks.\fR .IP "/ignores" 4 .IX Item "/ignores" List all active ignored nicks. .IP "/unignore " 4 .IX Item "/unignore " Unignore a nick. .SH "NOTIFICATIONS" .IX Header "NOTIFICATIONS" If you get a message with your nick in the body while no browsers are connected, a notification will be sent using either Growl (if running on \s-1OS X\s0) or libnotify (on Linux.) .PP You can add additional patterns to highlight in the Preferences window. .PP If you are using Fluid.app (a \s-1SSB\s0 for \s-1OS X\s0) or Chrome you can also get notifications when the window is unfocused. .SH "MOBILE INTERFACE" .IX Header "MOBILE INTERFACE" Alice has an iPhone style sheet, but it may work in other mobile browsers as well. Any help or bug reports would be much appreciated. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2010 by Lee Aylward .PP This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.