summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-11-25rss: watch handle case during renameGiuseppe Bilotta
We allow rss handles to be of any case on creation, even though matching is case-insentivie. However, when renaming an rss using 'rss change handle' and only changing the case, two things prevented this from working correctly: * since the new downcased handle was equal to the old downcased handle, the bot would prevent the renaming due to the existence of the new handle * the new handle was forcefully downcased, preventing the user from renaming handle 'case' to 'CaSe'. Fix by checking for this case explicitly, and handling it separately.
2010-11-25remind: fix presence of 'in', 'every' or 'at' in messageGiuseppe Bilotta
if 'in' was present in the message but not part of the time specification (e.g. because the specification was with 'every' or with 'at'), the parser would fail at the first attempt (look for time after 'in') and fail unnecessarily. Fix by trying all possibilities and only giving an error if none succeeds.
2010-11-18rss plugin: don't fail when feed.last_success is nilGiuseppe Bilotta
The first_run check comparing the time delta from last success failed when feed.last_success was nil. Prevent this from happening by checking if we are on the first run before the rest of the checks.
2010-11-09imdb: fix title regexp for missing second dateGiuseppe Bilotta
2010-11-08UNO!: fix g9r9 fixGiuseppe Bilotta
Commit a306b2c68eb58c1c88057ff7ee78895401adb6a9 introduced a fix to prevent a player from playing something like g9r9, but the fix actually prevented any single-card play. Fix by making the \1 optional.
2010-10-31urban: fix regexpGiuseppe Bilotta
2010-10-19uno plugin: don't allow g9r9 card specificationGiuseppe Bilotta
The regexp should make sure that the second card is equal to the first specified card, instead of matching the card expression one or two times. Otherwise, a play like 'pl g9r9' would be accepted when the player had two r9 cards and could play them. This is only a aesthetical change because the plays would still be valid, albeit (1) surprising and (2) mismatching what the user actually wrote.
2010-10-14translator: don't show providerRaine Virta
2010-10-14imdb: restore 'character of' functionalityGiuseppe Bilotta
2010-10-14imdb: update to latest htmlGiuseppe Bilotta
2010-10-14search: gcalc fixGiuseppe Bilotta
Google changed their HTML again, breaking gcalc. Fix by using the WAP search and get the first result if it contains an equal sign.
2010-10-14safe_exec fixesGiuseppe Bilotta
Some plugins (ri, fortune) wrap safe_exec in begin/rescue blocks that did not get triggered because the exceptions from the execution were caught in the popen block (and would never get exposed anyway). Fix this by raising if $? does not indicate success.
2010-10-14dictclient: monkeypatch DICTErrorGiuseppe Bilotta
The Ruby/DICT library is so tightly coupled with the rdict client that its errors exit on initialize, instead of letting the lib user do that. This makes those errors untrappable from the code. Fix by monkeypatching DICTError to just act like the other exceptions in Ruby.
2010-10-12youtube: fix detection of video pagesGiuseppe Bilotta
2010-10-06TokyoCabinet #fwmkeys() expects a stringGiuseppe Bilotta
Convert the (optional) first argument to #each*() methods to a string to ensure the calls work as expected. This fixes a problem with @registry.each not working as expected, and although it would have been sufficient to convert the default for the first argument from nil to the empty string, the approach implemented by this patch is more robust overall.
2010-10-06TokyoCabinet: upgrade from BDB using case-insensitive treeGiuseppe Bilotta
2010-10-04DBFatal at load time deserve special treatmentGiuseppe Bilotta
Don't trap them, rerise and let the bot handle them
2010-10-04time plugin: properly reset TZ in on_timezoneGiuseppe Bilotta
2010-10-04poll: suppress warningGiuseppe Bilotta
2010-09-30compat19: fix condition monitor waitingGiuseppe Bilotta
When timing out during a wait, return false instead of raising. This fixes a problem with TimeoutError being raised during restarts on ruby 1.9.x
2010-09-30Revert "markov: removed unnecessary mutexes"Giuseppe Bilotta
This reverts commit 06485aeb187dde5e81204b06c8e956e7e035c323. The mutex is necessary because of the concurrent learning and database conversion. Some other approach should be used instead (e.g. skipping the mutex if not running a conversion).
2010-09-30IRC framework: Server#to_s must always return a StringGiuseppe Bilotta
Having Server#to_s alias the hostname would cause problems when the hostname was nil (e.g. after a disconnect). Fix by making sure that to_s always returns a string instead.
2010-09-30* more BDB leaking fixedGiuseppe Bilotta
2010-09-28twitter: fix status countGiuseppe Bilotta
2010-09-27* wrap BDB::Fatal classes for abstract trappingGiuseppe Bilotta
When using a DB backend different from BDB, the BDB constant may not be defined, causing a NameError during error trapping in the main loop. Fix this by defining our own DBFatal error that maps to BDB::Fatal in the BDB case and is defined as an (unused) Exception for TokyoCabinet.
2010-09-27time: support POSIX timeGiuseppe Bilotta
2010-09-24Check BDB version only if it's loadedVoker57
2010-09-24TokyoCabinet: more BDB checksGiuseppe Bilotta
2010-09-23TokyoCabinet: only warn about skipped upgrade if the old reg was foundGiuseppe Bilotta
2010-09-23TokyoCabinet: fix extension in 0.9.9 upgrade pathGiuseppe Bilotta
2010-09-23TokyoCabinet: 0.9.5-to-0.9.9 must use BDB onlyGiuseppe Bilotta
When upgrading from 0.9.5 data, write the 0.9.9-style regisitry using BDB still rather than trying to use TokyoCabinet already. This makes sure that the next step (0.9.9 to modern times) works correctly. (Moreover, the existing BDB-to-TC attempt wouldn't have worked anyway due to wrong var names. I doubt anybody will ever hit this path and notice though.)
2010-09-23translator: stricter url mappingRaine Virta
2010-09-23time: be consistent with <Continent>/<City> notationRaine Virta
2010-09-23translator: url translation through googleRaine Virta
2010-09-23time: use "time zone" consistently in repliesRaine Virta
2010-09-23lastfm: fix set user suggestion replyRaine Virta
2010-09-23time: update helpRaine Virta
2010-09-23tumblr: typo in var nameGiuseppe Bilotta
2010-09-15tumblr: support tagsGiuseppe Bilotta
Tags are specified on the IRC line by putting them between square brakets.
2010-09-15tumblr: embed Vimeo videosGiuseppe Bilotta
2010-09-15tumblr: adjust TODO listGiuseppe Bilotta
2010-09-15tumblr: support reblogging and fix HTML issuesGiuseppe Bilotta
Detect tumblr posts and use the reblogging API to post them. Also produce HTML-escaped lines for video and photo captions because the format=markdown specification doesn't seem to apply to them.
2010-09-15twitter: warn about failed authorizationGiuseppe Bilotta
Fly-by whitespace cleanups too.
2010-09-15twitter: report missing key/secret configurationGiuseppe Bilotta
Instead of failing (silently) when the OAuth process cannot complete due to a missing key/secret pair, report the issue to the user.
2010-09-10twitter: let user know when no status was foundGiuseppe Bilotta
2010-09-10time: calibrate to user's timezone when parsing time inputRaine Virta
2010-09-10time: add timestamp parser as a fallback to the default functionalityRaine Virta
2010-09-07twitter: don't fail on missing oauthGiuseppe Bilotta
When OAuth is missing, some barebone functionality in the twitter plugin is still available (namely, status reading from public timelines), so don't fail loading and just warn the users and admins about the reduced availability.
2010-09-07twitter: bugfix for invalid OAuth PIN EntryNeoLobster
There was a bug in "twitter pin" functionality where it didn't check to verify that the PIN entered by the user was valid. As a result, if the user entered an invalid PIN, the bot would not respond as to whether or not twitter account binding was successful. I replaced it with an error message if the PIN is invalid. I also changed the error message for someone who tries to enter a PIN without first using "twitter authorize" to be more clear.
2010-09-07twitter: add OAuth supportNeoLobster
Module now requires twitter.key and twitter.secret config parameters for write access and private users' statuses. Added twitter authorize, twitter deauthorize, and twitter pin features, removed twitter identify feature, as basic authentication is no longer supported.