474afe2576
do some ircbot prospector cleanup
...
bss/dr.botzo#17
2017-03-10 18:51:36 -06:00
dbc4e6fe6f
rename event._recursing to event.recursing
2017-03-10 18:29:31 -06:00
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
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
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
0003c0c16e
bot: default _recursing to False
2017-03-09 08:06:31 -06:00
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
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
6f9bbd304f
bot: don't strip []s if no replacement happened
2017-02-26 10:42:32 -06:00
c4714d3691
countdown: add pronoun conversion to reminders
2017-02-26 10:39:49 -06:00
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
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
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
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
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
5b79cea3c6
countdown: add TODO to improve cheap workaround
2017-02-23 09:03:17 -06:00
57903b4728
countdown: don't select future reminders in thread
2017-02-23 09:02:46 -06:00
71a797e3fa
countdown: add "about" to new reminder regex
2017-02-23 09:02:21 -06:00
75f5985d71
countdown: simpler reminders when in privmsg
2017-02-22 23:10:01 -06:00
48beddb580
countdown: make new reminder regex non-greedy
2017-02-22 22:25:20 -06:00
0c69530cf9
Merge branch 'countdown-reminders' into 'master'
...
Countdown reminder feedback
See merge request !16
2017-02-22 22:17:37 -06:00
04f11f97df
countdown: provide feedback when reminder created
...
bss/dr.botzo!16
2017-02-22 22:15:29 -06:00
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
1bbb64618d
bot: capture exceptions, try to report on them
...
it beats crashing, probably
2017-02-22 22:08:04 -06:00
9c4e0fe782
countdown: receive reminder countdowns over IRC
...
bss/dr.botzo#11
2017-02-22 22:07:39 -06:00
a6c2f91dc0
add parsedatetime dep, for countdown reminders
...
bss/dr.botzo#11
2017-02-22 22:06:00 -06:00
ba5369bd31
countdown: prospector docstring stuff
...
bss/dr.botzo#17
2017-02-22 20:40:07 -06:00
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
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
0666fe27e0
remove TODO, preferring gitlab issues tracker
2017-02-12 13:09:45 -06:00
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
0ec5f8033c
dispatch: code quality cleanups
...
bss/dr.botzo#17
2017-02-12 11:58:20 -06:00
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
6cb3757ef9
convert ircplugin users of privmsg to reply
...
bss/dr.botzo#21
2017-02-12 11:39:04 -06:00
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
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
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
c8d084f9ff
karma: don't create a key > len(200)
...
should resolve bss/dr.botzo#9
2017-02-11 18:01:44 -06:00
d63f2896ee
code quality in the karma module
...
bss/dr.botzo#17
2017-02-11 18:00:43 -06:00
8d87945107
reorder, properly navbar login/register stuff
...
fixes bss/dr.botzo#19
2017-02-11 17:23:59 -06:00
dcd41516a6
link to /admin/ properly in main nav
...
fixes bss/dr.botzo#18
2017-02-11 17:23:42 -06:00
c04445dfff
code quality changes to the remaining scripts
...
bss/dr.botzo#17
2017-02-11 17:09:24 -06:00
23007ec8f9
give procmail-to-dispatch.py its own directory
2017-02-11 16:53:46 -06:00
6855fc561a
remove ancient porting scripts
...
no one will ever need these, no need to have clutter
2017-02-11 16:52:24 -06:00
06aa567421
give mpd-notifications.py its own directory
...
updates the requirements files, too
2017-02-11 16:50:29 -06:00
0b4ffd271d
Merge branch 'facts-choices-refactoring' into 'master'
...
Refactoring facts app to wrap in choices, improve admin
Closes #15 and #14
See merge request !13
2017-02-11 09:47:25 -06:00
f608c5ab68
facts: handle line breaks in view display of fact
2017-02-11 09:41:29 -06:00
a4d51b1f2c
remove choices app, everything is in facts now
...
closes bss/dr.botzo#15
2017-02-11 09:37:03 -06:00
fb04732ec3
facts: recreate the choices experience in facts
...
recreates the choices view in facts, allowing for display of any fact
category in the system, and providing a random item from it
bss/dr.botzo#15
2017-02-11 09:34:15 -06:00
368dfd4a83
facts: refactor random_fact onto FactCategory
...
since the views will have a FactCategory, not a Fact, we'll move the
convenience random_fact() there and use it in the FactManager
bss/dr.botzo#15
2017-02-11 09:22:32 -06:00