• Stars
    star
    106
  • Rank 325,871 (Top 7 %)
  • Language
    JavaScript
  • Created over 14 years ago
  • Updated over 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

IRC client viewed in WebKit or Gecko

NAME

Alice::ReadMe - an Altogether Lovely Internet Chatting Experience

SYNPOSIS

arthur:~ leedo$ alice
Location: http://localhost:8080/

DESCRIPTION

Alice is an IRC 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.

Alice also logs messages to an SQLite database. These logs are searchable through the web interface.

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 URL to load in your browser.

COMMANDLINE OPTIONS

  • -d --debug

Print out additional debug information. Useful for development or finding out if something is wrong.

  • -p --port

This will change the port that the HTTP server listens on. The default port is 8080.

  • -a --address

This will change the IP address that the HTTP 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 IP you want to listen on, or 0.0.0.0 to listen on all addresses.

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.

This should 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!

CONNECTION WINDOW

The connection window is used to add or remove servers. It should be familiar if you have ever used an IRC client (and I assume you have.)

The only difference of note is the "Avatar" field. In reality, this field just sets the realname. Alice abuses this field to get avatars for users. If a user has an image URL 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.

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.

HTTP AUTHENTICATION

Some configuration options do not have a UI yet. The most notable of these options is HTTP authentication. If you would like to use HTTP authentication, you will have to edit your configuration file by hand. You can find this file at ~/.alice/config.

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! :)

You will need to add "user" and "pass" values to the "auth" hash. The resulting section of configuration might look like this:

'auth' => {
  'user' => 'lee',
  'pass' => 'mypassword',
},

COMMANDS

  • /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.

  • /close

Closes the current tab. If used in a channel it will also part the channel.

/wc and /part are aliases for /close

  • /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.

  • /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.

/query is an alias for /msg

  • /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.

  • /quote

Sends a string as a raw message to the server.

/raw is an alias for /quote

  • /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.

  • /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.

  • /me

Sends a string as an action to the channel.

e.g. * lee hits clint with a large trout

  • /w[indow]

Focus the provided tab number. Also accepts "next" or "prev". The space after the w can be ommited (e.g. /w4 to focus window 4.)

  • /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.

  • /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.

  • /ignore

Ignore any nick that matches the one provided. This applies across all networks.

  • /ignores

List all active ignored nicks.

  • /unignore

Unignore a nick.

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 OS X) or libnotify (on Linux.)

You can add additional patterns to highlight in the Preferences window.

If you are using Fluid.app (a SSB for OS X) or Chrome you can also get notifications when the window is unfocused.

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.

CONTRIBUTORS

COPYRIGHT

Copyright 2010 by Lee Aylward [email protected]

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

More Repositories

1

noembed

oEmbed gateway service with additional non-oEmbed sources
Perl
485
star
2

Plack-App-Proxy

a streaming capable proxy for Plack
Perl
18
star
3

Plack-App-Prack

run rack apps inside plack
Perl
12
star
4

squiggy

simple web framework with a focus on async responses
Perl
5
star
5

dragon-stryfe

dragons, fighting, in space
CoffeeScript
5
star
6

web-imageproxy

image proxy with file size limits, image resizing, animated gif killing, everything ever
Perl
4
star
7

Leeder

Google Reader clone with pluggable sharing and favorites
Perl
4
star
8

irc-formatting-html

convert IRC formatting strings to HTML
Perl
4
star
9

hellasmella

hellanzb front end
3
star
10

WebService-CheddarGetter

perl client for the CheddarGetter.com API
Perl
3
star
11

www-discogs

perl module for interfacing with discogs.org api
Perl
3
star
12

awkward

websocket chat, with animated gifs
JavaScript
3
star
13

catlady

manage multiple alice instances
Perl
3
star
14

wordpress-atd

A copy of After the Deadline as it exists in the Jetpack set of plugins
JavaScript
3
star
15

fuhbot

another IRC bot framework?
Perl
3
star
16

radiomux

radio stream monitor
Perl
2
star
17

colloqueer

webkit-gtk irc client written in perl
Perl
2
star
18

leisurely-letters

web-based scrabble game
JavaScript
2
star
19

smellatorrent

rtorrent front end
2
star
20

Plack-App-oEmbedProxy

proxy and cache oEmbed-able URLs
Perl
2
star
21

strugglin-rts

JavaScript
2
star
22

music-mirror

distributed music storage
CoffeeScript
2
star
23

html5-album-streamer

HTML5 album streamer that handles XSPF playlists
JavaScript
2
star
24

tamale-tracker

try to predict where the tamale guy will be at any given time
JavaScript
2
star
25

noembed.js

javascript file to automatically embed links using noembed
JavaScript
2
star
26

tag-sync-tracker

tracker for syncing uploaded data based on tags
JavaScript
2
star
27

Plack-Session-Store-Redis

redis based session store for Plack
Perl
2
star
28

chrome-duckduckgo-embeds

embed content in Duck Duck Go search results
JavaScript
2
star
29

tag-sync-mirror

node.js server for use with tag-sync-tracker
JavaScript
1
star
30

gward

command line to watch some directories and run a command on changes
Perl
1
star
31

mac-sleepevent

run Perl code on Mac OS X sleep, wake, and logout events
C
1
star
32

noembed-talk-yapc2012

JavaScript
1
star
33

backcast

podcast API with feed history
Go
1
star
34

Peestream

HTTP message streamer
Perl
1
star
35

planetscale-fastly

planetscale sql driver using HTTP API
Go
1
star
36

js-countdown-clock

JavaScript
1
star
37

dot-vim

vim directory
Vim Script
1
star
38

generic-rpg

a generic tile-based rpg played in the browser
Perl
1
star
39

wordpress-memcached-expires-variance

memcached object cache for Wordpress with probabilistic cache invalidation
PHP
1
star
40

irc-share-button

a share button that will send a URL and it's title to an IRC channel
HTML
1
star
41

ars-photo-sync

monitor directory for images, resize, watermark, and upload to S3
Shell
1
star
42

app-coverart

search discogs for cover art
Perl
1
star
43

web-twitter-image

generate an image from a twitter link
Perl
1
star
44

raku-web-scraper

A clone of perl's Web::Scraper in the raku language
Raku
1
star
45

AnyEvent-HTTP-Batch

batch url downloading with a connection limit and timeout
Perl
1
star
46

node-gridserver

a simple node server to serve files from GridFS
JavaScript
1
star
47

melanin

perl interface to pygmentize
Perl
1
star
48

html-to-apple-json

HTML
1
star
49

html-highlighter

plack middleware to highlight an html response based on query parameter or callback
Perl
1
star