It is written in Java, so you will need to make sure that you have the Java JRE 1.5 or higher available from http://www.java.com. Being written in Java, it means that you can easily run the bot on a windows or a linux machine, or any machine with an operating system that has a JVM available for it. There are some clear instructions for Installing Java courtesy of jibble.org
Description
AnnounceCaster allows relaying SHOUTcast song info messages to a number of different channels. It uses a main bot as a "hub" and then a number of relay bots that can be requested to join channels.
Features:
Relay SHOUTcast tracks when they change
Advertiser (timed announcements)
Users can request a bot to join a channel
When requested, it will leave a channel that has less than 5 people (configurable)
Users can request songs to be played, which a DJ can then manage the list of
Built in auth levels (master and trusted)
Trusted users can tell get relay bots to join and part channels
Trusted users can tell the bot to ignore/unignore by hostmask
Admin shout - admins can send messages through all of the relays
Admins can change the output configs and reload them while the bot is running
Admins can kill the bot
Network service authing (eg: Q on QuakeNet) and host masking
Configuration
AnnounceCaster configuration is done with 3 files. The main config file is AnnounceCasterConfig.xml and this contains all of the IRC connection configuration, bot behaviour, outputs, and relay bots. The second configuration file is AnnounceCasterChannels.xml and this is a list of the channels that the relay bots are in (and will join when restarted). The third configuration file is AnnounceCasterAdverts.xml which has any fixed timed announcements/adverts in.
Commands
Command: !help Description: Ask for some quick help info about the commands. You are only shown commands that your auth level allow. Auth Level: none Where to give command: channel Outputs to: notice Example(s):
!help
Command: !request Description: Asks for a relay bot to join a channel Auth Level: none Where to give command: channel Outputs to: channel Example(s):
!request #achannel
!request #my.cool.clan
Command: auth Description: To auth, you need the adminPassword or trustedPassword set in the config file, and to use the name of the bot as it is when it is on IRC. This will mean that you are authed with the bot for as long as you are both in the same channel. If either you or the bot quits the channel, you will have to auth again. Auth Level: none Where to give command: private message Outputs to: notice Example(s):
/msg BotName auth adminPassword
/msg BotName auth trustedPassword
Command: join Description: Tells the bot to send a relay bot to a channel Auth Level: trusted Where to give command: private message Outputs to: notice Example(s):
join #achannel
join #my.cool.clan password
Command: part Description: Tells the bot to tell a relay bot to leave a channel Auth Level: trusted Where to give command: private message Outputs to: notice Example(s):
part #achannel
Command: !play Description: Requests a song to be played (to a list that a DJ can manage) Auth Level: none Where to give command: channel Outputs to: nowhere Example(s):
!play bon jovi - wanted dead or alive
!play something by DJ Shmooz
Command: !playlist Description: Lists the songs that have been requested Auth Level: trusted Where to give command: private message Outputs to: DCC Chat Example(s):
!playlist
Command: !del Description: Deletes a song from the request list Auth Level: trusted Where to give command: private message Outputs to: private message Example(s):
!del 1
!del 222
Command: !clear Description: Clears all songs from the request list Auth Level: trusted Where to give command: private message Outputs to: private message Example(s):
!clear
Command: !ignore Description: Tells the bot to ignore a user Auth Level: trusted Where to give command: channel Outputs to: notice Example(s):
!ignore 127.0.0.1
!ignore user.quakenet.org
Command: !unignore Description: Tells the bot to stop ignoring a user Auth Level: trusted Where to give command: channel Outputs to: notice Example(s):
!unignore 127.0.0.1
!unignore user.quakenet.org
Command: shout Description: Sends a message through all relay bots Auth Level: admin Where to give command: private message Outputs to: channel each relay bot is in Example(s):
shout going down for an update, back in 5
shout This bot is sponsored by #my.cool.clan
Command: reload Description: Reloads the output section of the config file Auth Level: admin Where to give command: private message Outputs to: notice Example(s):
reload
Command: restart Description:Restart thje bot and all relay bots Auth Level: admin Where to give command: private message Outputs to: bot quits and then rejoins Example(s):
restart
Command: die Description:Kill / Quit / Stop the bot and all relay bots Auth Level: admin Where to give command: private message Outputs to: bot quits Example(s):
die
Advert Configuration
Adverts are managed in the AnnounceCasterAdverts.xml file. Any plain text editor can be used to edit this file.
Adverts are simply messages that are repeated at fixed intervals which means you need 2 pieces of information ... the advert text and how often you want the bot to show this message in the channels that it (including all of the relay bots) are in.
This will show the text "test message" every 30 seconds: <advert message="test message" timer="30"/>
Last Updated Friday, August 10 2007 @ 02:44 PM CDT; 2,674 Hits
IRC Hacks
I am a contributor to the IRC Hacks book released by O'Reilly in 2004. I wrote a few of the hacks, some of which were about my own software - 2 about PPF and 1 about MatchEd.