mirror of
				https://github.com/pragma-/pbot.git
				synced 2025-10-31 14:47:27 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			126 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # pbot3 changelog and todo list
 | |
| #
 | |
| # TODO: A bit more refactoring and clean-ups and conversion to OOP
 | |
| #
 | |
| # TODO: add support for admin management - needs support for adding/removing/saving! [for 1.0]
 | |
| # TODO: multi-channel support needs improvement (note 12/08/09, fixed multi-channel for anti-flood and for ignore)
 | |
| #       e.g., factoids need channel parameter, e.g. C factoids vs. C++ factoids (with an option to allow a factoid across all channels)
 | |
| #       [for 1.0]
 | |
| #
 | |
| # TODO: Ignorelist needs to save and load from file, use regex hash keys/search parameters.
 | |
| # 
 | |
| # 0.6.3-beta (03/26/10): Improved !find command by adding optional -owner and -by search parameters.
 | |
| # 0.6.2-beta (03/25/10): 'list messages' command significantly improved -- can use regexs search parameters.
 | |
| #                        Added optional regex search to 'rq' quotegrab command to match against quotegrab text.
 | |
| # 0.6.1-beta (03/23/10): Quotegrab ids properly adjusted when deleting quotegrab.
 | |
| #                        Admins loads from file, uses regex hash keys.
 | |
| #                        Lots of misc tweaks and improvements throughout.
 | |
| # 0.6.0-beta (03/22/10): Converted everything into objects with zero exports.
 | |
| #                        Replaced <STDIN> with sysread(STDIN, ...) in StdinReader.pm as to not mix buffered IO with select()
 | |
| # 0.5.0-beta (03/16/10): split single large pbot2.pl file into packages and modules 
 | |
| #                   replaced nick@host with full nick!user@host hostmask throughout [TODO for admin stuff (logged_in, etc)]
 | |
| #                   ignore list saves/loads [TODO]
 | |
| #                   factoids/modules now case-insensitive in interpret_command
 | |
| #                   when using !tell foo about bar, replaced "(nick)" on end of text with "nick wants you to know:" at beginning of text
 | |
| #                   added STDIN reader and pass all input to interpret_command (was fun working out the POSIX suspend/bg/fg kinks!)
 | |
| #                   lots of code clean-up and refactoring
 | |
| # 0.4.6 (03/06/10): channel name now always lower-cased in hashes
 | |
| #                   added trigger for NOTICE events
 | |
| # 0.4.5 (12/11/09): set quotegrab id when loading and grabbing; export quotegrabs to webpage
 | |
| # 0.4.4 (12/10/09): added [channel] optional parameter to !grab
 | |
| #                   fixed !rq's [channel] parameter
 | |
| # 0.4.3 (12/10/09): added !delq to delete quotegrabs
 | |
| # 0.4.2 (12/09/09): added support for quotegrabs: !grab, !getq, and !rq
 | |
| # 0.4.1 (12/08/09): improved anti-flood system to be significantly more accurate and per-channel
 | |
| #                   added per-nick-per-channel message history using %flood_watch
 | |
| #                   add per-channel support to ignore system
 | |
| #                   automatically remove message history for nicks that haven't spoken in one day (run once per hour)
 | |
| #                   do not ignore !login command
 | |
| # 0.3.16(11/23/09): refactored module execution to execute_module() subroutine
 | |
| #                   added trigger to execute get_title.pl module when URL is
 | |
| #                   detected in regular untriggered chat
 | |
| # 0.3.15(11/20/09): replace 'me' with '$nick' in arguments
 | |
| # 0.3.14(07/03/07): do not expand escaped dollar-signs in factoids (adlib)
 | |
| # 0.3.13(07/01/07): fork all modules
 | |
| #                   added unload_module, enable_command, disable_command
 | |
| #                   automatically export factoids every $export_factoids_timeout seconds
 | |
| # 0.3.12(05/20/07): lol?  Prevent recursive aliasing infinite loop, x -> a, a -> x
 | |
| # 0.3.11(05/20/07): added 'alias'
 | |
| # 0.3.10(05/08/05): dont ban by nick, wait for nickserv response before joining chans
 | |
| # 0.3.9 (05/06/05): stop logging joins, fixed join flood ban?
 | |
| # 0.3.8 (04/28/05): changed 'top10' to 'top20' throughout
 | |
| # 0.3.7 (04/28/05): 'top10 recent' command lists 10 most recent factoid additions
 | |
| # 0.3.6 (04/15/05): join/part flood earns ban (broken, I'm lazy)
 | |
| # 0.3.5 (03/24/05): fix bug in interpret_command re $commands and $keyword
 | |
