Welcome to DeadEd.com
Saturday, May 17 2008 @ 04:30 PM CDT

AnnounceCaster - An IRC SHOUTCast Announcer Bot

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 View Printable Version