Commit Graph

1113 Commits

Author SHA1 Message Date
Brian S. Stephan f2fb0a26a4 remove unnecessary unicode_literal future imports, we py3 now 2019-06-21 15:23:33 -05:00
Brian S. Stephan 0f88715ffd remove unnecessary requirements-server.* 2019-06-21 10:06:17 -05:00
Brian S. Stephan 2f98a64cdd version bumps and migration to django 2.2 2019-06-21 10:05:40 -05:00
Brian S. Stephan 0589939137 support multiple strings as counting as nick highlights
also, treat @nicks as being addressed, since we are doing discord
through bitlbee now
2019-01-10 08:48:15 -06:00
Brian S. Stephan 2bae93778e admin: show core admin models again in admin 2018-06-04 16:11:19 -05:00
Brian S. Stephan c02d76d178 properly prospect all of the code
the move to flatten the directories one level of dr_botzo is probably
what caused this to be bad
2017-12-01 13:21:31 -06:00
Brian S. Stephan 7fb3738f5a Add changelog 2017-07-11 10:38:12 -05:00
Brian S. Stephan 1e1750e983 karma: only show the top 5 karmaers, as intended 2017-06-07 14:33:49 -05:00
Brian S. Stephan 6572a54cd2 karma: just some whitespace code quality stuff 2017-06-07 14:26:35 -05:00
Brian S. Stephan 4bf922eef0 mpdbot: show icecast site in the output 2017-03-10 20:53:59 -06:00
Brian S. Stephan 217b8a15cd simple mpd client thing
gets now playing status
2017-03-10 20:36:56 -06:00
Brian S. Stephan 474afe2576 do some ircbot prospector cleanup
bss/dr.botzo#17
2017-03-10 18:51:36 -06:00
Brian S. Stephan dbc4e6fe6f rename event._recursing to event.recursing 2017-03-10 18:29:31 -06:00
Brian S. Stephan 55c1cf01a2 countdown: use new event addressed stuff
lets countdown.ircplugin use the regex handler and do less checking
itself
2017-03-10 18:21:29 -06:00
Brian S. Stephan 1e428b77db bot: add most_specific_msg for convenience
returns original_msg or addressed_msg, depending on the context

related to bss/dr.botzo#32
2017-03-10 18:16:35 -06:00
Brian S. Stephan a79d0cdd9f bot: add a bunch of event attrs related to msgs
- event.addressed - msg started with 'bot: '
- event.original_msg - the pub/privmsg
- event.addressed_msg - pub/privmsg minus 'bot: '
- event.sender_nick - nick of event.source
- event.sent_location - channel or nick of event.source
- event.in_privmsg - if the event was in a privmsg or not

closes bss/dr.botzo#32
2017-03-10 18:16:11 -06:00
Brian S. Stephan 0003c0c16e bot: default _recursing to False 2017-03-09 08:06:31 -06:00
Brian S. Stephan 936db45359 dice: don't address roller when recursing
allows !echo blah [!random foo bar] to reply with "blah bar" rather
than "blah bss: bar", for example
2017-03-02 09:40:23 -06:00
Brian S. Stephan 44c8863d35 countdown: print the item name on new reminders
this is so that we can delete them later

bss/dr.botzo#33
2017-03-02 09:37:18 -06:00
Brian S. Stephan 6f9bbd304f bot: don't strip []s if no replacement happened 2017-02-26 10:42:32 -06:00
Brian S. Stephan c4714d3691 countdown: add pronoun conversion to reminders 2017-02-26 10:39:49 -06:00
Brian S. Stephan 995bb643f3 attempt to have outbound recursion
same logic as replacing [subcommand] with the output of subcommand, but
on the outbound side, via {subcommand}. this lets you do something like,
say:

!echo {!facts buh}

and that won't get interpreted until '{!facts buh}' is on its way out of
the bot. thus, you could also put '{!facts buh}' into the output of some
other command, like a countdown reminder
2017-02-23 21:35:03 -06:00
Brian S. Stephan b58b208f29 Merge branch 'countdown-reminders' into 'master'
Add recurrence, and recurrence ceilings, to reminders

Closes #31 and #30

See merge request !17
2017-02-23 19:38:27 -06:00
Brian S. Stephan 1b1ae9638d countdown: add "recurring until" support
tacking onto the recurring option, this allows for having the
recurringness end after a while.

closes bss/dr.botzo#31
2017-02-23 19:35:47 -06:00
Brian S. Stephan bdbba249cd countdown: let reminders be recurring
when creating a reminder, describe it as "and every X" and it'll refire
over that period, rather than only firing once