| #                   keeps track of op state in multi-channels (but not commands)
 | |
| #                   added nick searching to top10
 | |
| # 0.3.4 (03/22/05): added kick
 | |
| #                   list also lists admins
 | |
| #                   ban also kicks nick
 | |
| #                   unban also modes -b in addition to ChanServ AUTOREM DEL
 | |
| #                   oops, moved $is_opped = 0 from lose_ops() to on_mode()
 | |
| # 0.3.3 (03/21/05): added ban, unban using ChanServ AUTOREM
 | |
| # 0.3.2 (03/20/05): stays opped for a minimum of 5 minutes before deop
 | |
| # 0.3.1 (03/18/05): log out departed admins
 | |
| #                   implemented ignore and unignore
 | |
| #                   flooding with commands triggers timed ignore
 | |
| #                   no flood consequences for logged in admins
 | |
| # 0.3.0 (03/17/05): Hi-res timer support.
 | |
| #                   renamed %admin_commands to %internal_commands
 | |
| #                   added admin levels to %admin_commands
 | |
| #                   added access levels to internal commands
 | |
| #                   interpret_command uses access levels and checks login status
 | |
| #                   removed all extraneous loggedin() checks
 | |
| #                   internal commands processed before bot commands
 | |
| #                   added flood control
 | |
| #                   flooding channel tiggers timed quiet
 | |
| # 0.2.18(03/16/05): direct at $nick within channel
 | |
| # 0.2.17(03/11/05): Most confirmation and warning messages sent via /msg
 | |
| #                   restricted parsing to bot's name or ! only
 | |
| # 0.2.16(03/02/05): added '/msg'
 | |
| #                   /msg doesn't show ($nick) if admin
 | |
| # 0.2.15(02/20/05): special variable lists, "adlibs"
 | |
| # 0.2.14(02/19/05): added $botnick and $altbotnick
 | |
| #                   added more rules to trigger interpret_command
 | |
| #                   added '/me'
 | |
| #                   added '$args', allowed factoids to take arguments    
 | |
| # 0.2.13(02/19/05): added '/say' for no '<foo> is'
 | |
| #                   added $nick expansion in factoids
 | |
| #                   added 'show' command to display factoid literal          
 | |
| # 0.2.12(02/16/05): improved html for export
 | |
| #                   added 'commands' to list command
 | |
| # 0.2.11(02/12/05): added popularity to 'info' command
 | |
| #                   'top10' command for factoids
 | |
| # 0.2.10(02/07/05): added histogram command
 | |
| # 0.2.9 (02/03/05): info <factoid> || info <module>
 | |
| #                   find <factoid keyword>
 | |
| #                   use eval {} in change_text
 | |
| #                   count <nick> returns # of factoids <nick> has submitted
 | |
| # 0.2.8 (02/02/05): change_text: show result of change
 | |
| #                   ... debugging prints throughout
 | |
| #                   Allowed factoids to be appended using 'is also'
 | |
| # 0.2.7 (01/27/05): Removed '<command> for <nick>' syntax to direct
 | |
| #                   a command at a user.  Using 'tell <nick> about <command>'
 | |
| #                   instead.
 | |
| # 0.2.6 (01/22/05): Major source overhaul.
 | |
| #                   Allowed any non-word character to be used
 | |
| #                   as delimiter in change_text.
 | |
| # 0.2.5 (01/18/05): Don't die in save_commands.
 | |
| # 0.2.4 (01/18/05): Added 'change' command. 
 | |
| # 0.2.3 (01/17/05): Allowed factoids to be added using '%foo is bar' 
 | |
| # 0.2.2 (01/17/05): Responds only when addressed or explicitly triggered.
 | |
| # 0.2.1 (01/17/05): Allowed trailing question marks.  
 | |
| #                   Allowed 'is' for add_text.
 | |
| #                   Some minor bug fixes.
 | |
| #                   Aliased forget => remove.
 | |
| # 0.2.0 (01/16/05): Revamped hash structures for factoids.
 | |
| #                   All commands have a timestamp and owner.
 | |
| #                   Added 'export' command and modifed 'list'.
 | |
| # 0.1.4 (01/16/05): Minor tweaks and fixes for logging.
 | |
| # 0.1.3 (01/16/05): Can direct commands at nicks.
 | |
| #                   example: man fork for <nick>
 | |
| # 0.1.2 (01/15/05): Added 'list' admin command.
 | |
| # 0.1.1 (01/15/05): Some minor tweaks and fixes.
 | |
| # 0.1.0 (01/15/05): Initial version
 | |
| 
 | 
