Commit graph

  • 11b2853832 post_data -> get_params jesopo 2020-03-09 00:04:08 +0000
  • 46dcf0e6c2 URL -> shortener_url jesopo 2020-03-09 00:02:45 +0000
  • b3a18da182 _call_shortener should take 2 more args jesopo 2020-03-08 23:59:31 +0000
  • 0cdd3d5b6c urllib was meant for yourls.py not shorturl.py jesopo 2020-03-08 23:58:24 +0000
  • 042688ce77 add urllib import jesopo 2020-03-08 23:56:00 +0000
  • 843d9fb77f add (as yet untested) Your Own URL Shortener support in yourls.py jesopo 2020-03-08 23:34:54 +0000
  • e41ea90c62 support extended url shorteners that take server and optional context (channel) jesopo 2020-03-08 23:34:22 +0000
  • d4ce93cf84
    Merge pull request #251 from fndax/issue-210 jesopo 2020-03-08 22:16:55 +0000
  • c965a7860a Make !words work in PM Dax 2020-03-08 22:06:14 +0000
  • 1da222794c args_split[0] -> user.nickname (seen.py) jesopo 2020-03-08 21:42:31 +0000
  • fc0b5eb46e switch inactive_channels.py settings to be days, defaulting to None (no prune) jesopo 2020-03-08 21:38:13 +0000
  • f571bebeee event["line"][1] -> event["line"].args[1] jesopo 2020-03-08 20:49:24 +0000
  • 481d6b9be6 move bitbotctl call to after starting bitbot jesopo 2020-03-08 19:45:11 +0000
  • d8d9a90f11 use ban-mask export in badwords.py jesopo 2020-03-08 18:45:57 +0000
  • d5d097d8ee give str(Exception) when webfinger fails jesopo 2020-03-08 18:45:15 +0000
  • 142d181048 tolerate a server not having a host-meta jesopo 2020-03-08 18:43:49 +0000
  • 13943e84a2 check if message isn't None, rather than falsey jesopo 2020-03-08 15:12:21 +0000
  • 1d384dfd8b move _get_hostmask logic out in to banmask.py core module, for reuse jesopo 2020-03-08 14:14:34 +0000
  • 49d9cbdb87 exports.get_one() -> exports.get() jesopo 2020-03-08 14:14:00 +0000
  • 69be51e502 add space between command and usage string jesopo 2020-03-06 07:25:38 +0000
  • 1654fafd7e default inactive_channel.py timer to 4 weeks, not 2 jesopo 2020-03-05 13:50:59 +0000
  • def6eb0ac3 handle RPL_VISIBLEHOST (396) to catch our hostname (maybe username too) changing jesopo 2020-03-05 11:23:39 +0000
  • c0947b066d we don't need +=1 for "new arg space" because we're pushing on an existing arg jesopo 2020-03-05 11:15:37 +0000
  • 1c09f7c854 add a flag command spec type jesopo 2020-03-05 10:41:05 +0000
  • e8388a28bd INVEX numeric puts mask at index 2, not 3 jesopo 2020-03-05 10:38:43 +0000
  • 2dfaa7e162 KMh and MPh changed to km/h and mi/h jesopo 2020-03-04 14:27:48 +0000
  • 262e3e512d ban-format-account is no longer relevant jesopo 2020-03-04 12:03:47 +0000
  • f469a4e347 use codecs.iterencode() to generator-style iterate encoding a string jesopo 2020-03-03 11:44:00 +0000
  • 7bf0b6edbf rewrite command output truncation jesopo 2020-03-03 11:15:00 +0000
  • ea87013249 refactor perform.py jesopo 2020-03-02 14:54:19 +0000
  • 9dfbe3723c v1.19.0 release jesopo 2020-02-29 22:39:52 +0000
  • de8bb22ffa change !seen to command specs jesopo 2020-02-28 22:57:16 +0000
  • 078d8ecd6b less-than-1.0 should be to_pretty_time "0s" jesopo 2020-02-28 22:56:45 +0000
  • 7dea6f04a9 include !command in usage output jesopo 2020-02-28 13:56:56 +0000
  • 881aaa90a2 v1.19.0-rc3 jesopo 2020-02-28 10:06:02 +0000
  • 8b4b600f4b change relay.py to use command specs jesopo 2020-02-27 18:06:06 +0000
  • a4a28c779e show usage strings when spec parsing fails jesopo 2020-02-27 18:03:21 +0000
  • 932d596660 if there's more than 1 error message, give generic error jesopo 2020-02-27 18:00:13 +0000
  • 8c9bfe9a2d insert decorator kwargs because decorators are run innermost first jesopo 2020-02-27 17:58:06 +0000
  • c3720ce4fa by default, do not prune inactive channels we have modes in jesopo 2020-02-27 12:37:25 +0000
  • 4d38639742 allow individual channels to opt out of inactivity pruning jesopo 2020-02-27 10:33:15 +0000
  • 5a78f03aa7 v1.19.0-rc2 jesopo 2020-02-27 10:11:37 +0000
  • 7293243429 fix type hinting issues in send_modes/send_kicks (IRCChannel) jesopo 2020-02-27 10:09:28 +0000
  • 74b53f1765 add !badge show <name> jesopo 2020-02-26 21:02:10 +0000
  • d24442587c prefix can be None - null-coalesce it to empty string jesopo 2020-02-26 17:38:00 +0000
  • 02e734824f move accept_invite.py to core modules, default to not accepting invites bot-wide jesopo 2020-02-26 17:30:56 +0000
  • f82e3536f0 move bot_channel.py to core_modules, default to no bot channel jesopo 2020-02-26 17:30:36 +0000
  • 5be9450628 commands module no longer relies on pemissions module jesopo 2020-02-26 17:21:36 +0000
  • e485632359 kick bitbot last if he's covered by !kick/!kickban jesopo 2020-02-26 17:15:35 +0000
  • 6c5258d037 v1.19.0-rc1 jesopo 2020-02-26 16:49:52 +0000
  • 725c1d3bfa masks should be a list, otherwise we iterate a string jesopo 2020-02-26 16:47:30 +0000
  • fef1c47626 support !aban and !akickban for account bans jesopo 2020-02-26 16:46:39 +0000
  • 192bcc27c2 fix typo in v1.18.2's CHANGELOG entry jesopo 2020-02-26 13:39:52 +0000
  • 7ebad30c2f convert & in sed to \g<0> so python handles full-match replacements jesopo 2020-02-26 13:26:06 +0000
  • e84c75e266 update CHANGELOG.md jesopo 2020-02-26 11:08:00 +0000
  • d39babf0b5 only call internal.identified when an account tag is first seen jesopo 2020-02-26 10:28:36 +0000
  • 5608c1cdc7 show !g snippet when available, title when not jesopo 2020-02-25 16:50:17 +0000
  • 1ecbacefc2 send_modes takes list[tuple[s,s]], add !down, !deop yourself last jesopo 2020-02-25 14:27:15 +0000
  • a1dd8dd22f !op/!deop and !voice/!devoice should assume own user without args jesopo 2020-02-25 11:45:55 +0000
  • d3711a639f only voice/op people that dont have it already jesopo 2020-02-25 11:32:40 +0000
  • a3ffc70bbc send KICK in max chunk of 4, MODE in max chunk of 6 jesopo 2020-02-25 11:29:02 +0000
  • ee9415daef unmode timer should use send_modes jesopo 2020-02-25 11:25:51 +0000
  • 5ebcb9582d add !invex, refactor all channel_op mode-type commands jesopo 2020-02-25 11:19:12 +0000
  • d1bd3f4920 deduplicate spec arg names jesopo 2020-02-25 09:43:14 +0000
  • 2a2fe00c4f handle stdout being closed before we're finished jesopo 2020-02-24 18:17:03 +0000
  • bb975f8e60 support reading from stdin in bin/bitbot-log jesopo 2020-02-24 17:58:00 +0000
  • 36fd91f009 we need to manually flush log files jesopo 2020-02-24 17:21:35 +0000
  • 22a2bead7f for some reason, __ variables disappear from hasattr jesopo 2020-02-24 17:10:43 +0000
  • 175c0a285c open possibly-utf8 files with forced utf8 jesopo 2020-02-24 15:24:39 +0000
  • fc32a907a5 use "latin-1" consitently (not "iso-8859-1") jesopo 2020-02-24 13:28:23 +0000
  • 6535ec731c change encrypted channel logs to use RSA -> AES (CBC) jesopo 2020-02-24 13:14:05 +0000
  • 9d120dcd2c fix security.py typehints jesopo 2020-02-24 11:46:37 +0000
  • cca3817537 move permissions module password hashing to utils/security.py jesopo 2020-02-24 11:43:55 +0000
  • 9ce21a30eb fix utils.datetime.format.to_pretty_time typehinting jesopo 2020-02-24 10:38:58 +0000
  • eb60e09a23 add isodate requirement for parsing iso8601 durations jesopo 2020-02-24 10:30:59 +0000
  • 5a2e4db608 easier to read requirements.txt jesopo 2020-02-24 10:20:25 +0000
  • 8f9c063114 only do to_pretty_time as relative when requested jesopo 2020-02-24 10:18:55 +0000
  • a2c8d7080e command doesn't exist - use event["spec"][2] jesopo 2020-02-23 17:02:40 +0000
  • 9c1b98ef29 channel.users changes during iteration. copy() it jesopo 2020-02-22 08:03:31 +0000
  • db2f27a771 support user (as well as cuser) for user object mask banning jesopo 2020-02-21 20:34:54 +0000
  • fe4972bc03 update channel_op.py ban formatting to use ${} jesopo 2020-02-21 15:43:52 +0000
  • 98b7529605 security issue: 'permissions'->'permission' (message_filters.py) jesopo 2020-02-21 11:44:29 +0000
  • 7b7a67bc45 add markov-chance, 0 to 100 percent chance of randomly triggered markov chains jesopo 2020-02-20 18:51:20 +0000
  • 8a6270fc97 cryptography is in requirements.txt; we dont need to check for it jesopo 2020-02-20 15:12:00 +0000
  • b260c80c31 add bin/bitbot-log to read/decrypt channel_log files jesopo 2020-02-20 15:07:52 +0000
  • 0667ac8c5f add option to encrypt channel_log log files line-by-line jesopo 2020-02-20 14:56:04 +0000
  • 3ccb594e10 silence.py's is-silenced export is no longer used jesopo 2020-02-19 17:29:34 +0000
  • 3453479235 utilise @utils.export for function exporting in more places jesopo 2020-02-19 17:29:10 +0000
  • 70db97f64e support @utils.export on functions, to export those functions jesopo 2020-02-19 17:22:37 +0000
  • b277463fee show when a badge was updated, not added, by "!badge add" jesopo 2020-02-19 15:44:16 +0000
  • 523547e055 duck chance should be 5%, not 50% jesopo 2020-02-19 15:39:11 +0000
  • 53057576ab include nickname in !redeemcoin success output jesopo 2020-02-19 15:07:00 +0000
  • ec54fc8ef0 a comment! jesopo 2020-02-19 15:02:12 +0000
  • 6ef4c0ea3e fix format_token return typehints jesopo 2020-02-19 14:20:57 +0000
  • 43fbbe7279 change format_tokens from $VAR to ${VAR} jesopo 2020-02-19 13:49:40 +0000
  • df79288770 channels should be cleared of users when *we* part them jesopo 2020-02-19 11:14:56 +0000
  • 8ce7bd17ff simplify pruning quit/parted users jesopo 2020-02-19 11:14:33 +0000
  • 36e0db7ab5 weeks and days should be absolute (divmod of days) jesopo 2020-02-18 16:39:36 +0000
  • 329e45e7b9 SETNAME has been ratified jesopo 2020-02-18 12:12:01 +0000
  • ad04357955 i broke quieting when i was refactoring it jesopo 2020-02-17 21:16:52 +0000