Welcome to the Jerkbot changelog. You might get lost here. I've done my best to keep track of as many changes as possible, both large and small. Legend: ! General comment + Additions = Edits - Removals x Bugfixes ? To add/edit/fix * Targeted update; when used, will appear just below the ? being referenced 1.9.25 x fixed slightly broken public_action{} responses. = minor edits in documentation, small changes in timing defaults. x fixed small error in help files for 'rph' setting. x "unlocked reddit.irc's full potential".. actually, commented a condition to fix a recent issue that prevented a valid check. + minor addition to !lev command to indicate if owner is authenticated (trusted.) x attempted fix to retain network connections after unexpected disconnects occur. = decomissioned massunban code until revision can be implemented. = removed some unused setting entries that were left over from older versions of the seen module. x fixed the url shortener issue previously experienced by scraping the tinyurl input rather than attempting their api again. = small modification to the urlc string in settings (useragent update.) x found several unused variables to clean up. + added and removed strings related to the !nick command changes. you will now also be notified of erroneous nickname change attempts. = removed !nick command timer check as it's currently by default an owner-only command, and as such those with access to this command are unlikely to abuse it. = yahoo plugin disabled by default. moved this module and the convert module to new folder 'modules (disabled)'. + added an !snews command to cmd.db to have bot issue a timer to show random news every so and so amount of time. 1.9.10 x quick fix for urls (string) to prevent weird problems with different distros. by default the curl string will be barebones. ? fix authentication string send-error when using nicknames (and commands?) with dashes. =x tweaked some default settings and made minor fixes to cmd.db commands. = some minor changes and fixes in phrase help. x overlooked an error in the learncre() handler with regard to line matching. = moved $sbarLvar $sbarRvar variables to the style.irc file, from main file. ! specific action response (sa_*) has been disabled indefinitely until rdfile() recvQ flood problem is resolved. ! had written an authentication incorrect pass lockout mechanism but rollbacks didn't include this code. will rewrite soon. x removed commenting code for channel files, as channels that begin with more than one pound sign causes issues. + added an auto-ignore/unignore feature built into the antiflood.irc module with 3 new settings. x fixed several bugs in the url.irc module. now it will parse multiple urls as originally written. ! so far, the changes made just below seem to be working out. will continue to keep eye on it. ! made a few modifications in the public routine to try to fix a few bugs. this is currently playing out. = searches now return the searched-for text highlighted bold. = addition in location for password masking to the crypt module. = antiflood.irc module modified; channel existing in settings is first condition before all else. x fixed case-sensitivity in matched !quote commands for quote.irc module. = all 'arfs' phrase commands renamed to 'phr'. aphr, rphr, sphr and fphr modified. + addition of 'mode #' command for ops.db in commands/. = moved rseed() function to crypt.irc module. x small fix to url parsing code. x fixed some mismatched array and variable assignments in rdfile(). (does not fix i/o error.) = moved short_url() to main script but disabled it globally, as the shortify site's jd.ax domain ssl cert has expired. will check to see if cert's updated in near future. + new 'wc' setting for weather module and channels. x fixed some errors in style.irc. 1.8.90 = extensive changes in the !serv and !close cmd.db commands, see their help infos for more. + added !cons alias command to main script, which returns connection information. = modified cmd.db !close command to work with a choice (sessionId). = some general cleanup to main script. x fixed url.irc code in quit/part and cleaned it up in the other event handlers. x fixed overlapping setting name. i never noticed there were two 'rp' settings! the random phrase setting is now 'rph'. + added redirect vars to url module for additional url info. x fixed up some display issues for set/str/per/etc. + i had at some point removed code that was meant to remove the bot's nickname from a direct response for some reason.. (it might have been during the time i moved most of the public handler to new subroutines.) it's been added again. + small changes in srchfile() and showfile() allowed me to add two new cmd.irc commands called 'flog' and 'slog', to search log files on irc! = !db now requires user to be an aowner. x fixed a couple of minor display issues for the $cc variable. x 'chc' and 'gc' settings (channel command and global command, respectively) now correctly work with cmd.irc's commands. = moved *cmd* up the chain to aowner for add/remove and owner for find/show. x fixed a critical timer issue preventing custom timers from firing more than once. x changed !ms to !mms to fix a weird filtxt() variable conflict. = bulked out !com and !lev commands to be a little more informative. += beefed up the reddit module with a new !rreddit command (!rr in cmd.db), which allows you to query a random post from the subreddit's front page rss feed. + added $sachan and $sanick, along with sa_public.db variables (!sachan, !sanick). ? note: $sachan/$sanick and associated code causes problems with recvQ. * this code will be disabled until a fix is discovered. 1.8.70 = removed 3 cc query lines in script and replaced it all with one line in sa_public for the 'cc' command. = all on/off/string settings everywhere are now case-insensitive. part of my dumbing-down initiative. = update to style.irc. moved colors into more easily configurable variables. x fixed the strange issues i had with /mphrase. it now works correctly as it should. = some small changes to the !lev command. + ops.db and bot_ops.db (commands/database respectively) have been added and are considered one level between users and masters. they have access to all op, user and 'everyone' commands. x had to make a few adjustments to theonion.irc as a result of their new site "upgrade" (including changes in rss feed.) the plugin now requires cURL use. unfortunately for some reason it's a little slower now too. x fixed problem of outdated subroutine name in url.irc module. = filesrch() now defaults to two, rather than three entries. this isn't something that should really be changed, but if you want to: search for this line: 'foreach $y (@a) { if ($m < 2) {' in the main script and change 2 to your desired number. + two new help files for strings and percentages, as well as changes in the help string itself. now the entire help system is complete. = cmd.irc plugin now updated to use main 'arfs' system. !x attempting new fix on sa_public problem - the one where it stops working. (the fix appears to be working.) x fixed missing encoding closure for cracked.irc. - etymonline.com has decided to rewrite their website, and as a result have made the code incredibly convoluted and virtually impossible for me to scrape, so the etymology.irc plugin is now defunct and will not be included in any future releases. x fixed !db command. x some fixes for and additional securing of the cmd.irc plugin. x fixed '!phrase' command, was a small oversight in the commands/users.db file. = '!com' is now the command to show users their help options. it's no longer included in !*help calls. = consolidated phrase 'arfs' into main file modification engine. removed now unused p* strings from strings.db file. = some cleanup in the main script, mainly removing old outdated/unused code and comments. 1.8.50 + topped off this version cap with a simple !q command alias (for !quote) added to the cmd.db file. x fixed small bug in ud.irc module. ? sa_public responses are not working correctly. they will work once or twice, and then stop working until i either enable/disable jerkbot's debug or reload the script, and that is also inconsistent. need to do a complete variable sweep. x fixed a small filtering problem with the reddit.irc plugin. + new setting and module setting help files added. makes it easier than having to read docs all day. use !shelp and !mshelp. this information is now removed from the format.txt help file. + new settings 'ub' and 'ubt' to unban bans set after specified time in bot channels. + forgot to add unban command to commands file (added to masters file.) = sr_user, sr_join and my_ctcp initial entry items (left of ==) can now accept and use wildcards. = moved setauth code to own subroutine. - got rid of a few defunct values in settings and strings. + new setting 'chc'. respond to cc in channels? ('off', for only in privmsg.) this could have some practical uses. x fixed up the seen module a bunch. + new takenick.irc module added. wheee. x fixed bug in sr_user code. + added shitlist checks to nick changes, notice, topic and mode changes. += introducing 'follow mode'; address bot fm== times, after which bot chats with you directly according to 'chat' percentage with no additional need to address bot, and stays in this mode fmt== amount of time. it can easily work with multiple nicks and carry on multiple conversations. + removed 'arfs'ignore 'iglist', 'ig' and 'unig' added to cmd.db. it's much more efficient and less code to use the client's ignore setup. the obvious drawback includes channel moderation. x attempting newer, better fixes at correct channel engagement. ? mode responses are working incorrectly. i've commented them out until i can make time to fix it. = jerkbot's whole look is now in the style.irc module file! x fixed some bad mode parsing code. 1.8.30 + some fun new commands added to the cmd.db file for authenticated owners. clone, serv and close. x small change in execution of method for specific files to keep from executing multiple times per call. - modelock.irc has been disabled and removed from release for now until i work out the weird issues it has. = antiflood.irc now includes anti-takeover settings and code. if the user taking the channel is unlucky enough to not target Jerkbot in the first mode line match, Jerkbot will likely win. = moved quotes to its own module. the quotes file syntax is the exact same as it was, and is cleaned up and works much more neatly. x fixed some outdated and broken subroutine references in a few modules. x url.irc now ignores ignored hostmasks. - ipvoid no longer lets you easily query their servers, so the blacklist.irc module is disabled and will not be included in release until i decide on a better alternative. = made small modification to antiflood ban enforcement echo. = updated response file variables, some were outdated and still being used; went over and cleaned up recent public{}/msg{} changes. x fixed missing strings when adding/removing from and to the cmd.db file. + added 3 new items to antiflood.irc settings for ban enforcement, which is now included in the aformentioned module. (oh, and it finally works too.) x public subroutine revision now fixes much of the spillover issues i had with responses in the wrong channels. = some general cleanup and reorganization of some commands. + new sa_public.db file, which automates commands immediately on seeing text patterns/matches per channel. = tightened up some various subroutines. ? (a) removed a small bit of additional checking code that wasn't working out. = sweeping internal name changes, most of them shortened. + added 'vmstat', 'top3' and 'free' linux shell commands to cmd.db. x nickname randomization when replaced with !user can use up to 8 random nicks now. = consolidated shitlist code into one subroutine. 1.8.10 =- small modifications to '!lev' command and removal of op commands. ops, like all users, must now have access to the bot's /commands/ appropriate to their user level. = check_user() is now check_mask() and ALL bot user files must now follow a wildcard-based RFC1459 hostmask setup. it's just much easier to work with than the old setup. =x removed 'sh' mod setting (for seen user in channel) as it was unnecessary and it replaced actual information, renamed 'sme' to 'sb', and FIXED SEEN.IRC ENTIRELY! yay. = all !variables are now available to all modsetting lines for seen.irc. = tried to tighten up antiflood.irc's kicking, it's been kicking multiple times and causing some additional headache. =x changed the way the seen.irc module processes seen.db file information. it still requires further tweaking, but no longer kills the client while running up the load avg. ? (b) seen.irc module is the cause of the slowdown. for some reason, it's causing a sort of lockup. will test further. ! (a) working on fixing weird lag introduced recently. disabled shitlist code on public,pubaction,quit and removed most refresh()s. we'll see if this helps. x removed dnsbl command from blacklist.irc, it doesn't work correctly. x fixed some antiflood.irc problems, should now work as intended. + added some customizable settings to the news.irc module. = theonion.irc, news.irc and cracked.irc now all use a url shortener. = several files are now created if they don't exist (they are empty, mind you.) these files are quotes.db, learned.db, matched.db, all user files and all phrase files. x squelched another numeric for antiflood (not chan op.) = /mln or /fast_mln must now always be declared before lines utilizing "::". all default ones updated to reflect change. + new file /settings/startup.db allows you to add commands to perform directly after main script load or reload. 'arfs' included. x fixed some critical shitlist problems. + added a /timer function. /timer /cmd or RAW. x squelched an annoying numeric. 1.7.90 = updated seen module, will need to start with fresh seen data if you have any. = shitlist hosts are now actual hostmasks. still working on getting the rest of check_user() code working with regular hostmasks. = all module settings names truncated. = antiflood revamped, and it now also exempts all bot protected users. = all strings names have now been truncated, and matched with other similar settings where possible. + added all command options for live editing, through arfs/com???. = lookup.irc renamed to wiki.irc and a few other module names changed here and there. x made all commands from cmd.irc a little more snappy in response. =x cc fixes. command character ($cc) is now set to only display the first command character in the list in help and infos rather than include ' or '. = heavy cleanup and updates regarding /commands/ files and cmd.db lines. = all regular settings names have been truncated. + repeat function added to main script. mainly for massunban but has other uses. + added internal massunban along with a setting 'mn', much better than the cmd version. = crypt now echoes internally when encrypting/decrypting takes place. = removed several deprecated variables. =x $Act_* has been renamed $Pub_* as this makes much more sense for the context of these vars. the same has been done with a few bang variables. ?x code-check on shitlist in public/pub_act sub. it has randomly banned someone twice in the last 2 weeks without apparent cause. x small bugfix for nicknames with carets. they weren't being recognized because the caret wasn't being escaped. 1.7.70 +x changed location of url processing in url.irc; should speed things up a little. 3 additional url flags for processing in other events besides public messages. = changed some timing settings and solidified anti-flood code, combed for bugs, etc. = after much testing i've finally been able to put together a working command list, rather than require them in the script. see /commands/. + new anti-flood module added. includes anti-flood measures for channel text, joins and nick changes. will likely add more soonish. = changed title bar (finally.) x added a new conditional that requires a user to not be in the protected file in order for shitlist to trigger, in other words if you add a protected user to the shitlist file, it won't do anything. x additional $Mode_Chan assignment throughout all mode subroutines. hoping this will fix some problems with modes and incorrect channels. x had to disable a recent change i made (1.7.33/34) as the @allpub array was populating data incorrectly, leaking across bots. = consolidated the large chunks of command code from public() and msg() into a single subroutine, similar to the help. + modes added to nicks. i know, i should have done that ages ago. = consolidated help code in public and msg into one subroutine to use. = solidified some code in cmd.irc and public() and msg() events. += password file is now encrypted. salt has been slightly revised to produce longer strings as well. x fixed a dumb mistake in show_help(). x show_database() now checks for authentication if enabled. x reinforced rdfile() with a conditional to be sure that empty /database/ files will not pose an issue. =x some fixes and changes to the url.irc plugin to include content header information and much better compatibility with redirects. 1.7.50 x using strip() for url strings now and updated the default curlcmd. += many changes to ud.irc, including new function call to api interface and a new udstr mod setting. = big change in match_create(). going to see how this plays out... + !start added to url youtube variables for video play start time. =x fixes, changes and additions to weather.irc to show state names according to zipcode used, as well as visibility and string customization. += made significant changes to seen.irc and settings associated with it, as well as some additional minor tweaks to url.irc. + some fun new youtube url.irc additions, including two new variables for NSFW content and verified accounts. + new curlcmd setting allows you to change the curl command itself for the bot over irc. x all first-load bugs fixed. there is no longer any need to 'initialize' the bot on first loads. if you are customizing the filename itself, simply remember to change the name in the beginning of the script, and the directory name under /bots/. = several more changes in url.irc, with addition of string layouts for url, yt and imgur in modsettings.db. original on/off toggle for title and desc removed. = updated code to use filter_hidden() in all show_file() and search_file() requests, and modified cmd's info alias to use the same. = updated url.irc to include even more information for imgur links. = info command in cmd.db split into info and cinfo. =x as the propensity of repeats is very high if learned file is very small and bot is mainly using public.db, i had to add a use/remove system to make it work right. x fixed a bug in msg event with commands if Jerkbot is off. + new uastr and uastrc settings lets you change your user agent string for site_connect() with or without cURL on the fly. 1.7.30 x some whitespace trimming fixes for url.irc, along with new url settings in urlyt and urlimgur. = reddit.irc and yahoo.irc no longer use timers to reset their arrays. used items are now removed in realtime. = banlisting is now populated in command section of public event handler. + urldesc and urltitle added to url.irc settings, now you can set these on/off through the !mset system. = bot "jerkbot" (the default bot file) and associated directory have been renamed to "jb". x some more fixes to url. right now it doesn't parse color codes, so keep that off in the client. x hopefully fixed a long standing problem with bot channel integrity checks. + new modelock.irc module added. locks modes per channel. x fixes in filter_hidden() to better work with new modsettings.db file. += major changes in module setup; now you can make module preference changes with the !mset command. x updated imdb.irc module to include API key field. = removed pre and suf completely. it's a broken system held over from a much earlier version of jerkbot. += moved mod_text() subroutine to textfx.irc as a plugin. =x some minor fixes and changes throughout several modules, and some cleanup at the start of main script. =x small modifications and fixes to url.irc. x several bugfixes to the etymology.irc and convert.irc modules. 1.7.10 + another new module. yay. this one uses google's conversion queries. + new word etymology module added. uses etymonline.com for lookup. x bug fix in match_create(). x fixed a bug in url.irc causing script to flood bot offline if likes/dislikes were less than 2. since the data comes from a scrape and not an api, it can be iffy. x bugfixes to aop. = updates to url.irc include youtube viewcount and likes/dislikes. ! trying out some aop code modifications to hopefully fix some issues. x fixed some user level problems in show_help(). + added voicer.irc module to issue voice after x amount of stuff said. + added 'arfs' command aliases to the seen.irc module. = most strings.db line names truncated for quicker edit on irc. = rand_user() edit, hopefully fixes some issues. = new 'setauth' setting, for aowners to modify settings without needing to authenticate first. = some modifications to user level information. x had to update/fix cracked.irc due to bad code in their rss feed. = much-needed updating in the docs/. = some changes to lines in the strings.db file. x fixed rcmd. = removed redundancies throughout the script. x bug fixes to ignore code in several areas of the script suite, with hosts in the bot_ownerauth.db file now exempt from ignore. x fixed more bugs in cmd.irc, this time with focus on the ignore settings. 1.6.90 x fixed some bugs in cmd.irc with regards to the help system and previous changes. = moved 'um' in cmd.db to owner block. = reinforced good standards in owner/aowner symbiosis. = small changes to the setting change confirmation string, including some variables to use. x all of our loading woes are over with a single additional line in if loaded() to actually set the bot correctly on our very first load. = abolished newnick. nick now contains both functions. = authentication ended session defaults to user notice; easy to change within main script. = disabled imdb.irc module for now. the new pay-for requirement for an API key with omdb blindsided me and i didn't update the module to reflect a paid API key implementation. = some adjustments to subroutine names and filesize scale back of main script. = most settings.db names have been truncated for ease of use, now that they can be altered easily. = now using cURL for reddit module due to https. +=x significant changes with regard to the settings, percentages and strings (and subsequently the bpre/bsuf files.) you are now able to make changes to these files directly from irc. they all require you to be authenticated, and there is no error checking for your strings, so type carefully and pay attention to syntax when making preference edits. + created a simple yahoo answers module. = removed prefix 'rp' from percentages file. added some new strings to the public file. = some updates and removals of deprecated code, minor cleanup in docs and a bug fix to learning. + added 'tnews' to the news.irc module, to set topics as news. = changed first two timing response settings to a shorter time to compensate for lag. = small change in help strings. 1.6.70 += $Mode_Chan / !mchannel added specifically for responses to modes. x additional small fix to url.irc. x fixes to url.irc and seen's command in cmd.db. += several fixes and adjustments to areas in public(), the help system and some modules. = updated public_action() to reflect changes in public(). =x fixes to order of priority concerning the bot's responses among sr_public and use of the bot's nick. = load_mods() no longer requires manual input for names of mods that reside within their own directories. + seen.irc module added. x randpublicphrase fix to prevent bot from talking in channels not in its channel list. + inclusion of "topic" command for channel ops/owner. = removed some old commented code; updated the readme and main script to spotlight requirement for script initialization. = updated cracked.irc module to work with whatever new changes they've done. x some additional bug fixing done to blacklist.irc, as well as inclusion of public url checking. ! while the blacklist module is mostly working well, it may be slow or cause a flood off on channels with very heavy join/part traffic. = additional edits to blacklist.irc. quite a bit more information is stored along with each ip address. + added missing help documentation to format.txt. = learningdisplay, matchingdisplay, staycurrentdisplay settings deprecated and removed. the strings for these can be found in strings.db x fixed up console (a)owner code, added a setting to bot settings for it. x fixed improper use of reply_type() in cmd.db. this particular test failed. 1.6.50 ! read_commands() is having major problems with repeating command responses. replaced with the old code until i figure it out. ! changed method of item search in command files - i don't know what result this will have yet. = small change in chgnick() usage in script. + added three new ban-based cmd.irc commands for bot masters. x fixed news.irc module after a Reuters RSS change. x fixed banning issues. += updates to banmasking and addition of ipv6-friendly parsing. x fixed small shitlist bug. = reimplemented 'core' as 'commands'. it's working well with some minor exceptions. = removed old variables and small code chunks that were no longer being used. = squished rdfile() code; it also no longer requires a listing of file name in main script. if the file exists in the directory, rdfile() will see it. + added commands to work with blacklist.irc's ignore.db file. updated help. x fixed a nasty bug in cmd.irc permissions. x updated news.irc. recent changes mandated newlines used here no longer required stripping. = removed a few unused timer variables. = addition of 'arfs' to blacklist.irc and blacklist specific commands to cmd.irc, and seperate settings.db file for changes without reloading module (and less edits for me.) = extensive testing for blacklist.irc completed. it should function as intended. = blacklist.irc module finished, but not fully debugged. it needs extensive testing. = loosened up rules for url.irc module; they were a bit restrictive. filtering is still in progress. + blacklist.irc module started. 1.6.30 x fixed some filter_text() settings in the default cmd.db file. = moved /rl command to owner by default, rather than aowner. + started writing simple shitlist code. currently functional, but few options as of now. x fixed authentication address bug introduced after working with nick variable assignments. + learning and matching echoes have been added to strings.db for easy modification. x fixed an authentication bug introduced recently. +x !comnick variable added as 'command' counterpart to !pubnick. additional bug fix (longstanding) to cmd.irc module. x numerous bug fixes in command, response and filter sections. some of these bugs were overlooked for some time. still having some issues with add_prefix(). apparently my recent changes in on public{} have recreated old bugs. !? attempting fix for com/act chan/nick variable weirdness. this has been a challenge. com_chan is being set when it shouldn't be. x removed listentrigger and fixed a few listening issues. = cmd.irc now uses mln() to serve the listing without flooding. x fixed a long-standing bug in add_suffix(). x bug fixes and minor changes to the url.irc module. = the last module to use the old fetch scheme, weather.irc, is now using site_connect(). + addition to cmd.db of linux commands 'top', 'lsblk', and 'uname' for masters. = listening setup finalized and tested. 3 additional 'listen' settings in bot_settings. x several revisions and bug fixes in the reddit.irc module. data is now stored for x amount of time until reset. 1.6.10 x fixes to current flood control scheme. rewrite in progress. x several fixes and tweaks in all modules, particularly with bot_ignore.db. x fixed user requirements for url.irc. x fixed user permissions issue in show_help() = autoop* settings folded into a single setting, with type flags rather than toggles. (now with better code.) =x fleshed out user protection a bit, fixed several bugs in mode handling. x fixed issue with certain op commands only working if opped (now works for owners.) x quotenotfound string now used if attempting to remove a quote number larger than the total. = straightened up code in the mphrase alias. = modified deauthentication code. x fixed an authentication bug. + addition of private.db (privmsg responses) to compliment publicme.db. x calculator code unsquishes operators now. x fixed an oversight for r* commands. + imdb.irc module added. = a_to_s() -> a2s() x add/rem/find/show is now a/r/f/s to make these commands more lazy-user friendly. + added !mul command to unload all modules. = some cleanup done in load routine. 1.5.90 = several overlooked updates in help information. x small fix in command character help issuance (cc). = nickreplace removed. i could not get it to work correctly, and it was more of a novelty item than a necessity. x bugfixes in authentication code. several odd results have been corrected. =x minor fixes and edits to url.irc and notes.irc modules. + created a simple notes.irc module. = news module now includes a few more options. = urls that point to images now may be parsed by url.irc. =x numerous small tweaks and error corrections throughout help, module and filtering sections of the script. +- addition of news.irc module, as well as general code cleanup and unused variable removal. = compressed file listing code for learned, matched, quote and phrase. + addition of urbandictionary.com module ud.irc. x further fixes in url parsing code. source content is now squished together before being processed. ! starting on code for a full anti-flood system. += additional changes to auth system include greatly increased complexity in salted password and random-length character password masking to the client (the client ui does not display passwords.) + !ulist, !mlist and !olist have been added back as cmd.db commands. 1.5.70 x fixed incorrect variable use in four modules. + new subroutine site_connect() for use with modules that need a website. all modules updated with the exception of weather.irc which requires specialized connect() syntax. = moved addtopic, sv, joinall, partall, j and k aliases to cmd.db. + added a url.irc module. this retrieves non-SSL link's title and description if there is one. needs some work. += lookup module added. uses duckduckgo instant answers. fixed small issue with weather module as well. = moved flood control to a single subroutine. = opsareusers setting has been phased out. currently too problematic. + added cracked.com and theonion.com modules. = rewrote check_mods() and unload_mods() functions. no longer need name of module in these blocks or in public() and msg(). = set some initial jIRCii/jerkbot properties upon script load. x small fix in pubphr() for method used to generate the string. x reddit module required updating to accommodate new rss feed formatting. x fixed absolute path load/unload issues for latest jIRCii release candidate. = general code cleanup and minor syntax revisions throughout the script, with addition of !cver variable. ! openweathermap.org now requires users to sign up to receive a valid api key to access the weather information. module has been updated to accommodate for this. + added unload aliases to all modules. info in header of each module. = F5 (refresh) in keybinds.irc module now uses refresh_jb(). x fixed rand_user() errors. = small changes to how replace_text() is executed, along with some updated help. 1.5.50 x fixed some minor help issues, and additional bugfix to rem_file(). + addition of delimiters '///' to signify strings too sensitive to be shown when queried. cmd.irc updated to reflect these changes. x fixed several problems in cmd.irc. all module core commands now work properly. x revisions in mphrase alias and match_response() subroutine allowing for more accuracy. x fixed SEND_ACTION_* sets to display correctly. + addition of read_doc() function to show document lines from any file in /docs/. = changes in how the bot responds to messages and added several updates to cmd.db. x fixed small problem with using sendRaw() instead of call() in cmd.irc causing 'cmd show' not to function properly. x !user (rand_user()) no longer returns the bot as a choice. x closed a pre-existing Sleep/jIRCii security issue with an expr() call in /calc allowing execution of any sleep command. (very bad.) = fleshed out reload code for all modules. = small update to disable jerkbot debug on first load. + check_mods() subroutine added with new globals for use in info commands. + support for modifying aowner and owner from the client has been added. = jerkbot information now starts at top for convenience. = modified the look of several areas in the script. = echo method for script and module loads and unloads changed. = gen_pre and gen_suf renamed bpre and bsuf. ? search.irc module is in progress, however i am hesitant to use duckduckgo for searches as it only looks up some things. = minor changes to some modules' use of filter_text(). x city/state/zip/country fixes for weather.irc. 1.5.30 x fixed a reconnect issue that would cause the bot to reconnect even if issued a quit. by default jIRCii will always go by its option.reconnect setting and if it's true, will reconnect anyway. = another small modification to help. allowed certain unparsed variables for display purposes. several updates made to the bot's command help information. = small change to help parsing. if you include a blank line in the help file, it will split the list in that location in a graceful way. you can use this to essentially categorize help information. ? there's a bug with either the script or the client where if the string the bot sends is too long, it will cut off for /notice, but will work normally if using /privmsg (by splitting the msg into multiples.) x fixed an owner+auth bug in cmd.irc with commands still being parsed even if not authed. =x fixed up and reincluded the weather.irc module for use. x replacenick fixed. += updated the statusbar and added a file in /docs/ that details everything in it. x fixed a weird mistake in CHANNEL_MODE set. x fixed bot_ignore in action code. = updated some readme stuff. x fixed some initial load bugs, if condition is first time running jerkbot. = added owner+auth to cmd.irc and made some changes in help information in the same regard. also added new cmd alias 'bots' for owners to show the bot listing. = to keep everything uniform everywhere, all commands either in public or privmsg will require the command character, no matter what. = major revisions in help issuance. help, uhelp, mhelp, ohelp and phrasehelp are now sent on only one line, and each item can be queried for additional help. a similar method has been used for everything in /settings/ and /database/. + new bot_ownerauth.db file exclusively for authorized access. so a user can be an owner but not be allowed access to auth-necessary commands. security update. x checks against file existing for phrases added (so it doesn't create a new file if you happen to misspell the filename.) = moved uptime command to cmd.irc module for greater flexibility. + added a tiny znc module to allow for autoreconnect when disconnected from znc. = fixed remnant errors of filename changes. 1.5.10 + added troll module. = renamed each of the files in /responses/. x issues with Pub_Resp_*_Triggers preventing it from responding if learned file contains nothing have been worked out. x fixed issue in public where unspecified commands weren't being executed if owner. x temporarily fixed a few unusual issues related to 'rand' filter_text() use and cmd.db strings. + mod_text() added to allow you to further annoy your channel. = modifications to help system and new !helpnick variable. x small fix to add_suffix() for situations in which the sentence ends in a parentheses. += added setting 'globalcc', used to either allow or disallow execution of commands in channels not listed in bot_channels.db. + 'string-from' variables added to cmd commands, ie: $2- as opposed to just $2. = consolidated help permissions checking to parse_help(); used by public/privmsg. = sr_public is now using iswm for matches, in case of want for wildcards. phased out rpmatch from bot percentages, as almost all control of how the bot reacts are left up to lines in the response files. = jerkbot is currently running pretty solidly. most things work, but there are still a few broken items to get worked out. = cmd commands are no longer listed in /jerkbot, as these commands are issued only from public or privmsg. in privmsg, cmd commands now require the command character: ie /msg botnick !8ball question? = quote matches now show quote number and total quote number in the output string; restylized showquote. =x fixed a few bugs in phrase aliases, some code squashing in reading of learn/match, and a bit of commented cleanup. + added op delay as defined by autooptime in bot_settings.db. 1.4.90 + commenting functionality has been worked out. to comment lines out of any file, use two pound signs '##'. x fixed critical issue in bantype if nick is not found in channel. x fixed /part and /kick aliases. they were not being handled properly. ? small bug caused after first loading/reloading script. Script Warning: expected iterator (@array or &closure)--received: $null at jerkbot.irc:2450 this happens only once, and the very first time there is activity. x after rewriting filter_text(), was able to fix /mln problems in r_public.db without too much effort. =x revised filter_text(), uses a different method to call specified functions within the subroutine, it currently includes: rand_items(), replace_vars(), parse_style(), replace_text(), replace_nick(), add_prefix(), add_suffix(), lower_case(), upper_case() proper_self(), proper_text() and sub or alias mln. (rand, vars, style, rtxt, rnick, apre, asuf, lc, uc, pself, ptxt, mln respectively.) = all critical jerkbot/jircii setting-based variables now moved to one block at the top of the script, no more search/replace if you're copying the file; just edit the values there. = jerkbot.irc and /rl will load and unload included modules along with it. to unload everything use /ul. + added a debugging system beneficial to those wishing to crush bugs. x fixed numerous bugs in several of the commands. ? working on getting commenting function working properly. x removed some unnecessary functions used throughout on public(). + new strings added for nickname timers. += you can now use multiple command characters (limited to 1 character per cc.) = $Act_Chan split into $Act_Chan/$Com_Chan for command usage specifically. ? filter_text() will be undergoing heavy revision.. there's too much wrong with it, so right now everything will be passed through without modification until it's revised. * replacenick has been renabled. x fixed an error in on public() - $thecmd should have been $parms for command checking. = !nick will advise you if the nick is in use now, instead of being silent. !newnick will try a different nick if the first is taken, but only once after. (uses a new $Last_Command variable for this.) = modified cmd.irc listings to consolidate types of commands, as well as only issue info if the user matches respective userlevels. fixed a small error within it as well. = renamed Pub_Resp*Trigger to Pub_Resp_Yes/No_Trigger and merged both types into single subroutines for less clutter. = updates to help information and aliases readme to reflect recent changes made. 1.4.70 ? do not use 'd' for days in staycurrenttime settings in bot_settings.db - it will cause a java error loop of "Timeout value is negative". stick to hours, minutes or seconds. + readded random public phrase timer. x newnick and nick will automatically change to something different if nick is in use. this needs to be vetted in the case of very small my_nicks.db so that it doesn't cause a /newnick loop. will also need to distinguish if command was nick or newnick, $Last_Command variable added for this. need to flesh it out. = consolidated access listings into one subroutine. ? need to work out way to add prefixes to usage of /mphrase in response files. this may be problematic. (may require turning mphrase aliase into a subroutine for better compatibility.) = minor changes in the reddit.irc module, mostly to no longer filter_text() responses that include urls (as they are case-sensitive.) x the long-standing "just learned repeat issue" has now been fixed. it was an easy fix, i just wasn't looking at the bigger picture. x fixed a few filter_text() problems (including second to last '?' item under section 1.4.50) working on fixing a few more. [note: this problem has returned, looking into it..] x fixed error in showquote with numbers larger than what's in quote db, for quotenumtoolarge and quotenumnotfound strings in strings.db. + all adds (including quote) now check for existing entries with new 'itemexists' string to signify, with the exception of addphrase, still working on that. = some minor changes in the cmd.irc module. x fixed doubling of commands in privmsg being issued to do lack of else statement in appropriate place. x randomized rolls no longer allow a 0 roll to trigger a response (sweeping change.) = several changes in file location in relation to the mods. all mods are now under each bot's directory for better choice in customization of scripts per bot; also, /mods/ renamed /modules/, and /db/ renamed to /database/. x fixed a path issue with a match_response() call. =x fixes and modification to matchremove code. see bot_settings.db for syntax. x fixed a quote bug with matching in public(). ? still working on a better help issuance. it works slightly better now as long as help isn't requested from multiple nicknames in a constant regard. = removed srv and did some additional code cleanup. 1.4.50 = minor changes in filter_text() subroutine and merging of two related learn/match data retrieval methods. ? disabled textreplace, as it needs extensive work. =x major modifications and additions to the way nicknames are replaced by adding the relevant code to filter_text(), which is used in all responses. x fixed critical issue in cmd.irc that allowed eval commands other than what's listed to be used, ie: "-roll quit()" would cause bot to issue a quit command. x fixed auth file issue. ? odd phenomenon of gen_pre/gen_suf entries appearing in the wrong places in responses. =x fixes to find* subroutines, they can now allow a user-set limit for channel display. the settings can be found in bot_settings.db. x several privilege fixes and edits. = exemptions specific to matching have been added. x fixed quote match text filtering. it shouldn't have been filtered. x gen* files can now use variables. ? need to completely revise add/rem/show/find commands to work properly with userlevels. + bot_ignore.db added, should you need to put someone on a full ignore. ? issue with multiline usage in r_public.db file only. for now i have removed all :: usage in this file. it does still work with the other response files. x fixed issue with $newstr not being set to $parms outside of replacenick block in public(). = removed matchwithlearn. while the idea was sound, it was a probable cause for issues. = better add_file() checks and balances. =x took a new approach to how help is issued and halted so it doesn't scramble everything up. a timer is now set to verify if help is currently in progress. when timer ends, help is available again. this is still a bit buggy, but is working well enough. 1.4.30 + added some new system variables and smoothed out load/unloads. = !PRE and !SUF variables are no longer used. all sentence prefixes and suffixes are now controlled by textprefix and textsuffix in bot_settings.db. += added userlevels to cmd.db - syntax is now to add the user level in all caps at beginning of line, delimited by a space, 2 @@ and another space. this is now required to add a userlevel to a command. = gen_pre and gen_suf now located under /settings directory. = moved non "settings" files to db folder, along with code in jerkbot, kept the three most likely edited files in 'settings' as these are actually the true settings files. = learnreplace renamed to textreplace and moved to read_bot_settings() so that the replacements are not actually written to the file, but rather pieced together from the read. + addition info in the statusbars, now shows when file is either added to or removed from in real time, multiple ways to keep track of db. =x fixed a multitude of issues in filter_text() with regards to matching. += addition of display learn and match settings, as well as modifications to the statusbar and reply string parsing and such. x fixes in filter_text(), corrected some issues with prefixes/suffixes. x fixed up some issues in the *Pub_Resp_* subroutines. = additional edits to statusbar. x fixed issue on public sub with channels not in database. = bit of cleanup done in other files besides jerkbot.irc. +=x addition of staycurrent* settings. these automatically prune your learned.db and matched.db files, removing the first item in each file multiple times over a period of time or with learning. balance here may be slightly tricky to get just right, but it is working in full effect, and pretty well. 1.4.10 + cosmetic and informational changes in statusbar. = small cleanups, minor edits to matching subroutine. = reversed user levels so 3 is now owner, 2 master and 1 user. x operinfo is now hidden from the settings help, this is something only the bot owner should be able to see and edit directly. = changes to several of the bot_settings function names. x fixed issue with lacking parfile() usage for learned.db. x fixed rand_match() filtering of quote file. + addition of checks and strings for filesize cutoffs. =x greatly improved password stuff. = minor fixes and tweaks in many of the set routines. += addition of several echo sets as well as complete style overhaul of echoes. +x internal check for rand_match() included. it will choose a random learned phrase if it does not find a matched one, and will no longer error. +=x addition of secondary and tertiary response percentages to go along with its initial reply. in bot_settings.db as extresponse1 and extresponse2. x several fixes to learn_match(), in particular, heirarchy and nickname allowance if replaced in public(). + added replacenick setting for choice of whether or not to replace nicknames in learned.db with !pubnick or !user. + new learnreplace setting added, allows you to replace specific words x fixed incorrect variable in public(). 1.3.90 x fixed duplicate removal code in learn_match(), along with some additional bugfixes throughout. = lowercase, uppercase, properme, replytoaltnicks, learnproper, learnprefix and learnsuffix in bot_settings.db have been converted to percentages as opposed to the original on/off toggles, for more control over how often or less they are used. = all response roll percentages have been raised to 200 for finer control over how often each response triggers. x fixed learnmatch on/off toggle to not be tied into learning but only learningrate in bot_settings.db += added learned.db to add function, for those times you want to quickly add something to it but don't want to edit the file directly. also did some various code cleanup in the script. = removed watch_words.db and all associated code. x fixed issue in phrase and cphrase aliases parsing. x fixed $r variable setting incorrectly in public() and publicme(). x fixed several issues with match_response() and rand_in_file(). = you can now use -quote *string match* to bring up a matching random quote, but it will not show the line number at this time. + addition of /listmatched command (like /listlearned). = better duplicate and overall handling of matched phrases. + added learn_ignore.db back in, found it was necessary under certain circumstances. = peppered more lphrase commands throughout sef's response files. =x modifications and fixes to bot enabled response/command sections in public(), public_action() and privmsg(). x fixed public_action()'s learn_something() to work properly. ? will be phasing out watch_words.db and also tying those into sr_public.db. = removed r_url.db, responses now tied into sr_public.db. 1.3.70 = /ex removed, /uptime now available. no good reason to use bash commands on irc. = weather and define modules removed. only cmd.irc and keybinds.irc are included and used now. x fixed sr_join code in rdfile() to match exact matches, not use isin predicate. i plan on revising the whole specific response section to work a bit better than it currently does. x fixed 'cmd list' problem and fcnicks issue in define module. = all cmd commands (add/rem/find/show) except 'list' are owner only, rather than master. cmd aliases are still available to anybody. = $time_authnuh reduced to 5 minutes by default. + convert_ticks() subroutine added, converts ticks fed into it into readable time output. using this for certain variables like !authtime and probable future variables. = help info was a bit outdated in the /docs/ files. = new setting replytoaltnicks to have bot respond to all nicknames in my_nicks.db or only its current nickname. x @quotelist is now populated at script load, so you can use the cmd.irc /qnum command that is included with the script without first using the quote command in the channel. = heavy revision and crunching of learn_match. much better matching, though it's still not perfect by any stretch. x find* * no longer returns the entire list of entries, and will in fact be suppressed.. necessary for files with large numbers of entries. = removed ping responder code in public(), added to cmd.db. = revised location of owner/master/user commands in public and msg to avoid clashes with commands. + added missing 'percentages' command in mhelp, and revise the style in all help a little. = bot now only advises if user is owner/master/user in msg commands, to avoid send to random ircer if they inadvertantly use a matching command in public. = !active changed to !channel in cmd.irc to match jerkbot's scheme. + userlevel from msg added to public as well. ? disabled all userlevel replies on public commands for now. there's a bug where the bot will msg a pubnick with a notin*list string even if the pubnick did not initiate a command. 1.3.50 x fixed a bug in cmd.irc when adding a string with multiple aliases, ie: /cmd1,/cmd2. x even more learn_match bug fixing, mostly involving how the addition is parsed. x fixed even more bugs throughout the script. x fixed several learn_match bugs. x removed botnotenabled, too much trouble with it msging users not initiating commands. x fixed match_learn to learn from users in learn_mandate.db rather than just anyone. = an authentication system has been added. it applies to several owner commands. an owner must first create a pass with '/msg bot addpass pass' and then authenticate with '/msg bot ident pass' to use these commands. + new flood control timer to keep nick/newnick spam from getting the bot k-lined. + updated learning echo so that it shows something meaningful. = responses/mr_phrase.db moved to settings/match_words.db and can now autolearn. use bot settings learnmatching and learnmrate to enable/disable or tweak learn rate. + added /mrphrase to return a matched response. + added vapor's ban system, bot now has access to multiple ban and kick functions. this includes default bantype==3 in bot_settings.db. = joinoninvite now requires user initiating the invite to be on the bot_users.db list or better. =x removed nolearn, learn_ignore.db and related as it was superfluous now that host is required in learn_mandate.db to learn from. also, 'yeslearn' renamed to 'lhost' for learn host and 'learn' renamed to 'lword' for less confusion among learning code. =x fixed some owner public commands, they were using the wrong variable in var match list; along with some minor tweaks and !authtime addition in the authentication system. x assigning msg $nick to $Act_Chan on msg will ensure any msgs are sent back to user rather than the channel (except those used in strings.db, which are configurable there.) = when the bot is address for general chat, it will prefer 70/100 for a learned match response over an r_publicme response. i'll tweak this if i find problems. x fixed cphrase, forgot some spaces. 1.3.30 =x help greatly revised. = enhanced flood control. x did some thorough code cleanup and 'gremlin' zapping. = beefed up 'on invite', only users in userlist x fixed learning of nicknames in public_action. = restructured tiered user permissions to be more accurate, and much tighter. any commands not specifically referenced in jerkbot.irc will not be honored. unfortunately this means that you can no longer use any jircii command unless you add it to the script, however, the security this offers is unquestionable. x fixed broken bot replies when addressed directly or by name in my_nicks.db. x fixed command character issues in cmd.irc. (i should slap myself for this one!) = moved cmd.irc to bot directories. each bot should now have its own cmd.irc script. you still have to load it in jircii, just remember to load the correct bot's cmd.irc file. x fixed incorrect command character being used for help. + added match response phrase replies, but still not working just yet.. =x phrase, lphrase and cphrase are now usable for either current or specified channel and now for nicks as well. removed mphrase, phraseall (and also nphrase as it's not of real use.) = learning now replaces a recognized user's nickname in channel with either !pubnick or !user. x fixed multiple instances of certain commands in public. 1.3.14a !! after having completely wrecked jerkbot over a period of 3 months (all the way up to 1.3.24), i had to revert back to 1.3.06a and now i must essentially try to _properly_ recreate the many changes i've made over this time. so, to start, i've re-added a fixed help which is msg only this time, and will continue to institute changes i made prior into this version that i know work correctly. x some quote scripting issues fixed and modified. ? major problems with help, if a user speaks in channel while help is being issued, bot will issue to last spoken nick. working on resolving this. for now, help is entirely disabled. = small modification to jerkbot's cmd.irc aliasread_db() code. = several edits to string handling in response code. = small tweak to learning and nickname replacement. = joinall/partall commands now requires owner privileges, and join/part requires master. several more commands have also been regrouped into more appropriate user levels. standard channel op commands now require op status. = command character is now file-based. allows flexibility with the cmd.irc script. drawback here is that you can no longer set it publicly, but that's not something that should be changed except by owner, anyhow. = hardened cmd options based on user level in bot. add and rem are bot owner only, show and find are master and up. x ditched linktitle.irc for now. will rewrite it. x fixed (hopefully) bot's response halt to quits in channels that are not in its bot_channels.db file. = all modules now echo load and unload in jerkbot's style for consistency. ! modules that are working as intended currently: cmd.irc, define.irc, weather.irc and keybinds.irc. the seen, translate and linktitle mods are still in progress. + modified my cmd.irc script for use with jerkbot and will be included with release. x fixed up some issues with help again. should all be working as intended now. 1.3.10 = moved module code to location that does not require channel to be bot channel. x fixed up define.irc pretty well. weather.irc now has strings to signify if trouble locating city for whatever reason, but it's still breaking other commands. x re-fixed issue of no display of string regarding unloaded modules. = moved learnprefix, learnsuffix and learnproper to script itself rather than learned.db. sentence modification on read is now performed through filter_learned(). x fixed learnexempt and learnremove. learnremove is still a little dicey right now though. = r_m_operdesync renamed r_m_desync. x fixed issue with rpjoinme, bot now does self join responses again as normal. updated files. ! each mod needs more work before being put to general use: weather is breaking everything else after, define is missing strings, translate only translates one word at a time, linktitle is unfinished. the keybinds script is the only one working properly! = renamed /modules/ to /mods/ - if you had those scripts loaded, unload and load them from the updated location. = streamlined and moved module code in jerkbot.irc over to each module. only one line needs to be defined in jerkbot.irc at "#### custom modules" to add a new module and an optional custom string. (add string to the bot's strings.db file for modules and just reference that line name in jerkbot.irc.) + added module strings to let users know if a module is not currently loaded. x ditched calcsyntax.. for some reason too much trouble to get working properly. + added a define module. it's not perfect but it mostly works. it can be invoked with $cmd_char + d. = changed default command character to a period. + included a weather 'module' for use with jerkbot. found in /modules/. load it into jircii as you would any other script. it can be invoked with $cmd_char + w. + cphrase command added. like lphrase but shows only created phrases. x had neglected to add 'settings' and 'strings' to jerkbot's msg subroutine. + re-added learnremove. second attempt hopefully successful. = small changes to learning behavior and finishing up of public vs action learning. = changed bot owner to be exempt from help info flood timer mechanisms. 1.2.90 x learning no longer requires channel to be in bot_channels.db (along with learn_channels.db) as long as channel is in learn_channels.db and user to learn from is in learn_mandate.db, the channel and network is irrelevant. = beefed up command recognition and help timers a bit. x fixed up public_action learning a bit. =x several bug fixes and edits to how commands are handled with the new change. = 'cmd' is no longer used for public or private bot commands, just use the command name with the command character first. x bot will autoop users with those privileges if it is opped first. = /set is now /jerkbot and all 'set' commands have been changed as well. + you are now able to issue !settings and !strings to return information in these files. i plan on finally rounding out settings and strings to include file editing as an owner or master. =x complete revamp on how the bot handles responses. in order of preference, it will respond to: direct addressing, sr_user and/or sr_public (50/50 roll for 'and') then watchwords. + added autoopmasters and autoopusers to bot_settings.db. = in a classical stroke of stupidity, i overlooked the fact that owners are above masters in the bot world. i have remedied this. = several events now require the target channel to be in bot_channels.db to take effect. if you want the bot to operate fully, make sure that the channel its in is also in its database. = moved learning code to seperate subroutine. now learning is solely dictated by either learn_ignore.db or learn_mandate.db meaning that it will only learn things from hosts listed in mandate or refuse to learn from hosts listed in ignore. it will no longer learn from just anyone anymore. x some bug fixes in phrase parsing, edits in $Pub_Resp_No_Event and addition of cmd lphrase to show only learned items. cmd phrase still can show both added and learned. = trying to work out method to assign specific percentages to lines in the specific_response files and if it exists, use that percentage rather than the one from bot_percentages.db (currently testing sr_word and it's not working so well... should work in theory and it echoes the correct shit but ?) x more fixes to help and command responses. x fixed small /ex issue, mispelled 'iswm'. = ping responses from the bot will parse time into seconds rather than return the raw string. 1.2.70 ? there's a small bug where if using a find* command from the console, if only one line is found it will not return anything. this doesn't happen if it's a public find command however. x fix to parse_conscheck(); was not returning file line as directed by helpsend but instead would echo some responses. + added check for use of /eval - only masters can use this. = removed a few outdated arrays. + added lchan (learn_channels.db) for channels it will learn in to replace bot_channels.db. = commented out mandate code for now, this is very tricky. ? in the process of working on learn_mandate.db code (would force learning from specific hosts and ignore all others.) + help timer added requiring time to pass before issuing help to same user again (default 25 seconds.) = split !userlist into !ulist, !olist and !mlist as result of flood controls. + added timing controls to help responses to prevent flooding (2 seconds per line.) x fixed $checkifcons issue of displaying first item and echoing the rest. now setting true for on input for echo and false for public, privmsg, etc. x attempted fix on console checking to match whether an outside user or internal command initiated the response. still needs testing. x addition of $Pub_Resp_No_Event initialize on script load to load it with data right away. = bumped up default phrase time an hour. = removed dash from parse_nuh_mask() to work with nick/user names that are hyphenated. ? there's an issue with response percentages and fireEvent used in mdpar() in jerkbot/jIRCii for windows os. for some reason it doesn't work properly and instead jerkbot responds no matter what the percentages for mode changes are set to. this doesn't happen while running jerkbot/jIRCii in linux, however. x file reads on windows os wasn't properly handled, should be fixed for the most part. x retightened response base to stop replying so many times to one sentence. = small edit in calc command to work better with negative values. + added internal global echo subroutine. 1.2.50 + added some standard keybinds to make jIRCii more navigation-friendly. + added !jver, !sys and !sver variables for various version and name info; also fixed format.txt's !rvnum to !ver. = learning from a channel now requires the channel to be in bot_channels.db. this helps stop inadvertent learning. (this has since been moved to learn_channels.db.) =x lots of cleanup and some smaller fixes within the 'on public' event. things should be working pretty well. = made some progress in bot command recognition using either the cmdchar or the bots name, should work for all commands now. = omitted raw from the command issues, it's not really necessary considering jerkbot runs in an irc client. ? 'botnick, stuff here' seems to work in all but 'botnick, cmd'. so, it sorta works. x fixed issue that initially appeared when first setting up learning code for string matching. = autoopowners now requires the channel to be matched in bot_channels.db. if you want to use this feature, be sure to have your channels in the database. just use !cmd addchan #name. + added the learned.db to rem, find and show. + added ifwordnolearn to filter out learned.db additions if word is matched. (since been removed due to issues.) + added various filtering conditions for learned sentences. x fixed issue with !expr in calc. x= commented out the multi-mode events for now, they're causing spam flooding. x reworked join event section to hopefully stop the join flooding responses for multi-channel joins. += update on help system, you can now change "helpsend" in bot_settings.db to choose how to reply help. it can be either privmsg, notice, or channel. = made a way to allow use of before and after spacing when using addlearn or addwatch; instead of a space, use an asterisk. all default files updated with these changes. 1.2.30 = split up the help msgs to greatly decrease help spam. x fixed an issue that cropped up in the showphrase() sub. = tightened public responses. learned responses will now take precendence if you have words or phrases that match in both watch_words.db and learn_words.db + added auto ops for owners. option in bot_settings.db. + added ban enforcement. option in bot_settings.db. = moved partall to owners. + started 'learning' additions. it's pretty simple right now, but will be expanded upon. + added a calculator for the general populous. = changed setting replies to commands as well, like the other files. + list commands will now open in a new status window. x fixed Illegal group reference issue in rand_items(). x fixed sr_word word==phrase recognition issues. also, case no longer matters. x fixed several issues with the on msg() handler, cmd and raw should be working properly now. x checks status of enabling for bot on/off setting. ? i'm attempting to integrate personal public commands, like "hp, cmd join #channel" along with the usual command character. it's not really working at the moment though. = ".db" no longer needs to be added to the filename when using phrase commands. = names shortened on many of the response files. + showphrase now has a -p flag, allowing you to return the line completely parsed. x made some bug fixes to the newest add/rem/show/find/list commands. = moved $oper_info to bot_settings.db file as well, also removed !operinfo (unnecessary var.) 1.2.10 = moved $join_mode in script to bot_settings.db file. = split usage.txt into format.txt and aliases.txt. = small fixes and arrangement changes made, new help added regarding the new commands. + several new commands added for modifiying most of the rest of the files in the settings directory. renamed old owner/user/quote/phrase commands to maintain consistency. x tightened control over $pub_nick internally so it doesn't make so many mistakes such as saying something to the wrong user on an event. ? multi-line isn't really working well in the sr_* files at the moment. = never really thought about it since i'm used to using a period, but the default cc is standard ! now. x issue with deopering on hidehost is fixed. = flood suppression targeting more exact. does not flood count unless commands are used. also with lower response percentages, floods naturally don't have an effect on jerkbot's public responses. = default flood suppression time has been changed to 2 seconds. = moved $addtop_sep to a setting called "addtopsep" in bot_settings.db file for versatility. = truncated most of the response filenames for less typing when editing these files from irc. = moved laughs to the spec_resp_pub_words.db file, no point in having watch_laughs.db file. = multiple items can be used on the spec_resp* files now, seperate them by a | pipe. + added interval timer to each nickname initiating a bot response in public to inhibit flooding. + added opsareusers flag in settings to allow ops 'bot user' control without having to be in the bot_users.db file + added a phrasehelp command to msg bot owners how to manipulate the phrase files. x filtering of all phrase commands included for response_general.db to prevent loop exceptions. x small fixes to specific responses; stops regular timer if specific instance is found. affects joins and public. + added lphrase to list all phrases in an echo.. forgot to add it originally. 1.1.90 = minor cleanup and minor changes. x fixed /set on and /set off to work properly, for the most part. it turns on twice when used publicly. strange. x while implementing the phrase manipulation code, i modified read_db_file() to filter out lines that do not have content, except in the prefix and suffix files. += you can now show, add, remove and search lines in each response file with public commands. you no longer need to edit the files themselves. see the usage.txt and phraseinfo.txt files for more information. the only issue i've found with this currently is spacing at the end of strings not being included, for example if you add a line like this: "!cmd aphrase general_prefixes.db so, " which includes a space at the end. it won't have the space in the file when it's added. i've disabled manipulation for the prefix and suffix files for now. x fixed small issue with properme and 'I's in certain instances of word spacing. = revised the user and owner lists to accommodate for the new host masking method. = overhaul of usermask code to provide for extended flexibility. you can now not only use just a username, but an entire mask for added security. the mask matching isn't your standard method however. it uses the same method i wrote for otto.irc. refer to the readme file for more information. = removed code and files pertaining to being /killed. i haven't figured it out yet. maybe in the future i will. + new setting joinoninvite added. ? need to get around to adding flood checks for several commands. = removed /hidehost from /set bot so as not to rustle any irc operator's panties. + new file bot_master.db added. topmost authoritative level for certain bot commands and functions. some of the previous owner functions have been moved to master only. you should add ONLY your username to this file. while adding this code, found and fixed issues with privmsg issued bot commands. = in a ridiculous oversight, i forgot about jIRCii's built in ignore function, so i removed it from jerkbot. just use !cmd ignore/unignore nick!user@host or msg the bot the equivalent command to ignore or unignore users. + new commands to add/remove users to the users and owners files. = settings and percentage files follow same delimiter of double-equals now rather than a single equals, just in case you decide to use an equals sign in the actual reply as well as for a more uniform setup. = scrapped the proper sentence thing in leui of an easier solution. if you want your bot to use proper sentences you'll want to make it that way in the db files, and can instead set a flag to make everything lowercase if desired. also added upper casing in case you want your bot to be annoying. = did a bit 'o code compression. it looks a little ugly in there but less lines are used. = moved item randomizer and item replacers to own subroutines for less code and more placement options. you can add variables and randomized items to the quote settings in the bot_settings.db file now. x fixed findquote oversight with lowercase matching. thanks ian! 1.1.70 x additions to bot_settings.db for quote system to personalize it by bot. x integer overflow check added to quote #. + mphrase and nphrase added. allows you to send a privmsg or notice phrase to specified or last active user. x Pub_Resp_Nocom() now handles multi-line commands much more gracefully as long as they're /msg commands. any multi-lined /msg commands will be joined together into one phrase. this particular subroutine is used for phrase commands and automated phrases the bot uses during things like self-parts, self-quits, kicks and kills done by the bot if there is no string, or if msg'd or noticed by a user as its reply. basically it grabs a random string from the response_public.db file. it's not advisable to use anything other than /msg as the command, otherwise it might not have the desired effect. '/eval $null' is acceptable and will be filtered out when matched. x quick fix for quote commands to not initialize unless used properly, ie: at beginning of string. = cbot renamed to jerkbot, more fitting for the client it runs on. ? apparently i didn't finish bot ignore code in some events. it's been completed. = small update to quote display, shows total number of quotes along with quote number. =x attempting to fix floods when a netsplit occurs. the code was already implemented into the part event. added a flag in the join and mode events to recognize if a netsplit had occured prior. x fixed some weirdness in the nick change section as the percentage integers werent't being processed correctly. + added the simple ROT13 translator as found at http://sleep.dashnine.org/manual/tr.html. x fixed remquote, and it is now available to bot owners. x fixed a broken reply in showquote. = changing bot no longer requires directory name. i originally wrote it that way in the possibility that the /bots/ directory name might change. now all you need to do is specify the bot's directory name. + added a quote system, based on phos's. rquote is currently disabled until i work it out. = default bot renamed to 'sef'. it needed a name. + added properme setting to capitalize 'i' when referring to self. x fixed ctcp reply and /sv issue. + added subroutine to refresh the 4 main activity timers for events 'reload' and 'set bot'. 1.1.50 + added a bot_settings.db file to slowly add various features over time. thus far added are propersentences (buggy, leave off), randpublicquote, randnickchange, randchanjoin and randchanpart. ? the timers for each of those rand* settings above will need to remain in the script. it's tricky to read global variables like that from a file whenever events occur; it either causes flooding or simply does not work as intended. x removed possibilities of responses other than the ones desired for anything that involves a public bot command. = beefed up scrutiny for the 'ex' execution command. it doesn't cover everything, but it does address some of the more important shell commands. = cbot will now hidehost and newnick on 'set bot'. = edits to some echo stuff, mostly in the ctcp area. =x modifications made to placement of certain conditions in the response events section to streamline the code a bit. = set on/off is available to owners. x removed some unneeded code in most of the script's response events section. = split rpspec into specific response items (rpspecwords, rpspecusers, rpspecjoin). each response now has its own percentage and response time. = internal modifications to naming. + added global on/off for cbot. this can only be set directly at the client. + added some additional dialogue to /bots/cbot/. x fixed issue with resolving channel during quit event, but rdfile("bot_ignore") is not working correctly in this area. = removed several variables that $act_chan replaced. = my_versions.db is now my_ctcp_replies.db and you can set any kind of ctcp reply you want as a response. if a user sends a ctcp that is not in my_ctcp_replies.db, it will reply with a random phrase. =x rand_user_my_friend() is now rand_user(); modified to be more robust and less prone to error. + added time variable system from vapor.irc with some modifications to allow for more flexibity. = removed some more unused and commented code. = slightly compressed pubresp_nocom(). =x removed excess code on quit event, removed array modification used specifically in that event. + added rppubspec for specific responses. now standard public, events involving bot and specific responses each have seperate percentage settings to allow for a more robust response system. = several cosmetic edits, mostly for /set. = moved general_prefixes.db and general_suffixes.db to responses directory, got rid of items directory. += split rppub into rppub and rppubme, seperate response percentage and timer for words involving botnick or nicks from my_nicks.db. plan to split it further for specific response files eventually. x seemed to fix the multiple responses in a multi-mode situation (op and deop specifically.) = changed response_questioned.db to response_publicme.db for clarity. x fixed some problems with nickname changes. x some additional edits to deal with certain errors in the script. = moved my_versions from rdfile() to parfile(), removed !botversion x fixed double comment on joins. x fixed rpnick and rpnickme; they were backwards. = release will only include the 'cbot' bot. = minor code cleanup and db file edits. = modified <<>> multi-choice string items to use "|" as the delimiter rather than "," as a comma is fairly common and this gives less room for issues. + added comments to chpart random parting. + you can now use double angle brackets "<>" to choose random items directly in the response files. i have removed several items from the script itself and reconstituted them into the response files. the changes across the script are drastic; most item files and some large blocks of code have been removed. x removed a duplicate response_url from rdfile() x fixed broken addtopic function. = updates in the readme file, split info into readme.txt and usage.txt. x fixed some egregious issues with the ex (exec) command for linux systems. = version edit. - removal of checking for non-exact matches in spec_resp_pub_words.db - for example "hello.", "hello" and "hello?" can now each elicit different responses exactly as matched. (this is also case-sensitive.) = modified spec_resp_pub_words.db file reading to also work with phrases as well as single words as before. = minor edits, help file updates, default setting updates. = removed the send_notice function, it was a relic of the old script and kind of pointless. x squelched the aformentioned "*** NICK==/CMD Unknown command" errors. 1.0.10 + added my_realnames.db. = renamed 'bob' to 'cbot'. ? move timing settings to db file. = percentages.db is now bot_percentages.db for uniformity. + added partall command to part all channels bot is in. + added botuser check to help and userlist commands. = removed $dbd and $bot, setting these vars at script load wasn't helping when changing bots. now script uses property "cbot.db.dir". + added !rvnum var. shows cbot.irc version number. ? fix _public() to choose either watch word response, specific pubuser response or specific word response based on conditions. (currently replies to all conditions and causes a small amount of spam.) ? fix "*** NICK==/CMD Unknown command" issue caused by the specific response files. BETA +=x tons of work getting this thing set up from alpha and beta stages. originally written as a simple bot to 'emulate' a person i knew of a long time back, i went ahead and turned it into a legitimate chat bot with features. //EOF