closes bss/dr.botzo#30
2017-02-23 19:11:28 -06:00
Brian S. Stephan 76b70ec784 countdown: use match labels in new reminder regex
this thing is going to get hairy soon, so might as well do this now
2017-02-23 18:50:03 -06:00
Brian S. Stephan 5b79cea3c6 countdown: add TODO to improve cheap workaround 2017-02-23 09:03:17 -06:00
Brian S. Stephan 57903b4728 countdown: don't select future reminders in thread 2017-02-23 09:02:46 -06:00
Brian S. Stephan 71a797e3fa countdown: add "about" to new reminder regex 2017-02-23 09:02:21 -06:00
Brian S. Stephan 75f5985d71 countdown: simpler reminders when in privmsg 2017-02-22 23:10:01 -06:00
Brian S. Stephan 48beddb580 countdown: make new reminder regex non-greedy 2017-02-22 22:25:20 -06:00
Brian S. Stephan 0c69530cf9 Merge branch 'countdown-reminders' into 'master'
Countdown reminder feedback

See merge request !16
2017-02-22 22:17:37 -06:00
Brian S. Stephan 04f11f97df countdown: provide feedback when reminder created
bss/dr.botzo!16
2017-02-22 22:15:29 -06:00
Brian S. Stephan 081648c074 Merge branch 'countdown-reminders' into 'master'
Store and report on reminders via the countdown module

See merge request !15
2017-02-22 22:11:06 -06:00
Brian S. Stephan 1bbb64618d bot: capture exceptions, try to report on them
it beats crashing, probably
2017-02-22 22:08:04 -06:00
Brian S. Stephan 9c4e0fe782 countdown: receive reminder countdowns over IRC
bss/dr.botzo#11
2017-02-22 22:07:39 -06:00
Brian S. Stephan a6c2f91dc0 add parsedatetime dep, for countdown reminders
bss/dr.botzo#11
2017-02-22 22:06:00 -06:00
Brian S. Stephan ba5369bd31 countdown: prospector docstring stuff
bss/dr.botzo#17
2017-02-22 20:40:07 -06:00
Brian S. Stephan beff6638d0 countdown: poll db for reminders, send to target
every second (!?) a new thread checks the database for reminder
countdown items that haven't been reminded about yet. when the at time
is reached, the thread sends the reminder and notes that a reminder was
sent

bss/dr.botzo#11
2017-02-22 20:39:05 -06:00
Brian S. Stephan c81d0519a0 countdown: fields for sending reminders
extending countdown items in order to have them also store reminders,
which are the same idea (an event at a time) but these are watched by
the irc bot and sent to the specified destination when the time is
reached

this adds support for configuring this, code in support of it is coming
in later commits

bss/dr.botzo#11
2017-02-22 20:32:05 -06:00
Brian S. Stephan 0666fe27e0 remove TODO, preferring gitlab issues tracker 2017-02-12 13:09:45 -06:00
Brian S. Stephan 5d5b58daa5 Merge branch 'better-multilines' into 'master'
Better multilines by adding flood protection, consolidating privmsg/reply stuff

Closes #21 and #23

See merge request !14
2017-02-12 12:04:37 -06:00
Brian S. Stephan 0ec5f8033c dispatch: code quality cleanups
bss/dr.botzo#17
2017-02-12 11:58:20 -06:00
Brian S. Stephan 015eacbe53 xmlrpc: expose IRCBot.reply, use it over privmsg
converts dispatch and the admin form to reply

closes bss/dr.botzo#21
2017-02-12 11:41:29 -06:00
Brian S. Stephan 6cb3757ef9 convert ircplugin users of privmsg to reply
bss/dr.botzo#21
2017-02-12 11:39:04 -06:00
Brian S. Stephan 23bb5cdd78 allow IRCBot.reply() to work eventless
reply() used to require an event, but all it used it for was to
determine the destination and to identify recursion. basically, strictly
only -replies-. we can make this a more robust privmsg, too, by adding
explicit_target and inferring recursion as False. this will let
basically any code currently using privmsg to use reply instead, and
benefit from multi-line and line splitting

bss/dr.botzo#21
2017-02-12 11:33:13 -06:00
Brian S. Stephan 010afd05ce add some anti-flood protection stuff
this throttles multi-line messages in a way that probably doesn't affect
the normal cases much, and scales fairly well to far longer text. for
some reason long ascii art still triggers the flood detection, but with
this code at least it happens later in the process. so, success, for
now? i can fix the ascii art at some future point if i ever hit it
practically

closes bss/dr.botzo#23
2017-02-12 10:58:18 -06:00
Brian S. Stephan 8b4f8b2545 move message splitting into IRCBot.reply()
leaves IRCBot.privmsg() pretty vanilla. this should make it clearer
which version for modules/etc to use (hint: it's reply)

bss/dr.botzo#21
2017-02-12 10:47:27 -06:00
Brian S. Stephan c8d084f9ff karma: don't create a key > len(200)
should resolve bss/dr.botzo#9
2017-02-11 18:01:44 -06:00
Brian S. Stephan d63f2896ee code quality in the karma module
bss/dr.botzo#17
2017-02-11 18:00:43 -06:00