close Warning: Can't synchronize with repository "(default)" (Unsupported version control system "svn": Can't find an appropriate component, maybe the corresponding plugin was not enabled? ). Look in the Trac log for more information.

Changes between Initial Version and Version 1 of zomgChangelog


Ignore:
Timestamp:
Aug 11, 2010, 9:28:32 AM (14 years ago)
Author:
vsTerminus
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • zomgChangelog

    v1 v1  
     1= Changelog =
     2
     3This is a record of all changes made to zomg since the original release.
     4I find it interesting to view my own development patterns, you might as well.
     5
     6This file will be included with the subversion repository as well.
     7
     8== Version 0.8.2 – August 11th 2010 ==
     9
     10 * Added !weather
     11    * Added GeoIP support to !weather
     12 * Added !locate
     13 * Added .addword
     14 * Added .delword
     15 * Added .loadwords
     16 * Added several new custom commands to demo new functionality
     17    * For example, !8ball and !fight
     18 * Bot now leaves 'empty' channels and waits for a notice from ChanServ that a person has joined before coming back.
     19    * A channel containing only the bot and ChanServ is considered 'empty'
     20 * Using !alias and .alias will now allow you to put*!*@ in front of a hostmask, just for convenience.
     21 * Converted documentation to Wiki format and moved to new location
     22 * Extended the functionality of Custom Commands considerably
     23   * Added $pick[arg1,arg2,arg3,...,argN] (Does not support spaces in the args yet)
     24   * Changed $rint to $rand
     25   * Added $rand[min,max] (Integer values only)
     26   * Added $uc[text] and $lc[text] (Do not support spaces yet)
     27 * Extended the functionality of Custom Variables considerably
     28   * Variables can now be added on the fly by an oper with the addword command
     29   * All [ ] variables are fully nestable, including with existing optional args that have defaults enclosed in [ ]
     30   * Variables can be enclosed in { } if ambiguous. For example,
     31     * $balls will look for a word category "balls"
     32     * ${ball}s will look for a word category "ball" and add the "s" to the end of whatever $ball it chooses.
     33 * Optimized startup time
     34 * Fixed bug where bot would not respond to custom commands if addressed by name
     35 * Fixed several command parsing bugs
     36 * Restored !wotd hint option for regular users
     37 * Moved zomg's code into a subversion repository
     38   * Made svn repository publicly accessible
     39   * svn co svn://vsterminus.homelinux.org/zomg
     40 * Secured code to load sensitive data from elsewhere
     41
     42== Version 0.8.1 – December 2nd 2009 ==
     43
     44 * Moved help page to static.socialgamer.net
     45    * Updated help command to reflect this
     46 * Updated help page formatting and style
     47 * Bot no longer auto-rejoins when kicked by ChanServ
     48 * Fixed !stfu length when a time was not specified
     49 * !nowplaying now uses the Last.FM API instead of screen scraping
     50    * Smaller output (1 line instead of 3)
     51    * API doesn't give me the player information (yet). Sorry.
     52 * Added more functionality to !lastfm
     53    * You can now customize your !nowplaying output
     54    * Syntax is different now, please read the entry for it
     55 * !alias now accepts and removes*!*@ prefix on hostnames.
     56
     57== Version 0.8.0 – October 28th 2009 ==
     58
     59 * Big update, long time
     60    * With school, working on the new SocialGamer beta site, and other commitments it can be hard to find time to develop zomg further
     61 * Changed the database serialization (storage) system
     62    * Previously used the XML::Dumper perl module to convert all of my hash tables, important variables and other data into a convenient XML file that could be read on startup to restore information.
     63       * XML::Dumper is Extremeley inefficient, and was causing me to use several hundred MB of RAM at run time! o_O
     64    * Switched to YAML::XS (A perl module written in C) I can serialize the database into a single human-readable string of data and store that in a file
     65    * RAM usage is now 1/10th of what it was previously
     66       * I can still reduce this further with optimizations to save/load and cleaning old/invalid/unnecessary data in other areas.
     67 * Added !fml
     68    * May add an option to select a specific entry or grab the latest entry if there is interest
     69 * Added !wtf
     70    * Uses the system `wtf` command, which contains definitions for common acronyms (Like 'LOL' and 'wtf') as well as man page entries for most apps
     71    * The wtf database is not really that extensive, and a response of 'Nothing Appropriate' means 'I don't know'
     72 * Modified the now playing (!mp3) command to use Last.FM
     73    * Renamed the !mp3 command to !nowplaying
     74    * Added a hard-coded alias, !mp3 which redirects to the new command. Usage doesn't change.
     75    * Command spans 1-3 lines of output, and so can only be used every 20 or so seconds to reduce spam.
     76 * Added !lastfm <last.fm-account> | none
     77 * Fixed a couple regex matches (Thanks Thierry for breaking it and Grinnz for solving it)
     78 * Added !drums
     79    * Wrote a search function into this command, so if you can't spell it will try to help.
     80 * Added the ability to use the $ variables from custom commands in all commands (With the exception of $1,2,3 etc because that's just silly)
     81 * Added some new variables for use (They work in any command, not just customs!)
     82    * $noun, $verb, $pronoun, $adverb, $preposition, $adjective, $clothing
     83 * Fixed default parameter parsing
     84 * Added new words to the word of the day file
     85
     86
     87== Version 0.7.4 – September 1st 2009 ==
     88
     89 * Added uptime to restart message
     90 * Added a 10 second ban to channel protections by default
     91    * Breaks sf ban currently, will be removing that.
     92 * Added <nick>++ or <nick>-- triggers for awarding wins to users
     93 * Added <nick>+=, -=,*= and /= as well
     94    * eg. toymachine++ is equivalent to .award toymachine 1
     95    * and toymachine+=5 is equivalent to .award toymachine 5
     96 * A word of the day system to award users with wins
     97    * The word is selected at random, but can be set by an oper
     98    * When the word is guessed, a new word is chosen (At random)
     99    * A word un-guessed for 24 hours will expire next time anyone uses !wordoftheday
     100       * Might update this to use a timer system in the future
     101 * Tripping the spamfilter also removes 1 win now.
     102 * Commands via PM can now be done without a trigger
     103    * eg. /msg zomg time
     104 * Custom Commands now support required parameters
     105    * Variables defined with $ are optional, where as variables defined with & will be required. If a required parameter is left undefined, the command will error and ask for more input.
     106 * !listcmd now displays the access level required to use the command
     107 * Fixed glitch in !wins when looking up offline users
     108 * Added !slogan
     109 * Added $rword, $rnick, and $rint variables to custom commands
     110 * Added defaults-system to optional args in custom commands
     111 * Added !bantime to allow channel admins to adjust the default ban length in their channel
     112 * Fixed arg swapping in custom commands
     113 * Fixed .enable to support command aliases
     114 * Made the word of the day game configurable per channel
     115    * By default, disabled. Can be enabled with !wordoftheday on
     116 * Removed the word-of-the-day hint, too spammy
     117 * Time input for bans, kickbans and stfu now support a more human-readable format (ex, 5h15m10s)
     118 * Bot no longer freaks out if words.txt doesn't exist
     119 * Database is now loaded before connecting to the server
     120    * The DB is getting so big that it was causing the bot to time out and lose connection
     121    * Considering splitting this file up into a few smaller files, or maybe truncating data
     122
     123
     124
     125== Version 0.7.3 – July 29th 2009 ==
     126
     127 * Fixed bug in timed kickbans using regex matches
     128 * Fixed !uptime's parsing of CPU uptime when there is only 1 user
     129 * !mass now supports custom commands
     130 * Re-wrote the todo list to use a hash instead of an array
     131    * Index values will be unique to each item added. They will continue to increase, instead of the list squishing down when something is removed.
     132 * Added greet type 'public' to greet users publicly in the channel
     133 * oper .alias <user> will send via PM if more than 15 results are found in a lookup
     134 * Fixed bot's own nick recognition if the server changes its name
     135 * added !top3 wins
     136 * Improved sorting code in !top3
     137 * Added !top3 peaks
     138 * Reduced resolution of time tracking since peak was set
     139 * Added !top3 customs
     140 * Added 'who is banned' (Thanks SoccerThierry)
     141
     142
     143== Version 0.7.2 – July 15th 2009 ==
     144
     145 * Added !uptime
     146 * User definitions are now displayed with !whois as well
     147 * Variables in custom commands that are left undefined will be hidden from output
     148 * Added $server, $unixtime and $localtime to the custom command variable list
     149 * Fixed a bug when adding custom commands using a command alias
     150 * “Who/What is defined” now sends via PM
     151 * !alias shows the user's hostmask as well
     152 * Fixed custom commands with 'Service' access level
     153 * Fixed !cmdlist when applied to a global custom command
     154 * Prevented saving during DB loading, hopefully to stop accidental DB corruption
     155 * Modified the error message when a user tries to kick an admin to include the username
     156 * Added !time global custom command (Access required: None)
     157 * Added 'who banned <user>' to go along with 'who kicked <user>'
     158 * Modified the way 'who kicked <user>' is stored and displayed
     159 * Better tracking of the $server variable
     160 * Added .restart for opers
     161
     162
     163
     164== Version 0.7.1 – May 11th 2009 ==
     165
     166 * Started tracking how many messages each user sends (April 30)
     167    * Used for top3 command
     168 * Added !top3
     169 * Added !text
     170 * Updated !stfu, !ban, and !kickban to allow users to specify a duration (in minutes)
     171 * Improved Auto-Save to create a backup of the db every hour
     172    * Database got corrupted on May 5, most recent manual backup was April 22
     173 * Various grammatical, aesthetic changes
     174 * Bug fixes to
     175    * Nick Filter
     176    * Stfu
     177    * kick/kickban
     178       * Specifically regex matches no longer match against the bot's nick, regardless.
     179    * Top3 commands works properly now
     180
     181
     182== Version 0.7.0 – April 29th 2009 ==
     183
     184 * Added Custom Commands!
     185    * Big help file entry for these.....
     186    * In any channel, Voiced users can use !cclist to view existing custom commands in that channel
     187    * Voiced users can also use !ccinfo <custom-command> to see info on any existing custom command
     188 * Added Global Custom Commands
     189    * Same as regular custom commands, but apply to all channels
     190    * It is possible, using customs and global customs, to give regular users access to oper-only commands, or certain parts (eg pre-defined args) of an oper-only command.
     191    * In any channel, voiced users can use !gclist to see all existing global customs
     192    * voiced users can also use !gcinfo <global-custom> to see info on a global custom command.
     193 * Added !greet
     194 * !cmdlist now supports custom commands as well
     195    * This obsoletes the global !ccinfo custom command, which I will be removing
     196 * Nickfilter now ignores self
     197    * aka you cannot make the bot ban itself using a nick filter
     198 * Added !wins
     199    * For users to check wins
     200 * Added .award
     201    * For opers to hand out wins
     202 * Added !floodban (About time)
     203 * Added additional syntax to !autobans
     204    * This supports banning repeat offenders automatically in your channel
     205    * By default, anyone who trips your spamfilter, or any of the autobans 3 times in 5 minutes will receive a 30 minute ban. This is configurable, but always enabled.
     206 * Fixed a small glitch with spamban where looking for excess repeat chars was not done properly
     207 * Some updates to .stats
     208    * Addition of .stats customs (For custom command stats)
     209    * Syntax modification
     210
     211
     212== Version 0.6.9 – April 19th 2009 ==
     213
     214 * Added repeat support to timers
     215    * Syntax change, please note it
     216    * Timers command now assumes channel if not specified
     217 * Kick and Kickban now support Regex matching!
     218    * Works for opers and regular users too
     219    * Case insensitive by default
     220 * Added .amsg
     221    * Send a message to all channels the bot is currently in
     222    * Not particularly useful I suppose, but it's something.
     223 * Added .enable and .disable
     224    * Opers can disable commands now
     225    * Only applies to regular user commands (.disable enable would be stupid)
     226 * Added oper version of .stfu
     227    * Check for oper removed
     228    * Auto-devoices, dehalfops and deops the person in question
     229 * Added !me
     230    * Same as /me, but makes the bot use it
     231 * Added handler for actions
     232    * Previously, the bot did not see actions (/me) at all
     233
     234
     235
     236== Version 0.6.8 – April 14th 2009 ==
     237
     238 * Improved mode parser
     239    * Still doesn't handle -qaohv well though
     240 * Improvements to timer system
     241    * See: Total overhaul
     242 * Improved timer accuracy from 10s to 1s
     243 * Added !nickfilter
     244 * Added hourly auto-save
     245 * Found out that Net::IRC doesn't parse extbans properly
     246    * Added a workaround for this in my mode parser
     247 * Added .timers
     248    * No args: list existing timers
     249    * add
     250    * del
     251    * # (Display info for a specific timer)
     252 * Timers are now saved between sessions
     253 * Modified the way timers are parsed
     254    * Now stores the nick that created the timer
     255 * All Private Messages sent to zomg are now forwarded to vsTerminus
     256
     257
     258== Version 0.6.7 – April 1st 2009 ==
     259
     260 * Added .whisperback
     261 * Added !mp3
     262 * Fixed Modelock
     263 * Added some extra protection against XML db corruption
     264 * Added !spamfilter
     265 * Added .kickban for opers
     266 * Added a mode parser
     267    * No longer need to /who the channel on mode changes!
     268 * Help file updates
     269    * Moved to an HTML format
     270    * Hosted on my machine instead of omploader
     271
     272
     273== Version 0.6.6 – March 2nd 2009 ==
     274
     275 * Added .addchan
     276 * Added !announce
     277    * Very different from announce in the old zomg
     278 * Added logging
     279    * One file per channel
     280    * Command log
     281    * Kick log
     282 * Added an option to !who
     283    * !who <banned|kicked> <user>
     284 * Fixed to-do list saving.
     285 * Added !autobans
     286 * Added !capsban
     287 * Added !spamban
     288 * Added !repeatban
     289 * Fixed some warnings in on_text and parseCommand subs
     290 * Improved command handling and multi-command handling
     291
     292
     293== Version 0.6.5 – February 27th 2009 ==
     294
     295 * Modified topic template
     296 * Fixed topic tracking for topics set by other users
     297 * Added command aliases, definable by opers
     298    * .addcmd <New Command> <Existing Target Command>
     299    * .delcmd <Command Alias>
     300    * .listcmd <Command Alias | Command>
     301 * Removed the 'did you mean' responses, they were just annoying and cropping up too often
     302 * Added more options to .stats
     303    * .stats users|kicks|text|peak|defs
     304
     305== Version 0.6.4 – February 23rd 2009 ==
     306
     307 * Added comical 'did you mean' on invalid commands
     308 * Added protection to !stfu to stop it from accepting empty args
     309 * Upgraded the multi-command parsing to be more intuitive
     310    * If a command in the string does not exist, it will be treated as the arg for the most recent successful command, allowing any command to take multiple args (essentially).
     311    * eg. !stfu Xyzzy; Scissors, Pie
     312 * 'who is defined' now lists users for opers.
     313 * Topic text is now filtered when stored to prevent XML errors.
     314 * Added .todo
     315 * Added .done
     316 * Fixed another glitch with nick changes
     317 * Bot will no longer attempt to parse blank commands during multi-parsing
     318 * Fixed problem with 'who/what is defined' not splitting lists into multiple messages
     319 * Added option 'list' for the oper join command.
     320 * Added !peak
     321    * Also added oper .peak
     322 * Added peak info to .stats
     323    * Stats by default uses a compressed, one-message format
     324    * Optionally, user can pass 'v' or 'verbose' to get the full, multi-line version with additional info.
     325 * Fixed regex for special 'who is' and 'what is' commands
     326 * Added oper .help which allows sending to other users (also massable)
     327 * Fixed a check in the mass command
     328
     329
     330== Version 0.6.3 – February 11th 2009 ==
     331
     332 * Added !kickcount
     333 * Added !kickme
     334 * Added two new hashes
     335    * %kicks # Stores info on all kicks seen
     336    * %mykicks # Stores info on kicks by the bot
     337 * Fixed tracking of hostmasks on nick changes
     338 * Added more info to stats
     339 * Fixed glitch in the mass command where it wasn't checking the opers hash
     340 * Reset the kick counter in favor of having accurate kick data
     341
     342
     343== Version 0.6.2 – February 11th 2009 ==
     344
     345 * Removed !addban
     346 * Added a %hosts hash to keep the hosts for users seperate from the user objects
     347    * This makes it easier to track whether a user is online or offline
     348 * Adjusted !whois output to reflect offline users
     349 * Added .stats
     350 * Adjusted on_quit and on_part events
     351 * Changed !help to send a NOTICE instead of a PM
     352
     353== Version 0.6.1 – February 10th 2009 ==
     354
     355 * Added .say
     356
     357 * Added !cycle
     358 * Added !rr
     359 * Added !nn
     360 * Added !censor
     361 * Added !mute
     362 * Added !strip
     363 * Added support to catch SIG{TERM} and SIG{INT} and save before exiting
     364
     365== Version 0.6.0 – February 10th 2009 (Initial Release) ==
     366
     367 * Why start at 0.6.0?
     368    *For those who remember the original zomg project, it was written in mIRC script and as it grew it became increasingly troublesome to work with.
     369    * It was at version 0.5.x when I dropped it and moved to zomg in Perl, so I just bumped the version up to 0.6.0 and kept going.