# This is the default theme for pzs-ng's dZSbot.
# For a list of variables you can use, please see sitebot/COOKIES
#
# The following header *MUST* be included in every theme submitted by users
# BEGIN --->
##############################################################################
# #
# yourtheme.zst - pzs-ng theme #
# #
# Some short description about the theme, how it was inspired or something #
# Created by: Your nickname #
# Maintained by: Nickname and contact (IRC chan) of the maintainer #
# Notes: If you need to point out something, that goes here #
# Tested with: Latest revision it was tested with (i.e: pzs-ng r2005) #
# #
##############################################################################
# Default colors, used for all sections except those defined below
COLOR1 = "04"
COLOR2 = "07"
COLOR3 = "11"
# Custom section colors. Use same section names as defined in dZSbot.conf.
# IMPORTANT: You MUST define the same number of colors as there are default colors for each section!
# If you have 3 default colors above, then each section below needs exactly 3 colors.
# Sections not defined here will use the default colors above.
COLOR_GAMES_1 = "05"
COLOR_GAMES_2 = "08"
COLOR_GAMES_3 = "12"
COLOR_APPS_1 = "06"
COLOR_APPS_2 = "09"
COLOR_APPS_3 = "13"
PREFIX = "%b{%sitename} :: "
SPLITTER = ", "
KB = "%b{%value}KB/s"
MB = "%b{%value}MB/s"
KBIT = "%b{%value}Kbit/s"
MBIT = "%b{%value}Mbit/s"
fakesection.INVITE = "iNViTE"
## Default announce
announce.DEFAULT = "[%b{info }] %msg"
## Login announcements
announce.LOGIN = "[%b{login }] %b{%u_name}@%g_name has logged in."
announce.LOGOUT = "[%b{logout}] %b{%u_name}@%g_name has logged out."
announce.BADHOSTMASK = "[%b{login }] %b{%u_name} could not login, hostmask %b{%u_hostmask} is not added."
announce.BADPASSWORD = "[%b{login }] %b{%u_name} could not login, invalid password."
announce.BANNEDHOST = "[%b{login }] %b{%u_name} could not login, hostmask %b{%u_hostmask} is banned."
announce.DELETED = "[%b{login }] %b{%u_name} could not login, account deleted."
announce.IPNOTADDED = "[%b{login }] denied unknown connection from %b{%u_hostmask}."
announce.KILLGHOST = "[%b{ghost }] %b{%u_name} killed a ghost with PID %b{%pid}."
announce.TAGLINE = "[%b{tag }] %b{%u_name}@%g_name has changed tagline to %b{%u_tagline}."
announce.TIMEOUT = "[%b{logout}] %b{%u_name} has timed out after %b{%u_idletime}s."
## Sysop announcements (only important announces are themed)
announce.ADDUSER = "[%b{sysop}] %b{%u_siteop} added user %b{%u_name}."
announce.GADDUSER = "[%b{sysop}] %b{%u_siteop} added user %b{%u_name} to group %b{%g_name}."
announce.CHGRPADD = "[%b{sysop}] %b{%u_siteop} added %b{%u_name} to group %b{%g_name}."
announce.CHGRPDEL = "[%b{sysop}] %b{%u_siteop} removed %b{%u_name} from group %b{%g_name}."
announce.ADDIP = "[%b{sysop}] %b{%u_siteop} added ip %b{%u_ip} to %b{%u_name}."
announce.DELIP = "[%b{sysop}] %b{%u_siteop} removed ip %b{%u_ip} from %b{%u_name}."
announce.READDED = "[%b{sysop}] %b{%u_siteop} readded %b{%u_name}."
announce.DELUSER = "[%b{sysop}] %b{%u_siteop} deleted %b{%u_name}."
announce.PURGED = "[%b{sysop}] %b{%u_siteop} purged %b{%u_name}."
announce.KILLED = "[%b{sysop}] %b{%u_siteop} killed %b{%u_name} (PID: %b{%pid})."
announce.SYSOP = "[%b{sysop}] %msg"
## glFTPd announcements
announce.NEWDIR = "[%b{new }][%section] %b{%relname} by %b{%u_name} of %g_name."
announce.DELDIR = "[%b{delete}][%section] %b{%relname} by %b{%u_name} of %g_name."
announce.NUKE = "[%b{nuke }][%section] %b{%relname} factor %b{%multiplier} by %b{%nuker} [reason] %b{%reason} [nukees] %nukees."
announce.UNNUKE = "[%b{unnuke}][%section] %b{%relname} factor %b{%multiplier} by %b{%nuker} [reason] %b{%reason} [nukees] %nukees."
announce.NUKEES = "%b{%u_name} (%b{%size}MB)"
announce.WIPE = "[%b{wipe }][%section] %b{%relname} by %b{%u_name} of %g_name."
announce.WIPE-r = "[%b{wipe-r}][%section] %b{%relname} and all subdirectories by %b{%u_name} of %g_name."
announce.ULTEST = "[%b{speed }][%section] %b{%u_name} of %g_name tested ul-speed with a %b{%mbytes}MB file @ %b{%mbps}Mbps."
announce.DLTEST = "[%b{speed }][%section] %b{%u_name} of %g_name tested dl-speed with a %b{%mbytes}MB file @ %b{%mbps}Mbps."
## Custom announcements (see dZSbot.defaults.conf for info on how to enable)
#announce.COVERS = "[%b{covers}][%section] %b{%relname} by %b{%u_name} of %g_name."
#announce.NEWCD = "[%b{cd }][%section] %b{%relname} by %b{%u_name} of %g_name."
#announce.NEWDISC = "[%b{disc }][%section] %b{%relname} by %b{%u_name} of %g_name."
#announce.SAMPLE = "[%b{sample}][%section] %b{%relname} by %b{%u_name} of %g_name."
#announce.SUBTITLES = "[%b{subs }][%section] %b{%relname} by %b{%u_name} of %g_name."
## Random announcements (random.EVENT-##)
#random.NEWDIR-0 = "[%b{new }][%section] %b{%u_name} of %g_name creates a directory called %b{%relname}."
#random.NEWDIR-1 = "[%b{new }][%section] %b{%u_name} of %g_name makes a directory called %b{%relname}."
#random.NEWDIR-2 = "[%b{new }][%section] %b{%u_name} of %g_name does mkdir %b{%relname}."
## Special zipscript announcements
announce.DOUBLESFV = "[%b{notice}] %b{%u_name} of %g_name tried to upload a dupe sfv."
announce.RESUMESFV = "[%b{notice}] %b{%u_name} of %g_name tried to resume/overwrite an sfv."
announce.BADBITRATE = "[%b{notice}] %b{%u_name} of %g_name is violating rules by uploading shit with bitrate %b{%bitrate}kbps."
announce.BADGENRE = "[%b{notice}] %b{%u_name} of %g_name is violating rules by uploading %b{%genre}."
announce.BADYEAR = "[%b{notice}] %b{%u_name} of %g_name is violating rules by uploading shit from %b{%year}."
announce.BAD_FILE_0SIZE = "[%b{notice}] %b{%u_name} of %g_name uploaded a bad file (0-sized file) in %b{%releasename}."
announce.BAD_FILE_BITRATE = "[%b{notice}] %b{%u_name} of %g_name uploaded a bad file (banned bitrate) in %b{%releasename}."
announce.BAD_FILE_CRC = "[%b{notice}] %b{%u_name} of %g_name uploaded a bad file (crc-mismatch) in %b{%releasename}."
announce.BAD_FILE_DISALLOWED = "[%b{notice}] %b{%u_name} of %g_name uploaded a bad file (filetype not allowed) in %b{%releasename}."
announce.BAD_FILE_DUPENFO = "[%b{notice}] %b{%u_name} of %g_name uploaded a bad file (dupe nfo) in %b{%releasename}."
announce.BAD_FILE_GENRE = "[%b{notice}] %b{%u_name} of %g_name uploaded a bad file (banned genre) in %b{%releasename}."
announce.BAD_FILE_NOSFV = "[%b{notice}] %b{%u_name} of %g_name uploaded a bad file (no sfv uploaded yet) in %b{%releasename}."
announce.BAD_FILE_SFV = "[%b{notice}] %b{%u_name} of %g_name uploaded a bad file (sfv with errors) in %b{%releasename}."
announce.BAD_FILE_WRONGDIR = "[%b{notice}] %b{%u_name} of %g_name uploaded a bad file (wrong dir) in %b{%releasename}."
announce.BAD_FILE_YEAR = "[%b{notice}] %b{%u_name} of %g_name uploaded a bad file (banned year) in %b{%releasename}."
announce.BAD_FILE_ZIP = "[%b{notice}] %b{%u_name} of %g_name uploaded a bad file (zip integrity failed) in %b{%releasename}."
announce.BAD_FILE_ZIPNFO = "[%b{notice}] %b{%u_name} of %g_name uploaded a bad file (nfo no allowed in zip-dirs) in %b{%releasename}."
announce.BAD_FILE_DUPERELEASE = "[%b{notice}] %b{%u_name} of %g_name uploaded a bad file (dupe - release has previously been completed) 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_CBR_LOOP2 = "\n%b{%sitename} :: [%b{stats }][%section] %g_racer_position %b{%g_racer_name} :: %b{%g_racer_files}f :: %b{%g_racer_mbytes}MB :: %b{%g_racer_percent}% :: %g_racer_avgspeed"
announce.COMPLETE_STAT_RACE_AUDIO_CBR_LOOP3 = "\n%b{%sitename} :: [%b{stats }][%section] %u_racer_position %b{%u_racer_name} of %g_racer_name :: %b{%u_racer_files}f :: %b{%u_racer_mbytes}MB :: %b{%u_racer_percent}% :: %u_racer_avgspeed :: wkup %b{%u_racer_wkup}"
announce.COMPLETE_STAT_RACE_AUDIO_VBR_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.COMPLETE_STAT_RACE_AUDIO_VBR_LOOP2 = "\n%b{%sitename} :: [%b{stats }][%section] %g_racer_position %b{%g_racer_name} :: %b{%g_racer_files}f :: %b{%g_racer_mbytes}MB :: %b{%g_racer_percent}% :: %g_racer_avgspeed"
announce.COMPLETE_STAT_RACE_AUDIO_VBR_LOOP3 = "\n%b{%sitename} :: [%b{stats }][%section] %u_racer_position %b{%u_racer_name} of %g_racer_name :: %b{%u_racer_files}f :: %b{%u_racer_mbytes}MB :: %b{%u_racer_percent}% :: %u_racer_avgspeed :: wkup %b{%u_racer_wkup}"
announce.COMPLETE_STAT_RACE_OTHER_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.COMPLETE_STAT_RACE_OTHER_LOOP2 = "\n%b{%sitename} :: [%b{stats }][%section] %g_racer_position %b{%g_racer_name} :: %b{%g_racer_files}f :: %b{%g_racer_mbytes}MB :: %b{%g_racer_percent}% :: %g_racer_avgspeed"
announce.COMPLETE_STAT_RACE_OTHER_LOOP3 = "\n%b{%sitename} :: [%b{stats }][%section] %u_racer_position %b{%u_racer_name} of %g_racer_name :: %b{%u_racer_files}f :: %b{%u_racer_mbytes}MB :: %b{%u_racer_percent}% :: %u_racer_avgspeed :: wkup %b{%u_racer_wkup}"
announce.COMPLETE_STAT_RACE_RAR_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.COMPLETE_STAT_RACE_RAR_LOOP2 = "\n%b{%sitename} :: [%b{stats }][%section] %g_racer_position %b{%g_racer_name} :: %b{%g_racer_files}f :: %b{%g_racer_mbytes}MB :: %b{%g_racer_percent}% :: %g_racer_avgspeed"
announce.COMPLETE_STAT_RACE_RAR_LOOP3 = "\n%b{%sitename} :: [%b{stats }][%section] %u_racer_position %b{%u_racer_name} of %g_racer_name :: %b{%u_racer_files}f :: %b{%u_racer_mbytes}MB :: %b{%u_racer_percent}% :: %u_racer_avgspeed :: wkup %b{%u_racer_wkup}"
announce.COMPLETE_STAT_RACE_VIDEO_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.COMPLETE_STAT_RACE_VIDEO_LOOP2 = "\n%b{%sitename} :: [%b{stats }][%section] %g_racer_position %b{%g_racer_name} :: %b{%g_racer_files}f :: %b{%g_racer_mbytes}MB :: %b{%g_racer_percent}% :: %g_racer_avgspeed"
announce.COMPLETE_STAT_RACE_VIDEO_LOOP3 = "\n%b{%sitename} :: [%b{stats }][%section] %u_racer_position %b{%u_racer_name} of %g_racer_name :: %b{%u_racer_files}f :: %b{%u_racer_mbytes}MB :: %b{%u_racer_percent}% :: %u_racer_avgspeed :: wkup %b{%u_racer_wkup}"
announce.COMPLETE_STAT_RACE_ZIP_LOOP1 = "%b{%r_name}/%r_gname%splitter"
announce.COMPLETE_STAT_RACE_ZIP_LOOP2 = "\n%b{%sitename} :: [%b{stats }][%section] %g_racer_position %b{%g_racer_name} :: %b{%g_racer_files}f :: %b{%g_racer_mbytes}MB :: %b{%g_racer_percent}% :: %g_racer_avgspeed"
announce.COMPLETE_STAT_RACE_ZIP_LOOP3 = "\n%b{%sitename} :: [%b{stats }][%section] %u_racer_position %b{%u_racer_name} of %g_racer_name :: %b{%u_racer_files}f :: %b{%u_racer_mbytes}MB :: %b{%u_racer_percent}% :: %u_racer_avgspeed :: wkup %b{%u_racer_wkup}"
## Standard zipscript announcements
announce.RACE_AUDIO = "[%b{racer }][%section] %b{%reldir} :: %b{%u_name} is racing %loop1 at %u_speed."
announce.RACE_OTHER = "[%b{racer }][%section] %b{%relname} :: %b{%u_name} is racing %loop1 at %u_speed."
announce.RACE_RAR = "[%b{racer }][%section] %b{%relname} :: %b{%u_name} is racing %loop1 at %u_speed."
announce.RACE_VIDEO = "[%b{racer }][%section] %b{%relname} :: %b{%u_name} is racing %loop1 at %u_speed."
announce.RACE_ZIP = "[%b{racer }][%section] %b{%reldir} :: %b{%u_name} is racing %loop1 at %u_speed."
announce.SFV_AUDIO = "[%b{sfv }][%section] %b{%reldir} by %b{%u_name} of %g_name :: now expecting %b{%t_filecount} file(s)."
announce.SFV_OTHER = "[%b{sfv }][%section] %b{%relname} by %b{%u_name} of %g_name :: now expecting %b{%t_filecount} file(s)."
announce.SFV_RAR = "[%b{sfv }][%section] %b{%relname} by %b{%u_name} of %g_name :: now expecting %b{%t_filecount} file(s)."
announce.SFV_VIDEO = "[%b{sfv }][%section] %b{%relname} by %b{%u_name} of %g_name :: now expecting %b{%t_filecount} file(s)."
announce.UPDATE_CBR = "[%b{update}][%section] %b{%reldir} got first file from %b{%u_name} of %g_name at %u_speed. Get ready for some %b{%genre} from %b{%year} at %b{%sampling}Hz in %mode %b{%bitrate}kbps (%audio)."
announce.UPDATE_OTHER = "[%b{update}][%section] %b{%relname} got first file from %b{%u_name} of %g_name at %u_speed. Now expecting %b{%t_mbytes}MB."
announce.UPDATE_RAR = "[%b{update}][%section] %b{%relname} got first file from %b{%u_name} of %g_name at %u_speed. Now expecting %b{%t_mbytes}MB."
announce.UPDATE_VBR = "[%b{update}][%section] %b{%reldir} got first file from %b{%u_name} of %g_name at %u_speed. Get ready for some %b{%genre} from %b{%year} at %b{%sampling}Hz in %mode %b{%bitrate}kbps (%audio %a_stream)."
announce.UPDATE_VIDEO = "[%b{update}][%section] %b{%relname} got first file from %b{%u_name} of %g_name at %u_speed. Now expecting %b{%t_mbytes}MB."
announce.UPDATE_ZIP = "[%b{update}][%section] %b{%reldir} got first file from %b{%u_name} of %g_name at %u_speed. Now expecting %b{%t_mbytes}MB."
announce.HALFWAY_NORACE_AUDIO = "[%b{50% }][%section] %b{%reldir} :: %b{%u_leader_name} of %b{%u_leader_gname} is all alone and halfway at %u_leader_avgspeed. Estimated time left: %b{%t_timeleft}."
announce.HALFWAY_NORACE_OTHER = "[%b{50% }][%section] %b{%relname} :: %b{%u_leader_name} of %b{%u_leader_gname} is all alone and halfway at %u_leader_avgspeed. Estimated time left: %b{%t_timeleft}."
announce.HALFWAY_NORACE_RAR = "[%b{50% }][%section] %b{%relname} :: %b{%u_leader_name} of %b{%u_leader_gname} is all alone and halfway at %u_leader_avgspeed. Estimated time left: %b{%t_timeleft}."
announce.HALFWAY_NORACE_VIDEO = "[%b{50% }][%section] %b{%relname} :: %b{%u_leader_name} of %b{%u_leader_gname} is all alone and halfway at %u_leader_avgspeed. Estimated time left: %b{%t_timeleft}."
announce.HALFWAY_NORACE_ZIP = "[%b{50% }][%section] %b{%reldir} :: %b{%u_leader_name} of %b{%u_leader_gname} is all alone and halfway at %u_leader_avgspeed. Estimated time left: %b{%t_timeleft}."
announce.HALFWAY_RACE_AUDIO = "[%b{50% }][%section] %b{%reldir} :: %b{%u_leader_name} of %b{%u_leader_gname} leads with %b{%u_leader_files} files in %b{%u_leader_percent%} (%b{%u_leader_mbytes}MB) at %u_leader_avgspeed against %loop1 :: group %b{%g_leader_name} leads with %b{%g_leader_files} files in %b{%g_leader_percent}% (%b{%g_leader_mbytes}MB) at %g_leader_avgspeed. Estimated time left: %b{%t_timeleft}."
announce.HALFWAY_RACE_OTHER = "[%b{50% }][%section] %b{%relname} :: %b{%u_leader_name} of %b{%u_leader_gname} leads with %b{%u_leader_files} files in %b{%u_leader_percent%} (%b{%u_leader_mbytes}MB) at %u_leader_avgspeed against %loop1 :: group %b{%g_leader_name} leads with %b{%g_leader_files} files in %b{%g_leader_percent}% (%b{%g_leader_mbytes}MB) at %g_leader_avgspeed. Estimated time left: %b{%t_timeleft}."
announce.HALFWAY_RACE_RAR = "[%b{50% }][%section] %b{%relname} :: %b{%u_leader_name} of %b{%u_leader_gname} leads with %b{%u_leader_files} files in %b{%u_leader_percent%} (%b{%u_leader_mbytes}MB) at %u_leader_avgspeed against %loop1 :: group %b{%g_leader_name} leads with %b{%g_leader_files} files in %b{%g_leader_percent}% (%b{%g_leader_mbytes}MB) at %g_leader_avgspeed. Estimated time left: %b{%t_timeleft}."
announce.HALFWAY_RACE_VIDEO = "[%b{50% }][%section] %b{%relname} :: %b{%u_leader_name} of %b{%u_leader_gname} leads with %b{%u_leader_files} files in %b{%u_leader_percent%} (%b{%u_leader_mbytes}MB) at %u_leader_avgspeed against %loop1 :: group %b{%g_leader_name} leads with %b{%g_leader_files} files in %b{%g_leader_percent}% (%b{%g_leader_mbytes}MB) at %g_leader_avgspeed. Estimated time left: %b{%t_timeleft}."
announce.HALFWAY_RACE_ZIP = "[%b{50% }][%section] %b{%reldir} :: %b{%u_leader_name} of %b{%u_leader_gname} leads with %b{%u_leader_files} files in %b{%u_leader_percent%} (%b{%u_leader_mbytes}MB) at %u_leader_avgspeed against %loop1 :: group %b{%g_leader_name} leads with %b{%g_leader_files} files in %b{%g_leader_percent}% (%b{%g_leader_mbytes}MB) at %g_leader_avgspeed. Estimated time left: %b{%t_timeleft}."
announce.NEWLEADER_AUDIO = "[%b{leader}][%section] %b{%reldir} :: %b{%u_leader_name} of %b{%u_leader_gname} takes the lead with %b{%u_leader_files} files in %b{%u_leader_percent}% (%b{%u_leader_mbytes}MB) at %u_leader_avgspeed. Runners up are %loop1. Estimated time left: %b{%t_timeleft}."
announce.NEWLEADER_OTHER = "[%b{leader}][%section] %b{%relname} :: %b{%u_leader_name} of %b{%u_leader_gname} takes the lead with %b{%u_leader_files} files in %b{%u_leader_percent}% (%b{%u_leader_mbytes}MB) at %u_leader_avgspeed. Runners up are %loop1. Estimated time left: %b{%t_timeleft}."
announce.NEWLEADER_RAR = "[%b{leader}][%section] %b{%relname} :: %b{%u_leader_name} of %b{%u_leader_gname} takes the lead with %b{%u_leader_files} files in %b{%u_leader_percent}% (%b{%u_leader_mbytes}MB) at %u_leader_avgspeed. Runners up are %loop1. Estimated time left: %b{%t_timeleft}."
announce.NEWLEADER_VIDEO = "[%b{leader}][%section] %b{%relname} :: %b{%u_leader_name} of %b{%u_leader_gname} takes the lead with %b{%u_leader_files} files in %b{%u_leader_percent}% (%b{%u_leader_mbytes}MB) at %u_leader_avgspeed. Runners up are %loop1. Estimated time left: %b{%t_timeleft}."
announce.NEWLEADER_ZIP = "[%b{leader}][%section] %b{%reldir} :: %b{%u_leader_name} of %b{%u_leader_gname} takes the lead with %b{%u_leader_files} files in %b{%u_leader_percent}% (%b{%u_leader_mbytes}MB) at %u_leader_avgspeed. Runners up are %loop1. Estimated time left: %b{%t_timeleft}."
announce.COMPLETE_AUDIO_CBR = "[%b{done }][%section] %b{%reldir} with %b{%t_files} files (%b{%t_mbytes}MB) was completed in %b{%t_duration} (avg. %r_avgspeed) by %b{%u_name} of %b{%g_name}."
announce.COMPLETE_AUDIO_VBR = "[%b{done }][%section] %b{%reldir} with %b{%t_files} files (%b{%t_mbytes}MB) was completed in %b{%t_duration} (avg. %r_avgspeed) by %b{%u_name} of %b{%g_name}."
announce.COMPLETE_OTHER = "[%b{done }][%section] %b{%relname} with %b{%t_files} files (%b{%t_mbytes}MB) was completed in %b{%t_duration} (avg. %r_avgspeed) by %b{%u_name} of %b{%g_name}."
announce.COMPLETE_RAR = "[%b{done }][%section] %b{%relname} with %b{%t_files} files (%b{%t_mbytes}MB) was completed in %b{%t_duration} (avg. %r_avgspeed) by %b{%u_name} of %b{%g_name}."
announce.COMPLETE_VIDEO = "[%b{done }][%section] %b{%relname} with %b{%t_files} files (%b{%t_mbytes}MB) was completed in %b{%t_duration} (avg. %r_avgspeed) by %b{%u_name} of %b{%g_name}."
announce.COMPLETE_ZIP = "[%b{done }][%section] %b{%reldir} with %b{%t_files} files (%b{%t_mbytes}MB) was completed in %b{%t_duration} (avg. %r_avgspeed) by %b{%u_name} of %b{%g_name}."
announce.COMPLETE_STAT_RACE_AUDIO_CBR = "[%b{done }][%section] %b{%reldir} with %b{%t_files} files (%b{%t_mbytes}MB) was completed in %b{%t_duration} (avg. %t_avgspeed) by %b{%u_count} user(s) in %b{%g_count} group(s).\n%b{%sitename} :: [%b{stats }][%section] Users hall of fame:%loop3\n%b{%sitename} :: [%b{stats }][%section] Groups hall of fame:%loop2"
announce.COMPLETE_STAT_RACE_AUDIO_VBR = "[%b{done }][%section] %b{%reldir} with %b{%t_files} files (%b{%t_mbytes}MB) was completed in %b{%t_duration} (avg. %t_avgspeed) by %b{%u_count} user(s) in %b{%g_count} group(s).\n%b{%sitename} :: [%b{stats }][%section] Users hall of fame:%loop3\n%b{%sitename} :: [%b{stats }][%section] Groups hall of fame:%loop2"
announce.COMPLETE_STAT_RACE_OTHER = "[%b{done }][%section] %b{%relname} with %b{%t_files} files (%b{%t_mbytes}MB) was completed in %b{%t_duration} (avg. %t_avgspeed) by %b{%u_count} user(s) in %b{%g_count} group(s).\n%b{%sitename} :: [%b{stats }][%section] Users hall of fame:%loop3\n%b{%sitename} :: [%b{stats }][%section] Groups hall of fame:%loop2"
announce.COMPLETE_STAT_RACE_RAR = "[%b{done }][%section] %b{%relname} with %b{%t_files} files (%b{%t_mbytes}MB) was completed in %b{%t_duration} (avg. %t_avgspeed) by %b{%u_count} user(s) in %b{%g_count} group(s).\n%b{%sitename} :: [%b{stats }][%section] Users hall of fame:%loop3\n%b{%sitename} :: [%b{stats }][%section] Groups hall of fame:%loop2"
announce.COMPLETE_STAT_RACE_VIDEO = "[%b{done }][%section] %b{%relname} with %b{%t_files} files (%b{%t_mbytes}MB) was completed in %b{%t_duration} (avg. %t_avgspeed) by %b{%u_count} user(s) in %b{%g_count} group(s).\n%b{%sitename} :: [%b{stats }][%section] Users hall of fame:%loop3\n%b{%sitename} :: [%b{stats }][%section] Groups hall of fame:%loop2"
announce.COMPLETE_STAT_RACE_ZIP = "[%b{done }][%section] %b{%reldir} with %b{%t_files} files (%b{%t_mbytes}MB) was completed in %b{%t_duration} (avg. %t_avgspeed) by %b{%u_count} user(s) in %b{%g_count} group(s).\n%b{%sitename} :: [%b{stats }][%section] Users hall of fame:%loop3\n%b{%sitename} :: [%b{stats }][%section] Groups hall of fame:%loop2"
## Postdel announce
announce.INCOMPLETE = "[%b{d0h! }][%section] %b{%releasename} is now incomplete thanks to %b{%u_name} of %b{%g_name}."
## Sample announces
announce.SAMPLEDIR = "[%b{sample}][%section] %b{%path} has the following specs: Video: %b{%video_type_long} %b{%video_width}x%b{%video_height} pixels (aspectratio: %b{%video_aspect}) @%b{%video_fps}fps - Audio: %b{%video_audio_name} (%b{%video_audio_hz}Hz/%b{%video_audio_channels} channels)"
announce.SAMPLE_AVI = "[%b{sample}][%section] %b{%path} has the following specs: Video: %b{%video_codec} %b{%video_width}x%b{%video_height} pixels (aspectratio: %b{%video_aspect}) @%b{%video_framerate} - Audio: %b{%audio_codec} (%b{%audio_samplerate}/%b{%audio_channels} @ %audio_bitrate)"
announce.SAMPLE_MPEG2 = "[%b{sample}][%section] %b{%path} has the following specs: Video: %b{%video_codec} %b{%video_width}x%b{%video_height} pixels (aspectratio: %b{%video_aspect}) @%b{%video_framerate} - Audio: %b{%audio_codec} (%b{%audio_samplerate}/%b{%audio_channels} @ %audio_bitrate)"
announce.SAMPLE_QT = "[%b{sample}][%section] %b{%path} has the following specs: Video: %b{%video_codec} %b{%video_width}x%b{%video_height} pixels (aspectratio: %b{%video_aspect}) @%b{%video_framerate} - Audio: %b{%audio_codec} (%b{%audio_samplerate}/%b{%audio_channels} @ %audio_bitrate)"
announce.SAMPLE_GENERAL = "[%b{sample}][%section] %b{%path} has the following specs: Video: %b{%video_codec} %b{%video_width}x%b{%video_height} pixels (aspectratio: %b{%video_aspect}) @%b{%video_framerate} - Audio: %b{%audio_codec} (%b{%audio_samplerate}/%b{%audio_channels} @ %audio_bitrate)"
announce.SAMPLE_MPEG1 = "[%b{sample}][%section] %b{%path} has the following specs: Audio: %b{%audio_codec} (%b{%audio_samplerate}/%b{%audio_channels} @ %audio_bitrate) - %b{%audio_genre} from %audio_year"
## Third party scripts
announce.PRE = "[%b{%c1{pre} }][%section] %b{%relname} by %b{%pregroup} in %b{%files} files (%b{%mbytes}MB)."
announce.TURGEN = "%msg"
announce.WHOIS = "[%b{whois }] %msg"
## Miscellaneous announcements
announce.BADMSGINVITE = "[%b{%c1{badinv}}] %b{%u_ircnick} (%u_host) tried to invite himself with invalid login!"
announce.INVITE = "[%b{invite}] %b{%u_name} of %g_name invited himself as %b{%u_ircnick}."
announce.MSGINVITE = "[%b{invite}] %b{%u_name} of %g_name invited himself as %b{%u_ircnick}."
announce.REQFILLED = "[%b{filled}] %b{%u_name} of %g_name just filled %b{%releasename} for %b{%u_requester}."
announce.REQUEST = "[%b{req }] %b{%u_name} of %g_name requests %b{%releasename}."
## Bouncer status
announce.BNC = "Checking bouncer status..."
announce.BNC_PING = "%b{-} %num. %desc at %ip:%port is %b{DOWN} (can't ping host)"
announce.BNC_ONLINE = "%b{-} %num. %desc at %ip:%port is %b{UP} (login: %b{%response}ms ping: %b{%ping}ms)"
announce.BNC_OFFLINE = "%b{-} %num. %desc at %ip:%port is %b{DOWN} (%error)"
## IRC Commands
announce.LEECH = "[%b{bwinfo}] Current leechers:"
announce.UPLOAD = "[%b{bwinfo}] Current uploaders:"
announce.IDLE = "[%b{bwinfo}] Current idlers:"
announce.BW = "[%b{bwinfo}] %b{%uploads} up at %upspeed (%uppercent%) :: %b{%downloads} down at %dnspeed (%dnpercent%) :: %b{%transfers} in total at %totalspeed (%totalpercent%) :: %b{%active} browsing :: %b{%idlers} idle :: %b{%totallogins} out of %b{%maxusers} in total."
announce.BWUP = "[%b{bwinfo}] %b{%uploads} uploads @ %upspeed (%uppercent%)."
announce.BWDN = "[%b{bwinfo}] %b{%downloads} downloads @ %dnspeed (%dnpercent%)."
announce.TOTUPDN = "[%b{bwinfo}] %type %b{%count} at %b{%total} (%b{%per}%)."
announce.TOTIDLE = "[%b{bwinfo}] Currently %b{%count} users idle!"
announce.USERIDLE = "[%b{bwinfo}] %b{%u_name} of %g_name at %idletime."
announce.USER = "[%b{bwinfo}] %b{%u_name} of %g_name on %b{%filename} (%b{%fper} done) at %speed (%b{%per} usage)."
announce.SPEEDUP = "[%b{bwinfo}] %b{%u_name} of %g_name is uploading %b{%f_name} at %upspeed (%uppercent)."
announce.SPEEDDN = "[%b{bwinfo}] %b{%u_name} of %g_name is downloading %b{%f_name} at %dnspeed (%dnpercent)."
announce.SPEEDID = "[%b{bwinfo}] %b{%u_name} of %g_name has been idle for %idletime."
announce.SPEEDERROR = "[%b{bwinfo}] Nope, try again. Found noone by that name on site."
announce.WELCOME = "Welcome to %b{%sitename}'s sitechan. Type %cmdprehelp for help."
announce.FREE = "[%b{space }] %devices[Totals: %b{%free} of %b{%total}]."
announce.FREE-DEV = "%section: %b{%free} (%perc_free%) free, %b{%used} (%perc_used%) used, out of %b{%total}. :: "
announce.UPTIME = "[%b{uptime}] System: %time, %b{%users} user(s), load: %load Eggdrop: %eggdrop"
## IRC Command: !new
announce.NEW = "%b{(NEW)} Latest Releases In: %b{%section}"
announce.NEW_BODY = "%b{-} %num. %b{%relname} by %b{%u_name}/%g_name (%b{%files}F/%b{%mbytes}MB/%age)"
announce.NEW_NONE = "%b{-} No releases found."
## IRC Command: !dupe/!search
announce.SEARCH = "%b{(SEARCH)} Searching for: %pattern"
announce.SEARCH_BODY = "%b{-} %num. %b{%relname} (%b{%files}F/%b{%mbytes}MB/%age)"
announce.SEARCH_NONE = "%b{-} No matching results found."
## IRC Command: !nukes
announce.NUKES = "%b{(NUKES)} Latest Nukes In: %b{%section}"
announce.NUKES_BODY = "%b{-} %date %b{%reldir} was nuked %b{%multiplier}x by %b{%nuker}. Reason: %b{%reason}"
announce.NUKES_NONE = "%b{-} No nukes found."
## IRC Command: !unnukes
announce.UNNUKES = "%b{(UNNUKES)} Latest Unnukes In: %b{%section}"
announce.UNNUKES_BODY = "%b{-} %date %b{%reldir} was unnuked %b{%multiplier}x by %b{%unnuker}. Reason: %b{%reason}"
announce.UNNUKES_NONE = "%b{-} No unnukes found."