################################################################################
#
# classic.zst
#
# Maintained by: neoxed
# Tested with: r1567
# Notes: Based on the original dZSbot theme.
#
##############################################################################
COLOR1 = "12" # Site color
COLOR2 = "04" # Warning color
COLOR3 = "12" # Not used
PREFIX = "-%b{%sitename}-"
SPLITTER = ", "
KB = "%b{%value}KB/s"
MB = "%b{%value}MB/s"
KBIT = "%b{%value}Kbit/s"
MBIT = "%b{%value}Mbit/s"
## Default announce
announce.DEFAULT = "%b{[%c1{INFO}]} %msg"
## Login announcements
announce.LOGIN = "%b{[%c1{LOGIN}]} - %b{%u_name}/%g_name has logged in."
announce.LOGOUT = "%b{[%c1{LOGOUT}]} - %b{%u_name}/%g_name has logged out."
announce.BADHOSTMASK = "%b{[%c1{LOGIN}]} - %b{%u_name} could not login, hostmask %b{%u_hostmask} is not added."
announce.BADPASSWORD = "%b{[%c1{LOGIN}]} - %b{%u_name} could not login, invalid password."
announce.BANNEDHOST = "%b{[%c1{LOGIN}]} - %b{%u_name} could not login, hostmask %b{%u_hostmask} is banned."
announce.DELETED = "%b{[%c1{LOGIN}]} - %b{%u_name} could not login, account deleted."
announce.IPNOTADDED = "%b{[%c1{LOGIN}]} - denied unknown connection from %b{%u_hostmask}."
announce.KILLGHOST = "%b{[%c1{GHOST}]} - %b{%u_name} killed a ghost with PID %b{%pid}."
announce.TAGLINE = "%b{[%c1{TAGLINE}]} - %b{%u_name}/%g_name has changed tagline to %b{%u_tagline}."
announce.TIMEOUT = "%b{[%c1{LOGOUT}]} - %b{%u_name} has timed out after %b{%u_idletime}s."
## Sysop announcements (only important announces are themed)
announce.ADDUSER = "%b{[%c1{SYSOP}]} - %b{%u_siteop} added user %b{%u_name}."
announce.GADDUSER = "%b{[%c1{SYSOP}]} - %b{%u_siteop} added user %b{%u_name} to group %b{%g_name}."
announce.CHGRPADD = "%b{[%c1{SYSOP}]} - %b{%u_siteop} added %b{%u_name} to group %b{%g_name}."
announce.CHGRPDEL = "%b{[%c1{SYSOP}]} - %b{%u_siteop} removed %b{%u_name} from group %b{%g_name}."
announce.ADDIP = "%b{[%c1{SYSOP}]} - %b{%u_siteop} added ip %b{%u_ip} to %b{%u_name}."
announce.DELIP = "%b{[%c1{SYSOP}]} - %b{%u_siteop} removed ip %b{%u_ip} from %b{%u_name}."
announce.READDED = "%b{[%c1{SYSOP}]} - %b{%u_siteop} readded %b{%u_name}."
announce.DELUSER = "%b{[%c1{SYSOP}]} - %b{%u_siteop} deleted %b{%u_name}."
announce.PURGED = "%b{[%c1{SYSOP}]} - %b{%u_siteop} purged %b{%u_name}."
announce.KILLED = "%b{[%c1{SYSOP}]} - %b{%u_siteop} killed %b{%u_name} (PID: %b{%pid})."
announce.SYSOP = "%b{[%c1{SYSOP}]} - %msg"
## glFTPd announcements
announce.NEWDIR = "%b{[%c1{%section}]} + New Release: %b{%relname} by %b{%u_name}/%g_name"
announce.DELDIR = "%b{[%c1{%section}]} - Directory deleted: %b{%relname} by %b{%u_name}/%g_name"
announce.NUKE = "%b{[%c1{%section}]} + %b{%relname} was %u{nuked %b{%multiplier}x} by %b{%nuker} - reason: %reason - nukees: %nukees"
announce.UNNUKE = "%b{[%c1{%section}]} + %b{%relname} was %u{unnuked %b{%multiplier}x} by %b{%nuker} - reason: %reason - nukees: %nukees"
announce.NUKEES = "%b{%u_name} (%b{%size}MB)"
announce.WIPE = "%b{[%c1{%section}]} - Directory wiped: %b{%relname} by %b{%u_name}/%g_name"
announce.WIPE-r = "%b{[%c1{%section}]} - Directory wiped: %b{%relname} by %b{%u_name}/%g_name"
## Special zipscript announcements
announce.DOUBLESFV = "%b{[%c1{%section}]} - %b{%u_name}/%g_name tried to upload a second SFV in %b{%releasename}."
announce.BADBITRATE = "%b{[%c1{%section}]} - %b{%u_name}/%g_name is uploading a banned bitrate of %b{%bitrate}Kbit/s."
announce.BADGENRE = "%b{[%c1{%section}]} - %b{%u_name}/%g_name is uploading a banned genre of %b{%genre}."
announce.BADYEAR = "%b{[%c1{%section}]} - %b{%u_name}/%g_name is uploading a banned year from %b{%year}."
announce.BAD_FILE_0SIZE = "%b{[%c1{%section}]} - %b{%u_name}/%g_name uploaded a zero byte file in %b{%releasename}."
announce.BAD_FILE_BITRATE = "%b{[%c1{%section}]} - %b{%u_name}/%g_name uploaded a banned bitrate in %b{%releasename}."
announce.BAD_FILE_CRC = "%b{[%c1{%section}]} - %b{%u_name}/%g_name uploaded a bad file in %b{%releasename}."
announce.BAD_FILE_DISALLOWED = "%b{[%c1{%section}]} - %b{%u_name}/%g_name uploaded a banned file type in %b{%releasename}."
announce.BAD_FILE_DUPENFO = "%b{[%c1{%section}]} - %b{%u_name}/%g_name uploaded a duplicate NFO in %b{%releasename}."
announce.BAD_FILE_GENRE = "%b{[%c1{%section}]} - %b{%u_name}/%g_name uploaded a banned genre in %b{%releasename}."
announce.BAD_FILE_NOSFV = "%b{[%c1{%section}]} - %b{%u_name}/%g_name uploaded a file in %b{%releasename} but there's no SFV."
announce.BAD_FILE_SFV = "%b{[%c1{%section}]} - %b{%u_name}/%g_name uploaded a bad SFV in %b{%releasename}."
announce.BAD_FILE_WRONGDIR = "%b{[%c1{%section}]} - %b{%u_name}/%g_name uploaded a file to the wrong dir in %b{%releasename}."
announce.BAD_FILE_YEAR = "%b{[%c1{%section}]} - %b{%u_name}/%g_name uploaded a banned year in %b{%releasename}."
announce.BAD_FILE_ZIP = "%b{[%c1{%section}]} - %b{%u_name}/%g_name uploaded a bad ZIP in %b{%releasename}."
## Loop variables, these format the racers and stats
announce.RACE_AUDIO_LOOP1 = "%b{%a_name}/%a_gname%splitter"
announce.RACE_AUDIO_LOOP2 = "%b{%r_name}/%r_gname%splitter"
announce.RACE_OTHER_LOOP1 = "%b{%a_name}/%a_gname%splitter"
announce.RACE_OTHER_LOOP2 = "%b{%r_name}/%r_gname%splitter"
announce.RACE_RAR_LOOP1 = "%b{%a_name}/%a_gname%splitter"
announce.RACE_RAR_LOOP2 = "%b{%r_name}/%r_gname%splitter"
announce.RACE_VIDEO_LOOP1 = "%b{%a_name}/%a_gname%splitter"
announce.RACE_VIDEO_LOOP2 = "%b{%r_name}/%r_gname%splitter"
announce.RACE_ZIP_LOOP1 = "%b{%a_name}/%a_gname%splitter"
announce.RACE_ZIP_LOOP2 = "%b{%r_name}/%r_gname%splitter"
announce.HALFWAY_RACE_AUDIO_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.HALFWAY_RACE_OTHER_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.HALFWAY_RACE_RAR_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.HALFWAY_RACE_VIDEO_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.HALFWAY_RACE_ZIP_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.NEWLEADER_AUDIO_LOOP1 = "%b{%a_name}/%a_gname%splitter"
announce.NEWLEADER_OTHER_LOOP1 = "%b{%a_name}/%a_gname%splitter"
announce.NEWLEADER_RAR_LOOP1 = "%b{%a_name}/%a_gname%splitter"
announce.NEWLEADER_VIDEO_LOOP1 = "%b{%a_name}/%a_gname%splitter"
announce.NEWLEADER_ZIP_LOOP1 = "%b{%a_name}/%a_gname%splitter"
announce.COMPLETE_STAT_RACE_AUDIO_CBR_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.COMPLETE_STAT_RACE_AUDIO_VBR_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.COMPLETE_STAT_RACE_OTHER_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.COMPLETE_STAT_RACE_RAR_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.COMPLETE_STAT_RACE_VIDEO_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.COMPLETE_STAT_RACE_ZIP_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.COMPLETE_STAT_RACE_AUDIO_CBR_LOOP2 = "\n-%b{%sitename}- %b{[%c1{%section}]} - %g_racer_position. %b{%g_racer_name} [%b{%g_racer_mbytes}MB/%b{%g_racer_files}F/%b{%g_racer_percent}%/%g_racer_avgspeed]"
announce.COMPLETE_STAT_RACE_AUDIO_VBR_LOOP2 = "\n-%b{%sitename}- %b{[%c1{%section}]} - %g_racer_position. %b{%g_racer_name} [%b{%g_racer_mbytes}MB/%b{%g_racer_files}F/%b{%g_racer_percent}%/%g_racer_avgspeed]"
announce.COMPLETE_STAT_RACE_OTHER_LOOP2 = "\n-%b{%sitename}- %b{[%c1{%section}]} - %g_racer_position. %b{%g_racer_name} [%b{%g_racer_mbytes}MB/%b{%g_racer_files}F/%b{%g_racer_percent}%/%g_racer_avgspeed]"
announce.COMPLETE_STAT_RACE_RAR_LOOP2 = "\n-%b{%sitename}- %b{[%c1{%section}]} - %g_racer_position. %b{%g_racer_name} [%b{%g_racer_mbytes}MB/%b{%g_racer_files}F/%b{%g_racer_percent}%/%g_racer_avgspeed]"
announce.COMPLETE_STAT_RACE_VIDEO_LOOP2 = "\n-%b{%sitename}- %b{[%c1{%section}]} - %g_racer_position. %b{%g_racer_name} [%b{%g_racer_mbytes}MB/%b{%g_racer_files}F/%b{%g_racer_percent}%/%g_racer_avgspeed]"
announce.COMPLETE_STAT_RACE_ZIP_LOOP2 = "\n-%b{%sitename}- %b{[%c1{%section}]} - %g_racer_position. %b{%g_racer_name} [%b{%g_racer_mbytes}MB/%b{%g_racer_files}F/%b{%g_racer_percent}%/%g_racer_avgspeed]"
announce.COMPLETE_STAT_RACE_AUDIO_CBR_LOOP3 = "\n-%b{%sitename}- %b{[%c1{%section}]} - %u_racer_position. %b{%u_racer_name}/%g_racer_name [%b{%u_racer_mbytes}MB/%b{%u_racer_files}F/%b{%u_racer_percent}%/%u_racer_avgspeed]"
announce.COMPLETE_STAT_RACE_AUDIO_VBR_LOOP3 = "\n-%b{%sitename}- %b{[%c1{%section}]} - %u_racer_position. %b{%u_racer_name}/%g_racer_name [%b{%u_racer_mbytes}MB/%b{%u_racer_files}F/%b{%u_racer_percent}%/%u_racer_avgspeed]"
announce.COMPLETE_STAT_RACE_OTHER_LOOP3 = "\n-%b{%sitename}- %b{[%c1{%section}]} - %u_racer_position. %b{%u_racer_name}/%g_racer_name [%b{%u_racer_mbytes}MB/%b{%u_racer_files}F/%b{%u_racer_percent}%/%u_racer_avgspeed]"
announce.COMPLETE_STAT_RACE_RAR_LOOP3 = "\n-%b{%sitename}- %b{[%c1{%section}]} - %u_racer_position. %b{%u_racer_name}/%g_racer_name [%b{%u_racer_mbytes}MB/%b{%u_racer_files}F/%b{%u_racer_percent}%/%u_racer_avgspeed]"
announce.COMPLETE_STAT_RACE_VIDEO_LOOP3 = "\n-%b{%sitename}- %b{[%c1{%section}]} - %u_racer_position. %b{%u_racer_name}/%g_racer_name [%b{%u_racer_mbytes}MB/%b{%u_racer_files}F/%b{%u_racer_percent}%/%u_racer_avgspeed]"
announce.COMPLETE_STAT_RACE_ZIP_LOOP3 = "\n-%b{%sitename}- %b{[%c1{%section}]} - %u_racer_position. %b{%u_racer_name}/%g_racer_name [%b{%u_racer_mbytes}MB/%b{%u_racer_files}F/%b{%u_racer_percent}%/%u_racer_avgspeed]"
## Standard zipscript announcements
announce.RACE_AUDIO = "%b{[%c1{%section}]} - %b{%u_name}/%g_name is racing [ %loop1 ] on %b{%reldir} at %u_speed."
announce.RACE_OTHER = "%b{[%c1{%section}]} - %b{%u_name}/%g_name is racing [ %loop1 ] on %b{%relname} at %u_speed."
announce.RACE_RAR = "%b{[%c1{%section}]} - %b{%u_name}/%g_name is racing [ %loop1 ] on %b{%relname} at %u_speed."
announce.RACE_VIDEO = "%b{[%c1{%section}]} - %b{%u_name}/%g_name is racing [ %loop1 ] on %b{%relname} at %u_speed."
announce.RACE_ZIP = "%b{[%c1{%section}]} - %b{%u_name}/%g_name is racing [ %loop1 ] on %b{%reldir} at %u_speed."
announce.SFV_AUDIO = "%b{[%c1{%section}]} - Got SFV for %b{%reldir}, expecting %b{%t_filecount}F."
announce.SFV_OTHER = "%b{[%c1{%section}]} - Got SFV for %b{%relname}, expecting %b{%t_filecount}F."
announce.SFV_RAR = "%b{[%c1{%section}]} - Got SFV for %b{%relname}, expecting %b{%t_filecount}F."
announce.SFV_VIDEO = "%b{[%c1{%section}]} - Got SFV for %b{%relname}, expecting %b{%t_filecount}F."
announce.UPDATE_CBR = "%b{[%c1{%section}]} - %b{%u_name}/%g_name was the first to upload a file in %b{%reldir} at %u_speed, expecting %b{%t_mbytes}MB of %b{%genre} from %b{%year} at %b{%bitrate}Kbit/s."
announce.UPDATE_VBR = "%b{[%c1{%section}]} - %b{%u_name}/%g_name was the first to upload a file in %b{%reldir} at %u_speed, expecting %b{%t_mbytes}MB of %b{%genre} from %b{%year} at %b{%bitrate}Kbit/s."
announce.UPDATE_OTHER = "%b{[%c1{%section}]} - %b{%u_name}/%g_name was the first to upload a file in %b{%relname} at %u_speed, expecting %b{%t_mbytes}MB."
announce.UPDATE_RAR = "%b{[%c1{%section}]} - %b{%u_name}/%g_name was the first to upload a file in %b{%relname} at %u_speed, expecting %b{%t_mbytes}MB."
announce.UPDATE_VIDEO = "%b{[%c1{%section}]} - %b{%u_name}/%g_name was the first to upload a file in %b{%relname} at %u_speed, expecting %b{%t_mbytes}MB."
announce.UPDATE_ZIP = "%b{[%c1{%section}]} - %b{%u_name}/%g_name was the first to upload a file in %b{%reldir} at %u_speed, expecting %b{%t_mbytes}MB."
announce.HALFWAY_NORACE_AUDIO = "%b{[%c1{%section}]} - %b{%reldir} is in halfway. %b{%u_leader_name}/%b{%u_leader_gname} is all alone and halfway at %u_leader_avgspeed. Estimated time left: %b{%t_timeleft}."
announce.HALFWAY_NORACE_OTHER = "%b{[%c1{%section}]} - %b{%relname} is in halfway. %b{%u_leader_name}/%b{%u_leader_gname} is all alone and halfway at %u_leader_avgspeed. Estimated time left: %b{%t_timeleft}."
announce.HALFWAY_NORACE_RAR = "%b{[%c1{%section}]} - %b{%relname} is in halfway. %b{%u_leader_name}/%b{%u_leader_gname} is all alone and halfway at %u_leader_avgspeed. Estimated time left: %b{%t_timeleft}."
announce.HALFWAY_NORACE_VIDEO = "%b{[%c1{%section}]} - %b{%relname} is in halfway. %b{%u_leader_name}/%b{%u_leader_gname} is all alone and halfway at %u_leader_avgspeed. Estimated time left: %b{%t_timeleft}."
announce.HALFWAY_NORACE_ZIP = "%b{[%c1{%section}]} - %b{%reldir} is in halfway, %b{%u_leader_name}/%b{%u_leader_gname} is all alone and halfway at %u_leader_avgspeed. Estimated time left: %b{%t_timeleft}."
announce.HALFWAY_RACE_AUDIO = "%b{[%c1{%section}]} - %b{%reldir} is in halfway with %b{%u_count} user(s) from %b{%g_count} group(s). Leading uploader is %b{%u_leader_name}/%u_leader_gname [%b{%u_leader_mbytes}MB/%b{%u_leader_files}F/%b{%u_leader_percent}%/%u_leader_avgspeed], leading group is %b{%g_leader_name} [%b{%g_leader_mbytes}MB/%b{%g_leader_files}F/%b{%g_leader_percent}%/%g_leader_avgspeed]."
announce.HALFWAY_RACE_OTHER = "%b{[%c1{%section}]} - %b{%relname} is in halfway with %b{%u_count} user(s) from %b{%g_count} group(s). Leading uploader is %b{%u_leader_name}/%u_leader_gname [%b{%u_leader_mbytes}MB/%b{%u_leader_files}F/%b{%u_leader_percent}%/%u_leader_avgspeed], leading group is %b{%g_leader_name} [%b{%g_leader_mbytes}MB/%b{%g_leader_files}F/%b{%g_leader_percent}%/%g_leader_avgspeed]."
announce.HALFWAY_RACE_RAR = "%b{[%c1{%section}]} - %b{%relname} is in halfway with %b{%u_count} user(s) from %b{%g_count} group(s). Leading uploader is %b{%u_leader_name}/%u_leader_gname [%b{%u_leader_mbytes}MB/%b{%u_leader_files}F/%b{%u_leader_percent}%/%u_leader_avgspeed], leading group is %b{%g_leader_name} [%b{%g_leader_mbytes}MB/%b{%g_leader_files}F/%b{%g_leader_percent}%/%g_leader_avgspeed]."
announce.HALFWAY_RACE_VIDEO = "%b{[%c1{%section}]} - %b{%relname} is in halfway with %b{%u_count} user(s) from %b{%g_count} group(s). Leading uploader is %b{%u_leader_name}/%u_leader_gname [%b{%u_leader_mbytes}MB/%b{%u_leader_files}F/%b{%u_leader_percent}%/%u_leader_avgspeed], leading group is %b{%g_leader_name} [%b{%g_leader_mbytes}MB/%b{%g_leader_files}F/%b{%g_leader_percent}%/%g_leader_avgspeed]."
announce.HALFWAY_RACE_ZIP = "%b{[%c1{%section}]} - %b{%reldir} is in halfway with %b{%u_count} user(s) from %b{%g_count} group(s). Leading uploader is %b{%u_leader_name}/%u_leader_gname [%b{%u_leader_mbytes}MB/%b{%u_leader_files}F/%b{%u_leader_percent}%/%u_leader_avgspeed], leading group is %b{%g_leader_name} [%b{%g_leader_mbytes}MB/%b{%g_leader_files}F/%b{%g_leader_percent}%/%g_leader_avgspeed]."
announce.NEWLEADER_AUDIO = "%b{[%c1{%section}]} - %b{%u_leader_name}/%b{%u_leader_gname} [%b{%u_leader_mbytes}MB/%b{%u_leader_files}F/%b{%u_leader_percent}%/%u_leader_avgspeed] takes the lead in %b{%reldir}."
announce.NEWLEADER_OTHER = "%b{[%c1{%section}]} - %b{%u_leader_name}/%b{%u_leader_gname} [%b{%u_leader_mbytes}MB/%b{%u_leader_files}F/%b{%u_leader_percent}%/%u_leader_avgspeed] takes the lead in %b{%relname}."
announce.NEWLEADER_RAR = "%b{[%c1{%section}]} - %b{%u_leader_name}/%b{%u_leader_gname} [%b{%u_leader_mbytes}MB/%b{%u_leader_files}F/%b{%u_leader_percent}%/%u_leader_avgspeed] takes the lead in %b{%relname}."
announce.NEWLEADER_VIDEO = "%b{[%c1{%section}]} - %b{%u_leader_name}/%b{%u_leader_gname} [%b{%u_leader_mbytes}MB/%b{%u_leader_files}F/%b{%u_leader_percent}%/%u_leader_avgspeed] takes the lead in %b{%relname}."
announce.NEWLEADER_ZIP = "%b{[%c1{%section}]} - %b{%u_leader_name}/%b{%u_leader_gname} [%b{%u_leader_mbytes}MB/%b{%u_leader_files}F/%b{%u_leader_percent}%/%u_leader_avgspeed] takes the lead in %b{%reldir}."
announce.COMPLETE_AUDIO_CBR = "%b{[%c1{%section}]} - %b{%reldir} [%b{%t_mbytes}MB in %b{%t_files}F at %r_avgspeed - %b{%t_duration}] was completed by %b{%u_name}/%g_name."
announce.COMPLETE_AUDIO_VBR = "%b{[%c1{%section}]} - %b{%reldir} [%b{%t_mbytes}MB in %b{%t_files}F at %r_avgspeed - %b{%t_duration}] was completed by %b{%u_name}/%g_name."
announce.COMPLETE_OTHER = "%b{[%c1{%section}]} - %b{%relname} [%b{%t_mbytes}MB in %b{%t_files}F at %r_avgspeed - %b{%t_duration}] was completed by %b{%u_name}/%g_name."
announce.COMPLETE_RAR = "%b{[%c1{%section}]} - %b{%relname} [%b{%t_mbytes}MB in %b{%t_files}F at %r_avgspeed - %b{%t_duration}] was completed by %b{%u_name}/%g_name."
announce.COMPLETE_VIDEO = "%b{[%c1{%section}]} - %b{%relname} [%b{%t_mbytes}MB in %b{%t_files}F at %r_avgspeed - %b{%t_duration}] was completed by %b{%u_name}/%g_name."
announce.COMPLETE_ZIP = "%b{[%c1{%section}]} - %b{%reldir} [%b{%t_mbytes}MB in %b{%t_files}F at %r_avgspeed - %b{%t_duration}] was completed by %b{%u_name}/%g_name."
announce.COMPLETE_STAT_RACE_AUDIO_CBR = "%b{[%c1{%section}]} - %b{%reldir} [%b{%t_mbytes}MB in %b{%t_files}F at %t_avgspeed - %b{%t_duration}] was completed by %b{%u_count} user(s) in %b{%g_count} group(s).\n-%b{%sitename}- %b{[%c1{%section}]} - User Top:%loop3\n-%b{%sitename}- %b{[%c1{%section}]} - Group Top:\n%loop2"
announce.COMPLETE_STAT_RACE_AUDIO_VBR = "%b{[%c1{%section}]} - %b{%reldir} [%b{%t_mbytes}MB in %b{%t_files}F at %t_avgspeed - %b{%t_duration}] was completed by %b{%u_count} user(s) in %b{%g_count} group(s).\n-%b{%sitename}- %b{[%c1{%section}]} - User Top:%loop3\n-%b{%sitename}- %b{[%c1{%section}]} - Group Top:\n%loop2"
announce.COMPLETE_STAT_RACE_OTHER = "%b{[%c1{%section}]} - %b{%relname} [%b{%t_mbytes}MB in %b{%t_files}F at %t_avgspeed - %b{%t_duration}] was completed by %b{%u_count} user(s) in %b{%g_count} group(s).\n-%b{%sitename}- %b{[%c1{%section}]} - User Top:%loop3\n-%b{%sitename}- %b{[%c1{%section}]} - Group Top:\n%loop2"
announce.COMPLETE_STAT_RACE_RAR = "%b{[%c1{%section}]} - %b{%relname} [%b{%t_mbytes}MB in %b{%t_files}F at %t_avgspeed - %b{%t_duration}] was completed by %b{%u_count} user(s) in %b{%g_count} group(s).\n-%b{%sitename}- %b{[%c1{%section}]} - User Top:%loop3\n-%b{%sitename}- %b{[%c1{%section}]} - Group Top:\n%loop2"
announce.COMPLETE_STAT_RACE_VIDEO = "%b{[%c1{%section}]} - %b{%relname} [%b{%t_mbytes}MB in %b{%t_files}F at %t_avgspeed - %b{%t_duration}] was completed by %b{%u_count} user(s) in %b{%g_count} group(s).\n-%b{%sitename}- %b{[%c1{%section}]} - User Top:%loop3\n-%b{%sitename}- %b{[%c1{%section}]} - Group Top:\n%loop2"
announce.COMPLETE_STAT_RACE_ZIP = "%b{[%c1{%section}]} - %b{%reldir} [%b{%t_mbytes}MB in %b{%t_files}F at %t_avgspeed - %b{%t_duration}] was completed by %b{%u_count} user(s) in %b{%g_count} group(s).\n-%b{%sitename}- %b{[%c1{%section}]} - User Top:%loop3\n-%b{%sitename}- %b{[%c1{%section}]} - Group Top:\n%loop2"
## Postdel announce
announce.INCOMPLETE = "%b{[%c1{%section}]} - %b{%releasename} is now incomplete thanks to %b{%u_name}/%g_name"
## Third party scripts
announce.PRE = "%b{[%c1{%section-PRE}]} + %b{%pregroup} launches %b{%relname} - (with %b{%mbytes}MB in %b{%files}F)"
announce.TURGEN = "%msg"
## Miscellaneous announcements
announce.BADMSGINVITE = "%b{[%c2{INVITE}]} - %b{%u_ircnick} (%u_host) tried to invite himself with an invalid login."
announce.INVITE = "%b{[%c1{INVITE}]} + %b{%u_name}/%g_name invited himself as %b{%u_ircnick}."
announce.MSGINVITE = "%b{[%c1{INVITE}]} + %b{%u_name}/%g_name invited himself as %b{%u_ircnick}."
announce.REQFILLED = "%b{[%c1{REQUEST}]} + %b{%u_name}/%g_name just filled %b{%releasename} for %b{%u_requester}."
announce.REQUEST = "%b{[%c1{REQUEST}]} + %b{%u_name}/%g_name requests %b{%releasename}."
announce.WELCOME = "Welcome to %b{%sitename}'s sitechan. Type %cmdprehelp for help."
## Bouncer status
announce.BNC = "%b{[%c1{BNC}]} + Checking bouncer status..."
announce.BNC_PING = "%b{[%c1{BNC}]} + %ip:%port - %b{DOWN} (can't ping host)"
announce.BNC_ONLINE = "%b{[%c1{BNC}]} + %ip:%port - %b{UP} (login: %b{%response}ms, ping: %b{%ping})"
announce.BNC_OFFLINE = "%b{[%c1{BNC}]} + %ip:%port - %b{DOWN} (%error)"
## Stats Commands
announce.BW = "%b{[%c1{BW}]} + Uploaders: %b{%uploads}@%upspeed - Leechers: %b{%downloads}@%dnspeed - Idlers: %b{%active} browsing, %b{%idlers} idle - Total: %b{%transfers}@%totalspeed with %b{%totallogins}/%b{%maxusers} online"
announce.BWUP = "%b{[%c1{BW}]} + %b{%uploads} upload(s) at %upspeed"
announce.BWDN = "%b{[%c1{BW}]} + %b{%downloads} download(s) at %dnspeed"
announce.LEECH = "%b{[%c1{STATUS}]} + Current leechers:"
announce.UPLOAD = "%b{[%c1{STATUS}]} + Current uploaders:"
announce.IDLE = "%b{[%c1{STATUS}]} + Current idlers:"
announce.USERIDLE = "%b{[%c1{STATUS}]} + %b{%u_name}/%g_name at %idletime"
announce.USER = "%b{[%c1{STATUS}]} + %b{%u_name}/%g_name on %b{%filename} at %speed (%b{%fper} done)"
announce.TOTUPDN = "%b{[%c1{STATUS}]} + %type %b{%count} at %total"
announce.TOTIDLE = "%b{[%c1{STATUS}]} + Currently %b{%count} users idle"
announce.SPEEDUP = "%b{[%c1{SPEED}]} + %b{%u_name}/%g_name is uploading %b{%f_name} at %upspeed (%b{%uppercent} done)"
announce.SPEEDDN = "%b{[%c1{SPEED}]} + %b{%u_name}/%g_name is downloading %b{%f_name} at %dnspeed (%b{%dnpercent} done)"
announce.SPEEDID = "%b{[%c1{SPEED}]} + %b{%u_name}/%g_name has been idle for %idletime"
announce.SPEEDERROR = "%b{[%c1{SPEED}]} + The specified user is not online."
## Misc commands
announce.FREE = "%devices-%b{%sitename}-%b{[%c1{FREE}]} + [TOTAL: %b{%free} free of %b{%total}]"
announce.FREE-DEV = "%b{[%c1{FREE}]} + [%section: %b{%free} free of %b{%total}]\n"
announce.UPTIME = "%b{[%c1{UPTIME}]} + %b{system:} %time, %users user(s), load: %load %b{sitebot:} %eggdrop"
## IRC Command: !new
announce.NEW = "%b{[%c1{NEW}]} + Latest releases in: %b{%section}"
announce.NEW_BODY = "%b{[%c1{NEW}]} + %num. %b{%relname} by %b{%u_name}/%g_name (%b{%files}F/%b{%mbytes}MB/%age)"
announce.NEW_NONE = "%b{[%c1{NEW}]} + No releases found."
## IRC Command: !dupe/!search
announce.SEARCH = "%b{[%c1{SEARCH}]} + Searching for: %pattern"
announce.SEARCH_BODY = "%b{[%c1{SEARCH}]} + %num. %b{%relname} (%b{%files}F/%b{%mbytes}MB/%age)"
announce.SEARCH_NONE = "%b{[%c1{SEARCH}]} + No releases found."
## IRC Command: !nukes
announce.NUKES = "%b{[%c1{NUKES}]} + Latest nukes in: %b{%section}"
announce.NUKES_BODY = "%b{[%c1{NUKES}]} + %date %b{%reldir} was nuked %b{%multiplier}x by %b{%nuker}. Reason: %b{%reason}"
announce.NUKES_NONE = "%b{[%c1{NUKES}]} + No nukes found."
## IRC Command: !unnukes
announce.UNNUKES = "%b{[%c1{UNNUKES}]} + Latest unnukes in: %b{%section}"
announce.UNNUKES_BODY = "%b{[%c1{UNNUKES}]} + %date %b{%reldir} was unnuked %b{%multiplier}x by %b{%unnuker}. Reason: %b{%reason}"
announce.UNNUKES_NONE = "%b{[%c1{UNNUKES}]} + No unnukes found."