Brian S. Stephan
18ff814bc8
karma: add a pagination default of 10
2016-05-13 22:41:13 -05:00
Brian S. Stephan
46ffe7a72d
karma: remove the rank from the index table
...
it's kind of redundant anyway, since we include the score
2016-05-13 22:30:59 -05:00
Brian S. Stephan
26f0604922
karma: add django rest framework
...
i tried to use this for datatables, but it was taking too long to get a
response, so i'm abandoning this for the moment, but the support's there
for the future
2016-05-13 22:19:38 -05:00
Brian S. Stephan
4809247632
karma: display all karma keys in index page
...
this kind of sucks from a performance standpoint, i'd like to make it
better
2016-05-13 21:55:54 -05:00
Brian S. Stephan
b82e5309e1
drop the artificial data point at 0,0
...
kinda screwing up some graphs
2016-03-31 19:19:35 -05:00
Brian S. Stephan
c364578e5d
lowercase the key in karma graph URL
2016-03-31 16:47:17 -05:00
Brian S. Stephan
e5263d0019
show karma graph with date-based X range
...
this is way more interesting of a graph than delta-based, which just
ends up being a linear slope. dunno what i was thinking yesterday
2016-03-31 16:36:10 -05:00
Brian S. Stephan
dab41fa7d3
pad the bottom of pages' content
2016-03-30 18:06:44 -05:00
Brian S. Stephan
50f2b12c18
only build history once in karma graph, do history
2016-03-30 18:04:19 -05:00
Brian S. Stephan
08da8ea9f3
tweak karma graph output for many data points
...
if there's a ton of data points, the graph starts looking real gross,
so do a couple things to make the display of that a bit simpler so
there's less noise and distracting lines and whatnot
2016-03-30 17:57:00 -05:00
Brian S. Stephan
3e9302c89c
don't display dots on the karma graph
2016-03-30 17:26:59 -05:00
Brian S. Stephan
03047c458f
add an initial point to the karma key graph
2016-03-30 17:20:33 -05:00
Brian S. Stephan
28002db80b
tweak the karma graph colors a bit
2016-03-30 17:19:06 -05:00
Brian S. Stephan
6fad9202ca
add karma graphs view to the django site
...
pretty simplistic for the moment, it will become more robust later (TM)
2016-03-30 17:08:01 -05:00
Brian S. Stephan
03b90fe50a
add KarmaKey.history()
...
calculates the value of the score at every point in the score's history.
might be slow, unsure yet
2016-03-30 17:06:12 -05:00
Brian S. Stephan
33bf61712e
more bootstrap config stuff
...
these will be necessary for other jquery things in a moment
2016-03-30 17:05:26 -05:00
Brian S. Stephan
85f9ae7d4d
convert the very basic UI we had to bootstrap
2016-03-30 16:00:49 -05:00
Brian S. Stephan
5225d2bd6b
add django-registration-redux and use some of it
...
for the moment this is for the password change url used in the auth
dropdown, and a better login page, but this might become other stuff
eventually too. the signup page exists and is linked to, even if i don't
have a great reason for this to exist
bunch of templates added now to support the intentional and
unintentional stuff
2016-03-30 15:36:56 -05:00
Brian S. Stephan
e52f4c915f
prospector - 'log' okay name, analyze docstrings
2016-03-02 21:43:21 -06:00
Brian S. Stephan
2cee918fd9
twitter: reverse the mentions list before printing
2016-01-26 23:29:26 -06:00
Brian S. Stephan
9d5b9e070b
twitter: start/stop mention poll thread via irc
...
includes a migration for a new permission for this, naturally. with
this, the poll thread can be started and actually do stuff
2016-01-26 23:14:42 -06:00
Brian S. Stephan
3b78e9b894
twitter: method for polling mentions timeline
...
not stitched together in this commit, so it'll work but it won't be
started
2016-01-26 00:39:51 -06:00
Brian S. Stephan
6cbf5f3d96
twitter: pull the tweet reply method into two
...
_return_tweet_or_retweet_text used to both determine the proper tweet
text and bot.reply() with it to the provided event. if we're not
reacting to an irc event, this obviously won't work, so this pulls the
method into two things so that we can use the string formatting code
without necessary needing an event
2016-01-26 00:08:46 -06:00
Brian S. Stephan
e8e42cc580
twitter: replace since_id with mentions_since_id
...
we'll want to treat the since_ids for mentions and (theoretical)
timelines differently, i think, so might as well just set up the split
out field now
2016-01-24 18:46:06 -06:00
Brian S. Stephan
352ce81bc9
twitter: add field for mentions output channel
...
this removes an old, general field, which was once used for multiple
things, but we should break apart its functional usage and also just
refer to our IrcChannel object anyway
this is the easy half of issue #3
2016-01-24 17:50:46 -06:00
Brian S. Stephan
e25b3aca9d
twitter: don't append colon to nick when replying
...
just a style thing, nbd
2016-01-17 12:37:23 -06:00
Brian S. Stephan
57588afbe6
dispatch: wrap exceptions in str() before format()
2016-01-17 12:11:00 -06:00
Brian S. Stephan
b09c20e910
twitter: wrap exceptions in str() before format()
...
this might also do something about #1 , considering i'm also just doing
blanket except Exception:s now. fingers crossed
2016-01-17 12:04:34 -06:00
Brian S. Stephan
7a1c024d69
dispatch: write message to file properly in py3
2016-01-17 11:39:43 -06:00
Brian S. Stephan
007f9bdbc7
twitter: don't re-encode replyee name
...
this appears to have been whan was causing replying via twitter to fail.
let's test something while we're here:
fixes #2
2016-01-17 11:36:10 -06:00
Brian S. Stephan
6fe6797281
ircbot: implement !reload for plugins
...
in addition to being a convenient unload plugin, load plugin, this also
uses importlib.reload() to kick the interpreter to reload changed code
inside the plugin's package, if the user requests to reload the entire
package. this seems safe so far
(famous last words)
2016-01-17 10:56:39 -06:00
Brian S. Stephan
0ba889bf75
ircbot: _unload_plugin doesn't need connection
2016-01-17 10:52:25 -06:00
Brian S. Stephan
97c18a2459
ircbot: provide feedback option to _plugin_unload
2016-01-17 09:49:55 -06:00
Brian S. Stephan
10071f9094
ircbot: add load/unload plugin documentation
2016-01-17 09:49:30 -06:00
Brian S. Stephan
676f479d52
ircbot: add some debug logging in plugin (un)load
2016-01-17 09:21:29 -06:00
Brian S. Stephan
4c949ee6f3
ircbot: don't unload just one plugin of path
...
if we somehow got multiple plugins of the same path loaded, unload them
all when unloading, not just the first one we find
2016-01-17 09:20:06 -06:00
Brian S. Stephan
310c2aa28d
markov: fake a __stop if a k1,k2 has no v
...
this shouldn't have happened, but i'm guessing some previous crash put
some buggy data into my database, so let's just be careful and do this.
a k1,k2 could have had any value for v, but not knowing what else to do
in this corner case, we'll just use a stop and let the caller decide
if they want to keep going
2016-01-16 23:41:46 -06:00
Brian S. Stephan
a243b65d1d
ircbot: new auto-migration, either django or py3
2016-01-16 19:57:11 -06:00
Brian S. Stephan
b14152d8d5
dispatch: new auto-migration, either django or py3
2016-01-16 19:56:14 -06:00
Brian S. Stephan
a314809671
weather: use requests library over urllib/json
2016-01-16 19:39:33 -06:00
Brian S. Stephan
90d20dfe75
transform: use new py3 base64 API
2016-01-16 19:37:24 -06:00
Brian S. Stephan
59c593f60b
transform: use codecs library for rot13
2016-01-16 19:36:51 -06:00
Brian S. Stephan
c3c54b9f10
ircbot: use % formatting in some debugging
2016-01-16 19:36:10 -06:00
Brian S. Stephan
cdde966733
ircbot: properly output exception msg to string
2016-01-16 19:34:06 -06:00
Brian S. Stephan
570a4e1962
twitter: don't re-encode response as utf-8
2016-01-16 19:33:03 -06:00
Brian S. Stephan
47a1352a0a
change __unicode__()s to __str__()s
2016-01-16 18:21:46 -06:00
Brian S. Stephan
9112ad0ae7
convert the project via 2to3
2016-01-16 18:02:17 -06:00
Brian S. Stephan
f513b241d2
ircbot: force lowercase IrcChannel channel name
2015-09-17 22:55:25 -05:00
Brian S. Stephan
d9c39d3db9
markov: better context/target creation ex handling
2015-09-17 22:35:23 -05:00
Brian S. Stephan
4f17234a0a
markov: force the target/context to lowercase
2015-09-17 22:35:04 -05:00
Brian S. Stephan
e8d57b29b2
irclib.bot: don't del sys.modules[badname]
...
this makes no sense to do on ImportError since that's probably why we
got here. testing, not 100% sure this is right
2015-09-17 22:23:36 -05:00
Brian S. Stephan
91594117bc
remove deprecated TEMPLATE_DIRS setting
2015-09-17 22:23:14 -05:00
Brian S. Stephan
505dc8799c
markov: configure what channels to learn from
2015-09-17 22:22:59 -05:00
Brian S. Stephan
91bbabec67
facts: get rid of the soap stuff
...
interesting, but i don't really care to use it ever, so deleted
2015-09-17 21:56:52 -05:00
Brian S. Stephan
8504a2556d
facts: trivial comment cleanups
2015-09-16 16:57:12 -05:00
Brian S. Stephan
b9b626d2ef
remove useless import
2015-08-14 16:55:02 -05:00
Brian S. Stephan
425bf64baa
facts: proof of concept grade SOAP WS
...
mostly just to prove to myself that i can use pysimplesoap and be kinda
pleased with the results
2015-08-14 16:54:31 -05:00
Brian S. Stephan
68cf0f8816
facts: don't require nickmask in admin form
2015-08-14 16:53:37 -05:00
Brian S. Stephan
f18569b636
enable sites framework, useful for some SOAP stuff
2015-08-14 16:52:57 -05:00
Brian S. Stephan
4abcef58c1
karma: ignore commands or chatter separately
2015-07-11 08:12:25 -05:00
Brian S. Stephan
bf0445149b
twitter: handle twitter API errors better
...
i think i need to make this client (re)connect on demand or something,
though, i'm getting a lot of timeouts
2015-07-11 08:10:35 -05:00
Brian S. Stephan
6bf2732d7f
dispatch: handle writing unicode to file properly
2015-07-11 08:09:53 -05:00
Brian S. Stephan
e2d4e29750
use LenientDecodingLineBuffer in bot guts
...
should make the bot more resilient to clients that send non-unicode text
2015-06-22 17:43:45 -05:00
Brian S. Stephan
ac3e71c32a
karma: option to ignore targets
2015-06-20 16:34:18 -05:00
Brian S. Stephan
598a158300
dispatch: helps if i actually use the new text
2015-06-20 11:26:35 -05:00
Brian S. Stephan
f542a862b8
dispatch: have option to include key in output
2015-06-20 11:23:28 -05:00
Brian S. Stephan
98bb608291
dispatch: allow dispatcher key in API URLs as well
2015-06-20 11:22:17 -05:00
Brian S. Stephan
241de26dd5
facts: allow adding facts via IRC
2015-06-20 10:58:40 -05:00
Brian S. Stephan
934f83b734
facts: show the source of facts, if desired
2015-06-20 10:46:52 -05:00
Brian S. Stephan
d507e8f7ac
facts: add the timestamp back too
2015-06-20 10:22:49 -05:00
Brian S. Stephan
69ca220b5e
facts: add fact source back into model
...
it was silly for me to have dropped this
2015-06-20 10:19:11 -05:00
Brian S. Stephan
772df777ba
ircbot: tie bot users to django auth user, part 3
...
get rid of is_admin(), instead check for django permissions. a couple
things were using is_admin(), so now there's an example of the
permission adding and usage, as those were ported
2015-06-20 10:08:51 -05:00
Brian S. Stephan
df17e68456
ircbot: tie bot users to django auth user, part 2
...
rename BotAdmin to BotUser
other stuff will check whether or not they're an "admin", which will
actually be standard django permissions
2015-06-20 09:50:52 -05:00
Brian S. Stephan
123acbbd8d
ircbot: tie bot users to django auth user, part 1
...
sets up the foreign key and changes how is_admin() works, though it will
be going away pretty soon, i just need to do this migration in parts so
as to not confuse django too much
2015-06-20 09:27:50 -05:00
Brian S. Stephan
243531c017
add prospector and config
2015-06-20 02:00:56 -05:00
Brian S. Stephan
e194ae0319
dispatch: don't override get_object() in /message
2015-06-20 01:13:11 -05:00
Brian S. Stephan
4a092ec603
markov: have context in target's __unicode__()
2015-06-20 01:09:42 -05:00
Brian S. Stephan
397ae2243c
ircbot: recurse if we had an alias hit
...
the idea is that there may be two aliases in the string, or the alias
may have created another alias
2015-06-19 21:40:35 -05:00
Brian S. Stephan
e11d7280de
countdown: display negative numbers better
...
this kinda removes an old BUGS line that isn't actually correct for this
change, but it was old and fixed a while ago anyway (mostly)
2015-06-19 21:40:21 -05:00
Brian S. Stephan
4854eb17ac
storycraft: fix the line count in progress
2015-06-19 21:10:26 -05:00
Brian S. Stephan
1c88aa1189
dispatch: unicode_literals in models
2015-06-19 21:07:45 -05:00
Brian S. Stephan
1193ce5b6a
storycraft: port to ircbot v2
...
this silly storytelling game has been lightly tested, but it appears to
not blow up miserably, so i'm going to commit it until i can spend more
time testing it/caring about it
2015-06-19 21:06:58 -05:00
Brian S. Stephan
095221a7b2
dispatch: properly write bytes to file
2015-06-19 16:46:46 -05:00
Brian S. Stephan
9296123f25
dispatch: require explicit send_message permission
2015-06-19 16:45:10 -05:00
Brian S. Stephan
bece1745b3
dispatch: include 'message': "" in /message GET
...
mostly as a hint to illustrate how to use the thing
2015-06-19 15:10:21 -05:00
Brian S. Stephan
3532b073c4
dispatch: nest the dispatcher -> action serializer
2015-06-19 15:08:57 -05:00
Brian S. Stephan
4f717cb1c2
dispatch: break Dispatcher actions into 2nd model
...
decouple the dispatcher (a key, basically) with the actions to take upon
receiving such a message. allows us to have multiple actions for one key
without weird hacks
2015-06-19 11:29:00 -05:00
Brian S. Stephan
dac7999c0f
dispatch: use generics better (?) in /message
...
use GenericAPIView rather than APIView in order to get some common idiom
stuff done for us. we continue to support GET and POST in
DispatchMessage, now it's just a bit cleaner. i think.
anyway if we were doing this stuff more we could/should probably create
mixins for them, but at the moment this is pretty sane i think
2015-06-19 10:51:11 -05:00
Brian S. Stephan
0641e1c062
dispatch: port to django REST framework
...
this moves the dispatcher functionality that used to be in the old
ircbot directly to django REST framework, which is more robust and
allows for cooler stuff down the road. this still retains the ability to
have the bot privmsg, that still happens over the XML-RPC interface,
this is just a more convenient frontend to that
2015-06-18 23:57:43 -05:00
Brian S. Stephan
8fe5dbc0d3
acro: port acro to ircbot v2
2015-06-18 18:48:38 -05:00
Brian S. Stephan
ae0f56cd58
seen: this shouldn't do anything w/privmsg
2015-06-18 10:34:02 -05:00
Brian S. Stephan
6560327984
countdown: app for noting points in time
2015-06-18 09:19:53 -05:00
Brian S. Stephan
76e9046549
port twitter module to ircbot v2
...
handles the on-demand commands but no timeline polling
2015-06-16 20:27:44 -05:00
Brian S. Stephan
bef66e3427
ircbot: specify commands after connecting
...
happens before the sleep and the autojoins
2015-06-16 19:02:00 -05:00
Brian S. Stephan
f0072fb633
ircbot: configure a sleep before autojoin channels
2015-06-16 19:01:41 -05:00
Brian S. Stephan
1af5f67daf
port races irc module to new bot
2015-06-13 13:41:37 -05:00
Brian S. Stephan
a345f4567e
make the markov admin view URLs a bit better
2015-06-13 13:08:14 -05:00
Brian S. Stephan
d9f905c691
privmsg interface to ircbot in django admin
...
fill out the form, send a privmsg
2015-06-13 13:07:52 -05:00
Brian S. Stephan
56b495e8fb
add an XML-RPC interface to the irc bot
...
this allows plugins to register methods that can be called over XML-RPC
the old bot used this interface behind apache for a web service, but i
think in this version it will only be for django -> ircbot, and django
will have a rest API for other things
2015-06-13 13:06:10 -05:00
Brian S. Stephan
65a03ced03
use adminplus to add admin views
...
move the markov learning views into the admin
2015-06-13 12:20:10 -05:00