Commit Graph

788 Commits

Author SHA1 Message Date
Brian S. Stephan 23173c6fac .gitignore a bunch of django stuff 2014-03-16 09:34:20 -05:00
Brian S. Stephan e21bebc24c django skeleton 2014-03-16 09:22:11 -05:00
Brian S. Stephan e7b132348f actually i need to call this ircbot
so i don't collide with the django dr_botzo
2014-03-16 09:18:17 -05:00
Brian S. Stephan 43a73f368f move irc bot into its own directory
getting ready to make this thing a django app, which will hopefully
actually be effective as an idea
2014-03-16 09:16:20 -05:00
Brian S. Stephan ef8b1c7c26 remove old twitter library 2013-09-05 19:11:18 -05:00
Brian S. Stephan 6bf36f40a6 Twitter: twitter fixes to actually tweet stuff 2013-09-05 19:10:21 -05:00
Brian S. Stephan 4bc6c31326 add twython to requirements.txt 2013-07-28 23:06:16 -05:00
Brian S. Stephan e5663e6e5d Twitter: first attempt at twython library
keeping the old library around for a bit, but it can probably go
eventually
2013-07-28 22:15:43 -05:00
Brian S. Stephan 0d465ee670 Markov: disable working backwards, it is slow 2013-07-28 17:01:59 -05:00
Brian S. Stephan f9eab7932b TopicDump: module to write set topics to disk
for a little project i'm working on
2013-06-08 21:31:18 -05:00
Brian S. Stephan 96d58f81c4 Dispatch: support file targets
if for some reason (spoilers: i have a reason) you would want to have
dispatched stuff go to a file, that can now be done. prepend the
(fully-qualified) filename with FILE: in the database and off you go
2013-06-08 21:15:04 -05:00
Brian S. Stephan fb477a57b9 Markov: handle empty reply chains more gracefully 2013-05-03 16:03:07 -05:00
Brian S. Stephan 25e41150af Markov: handle non-channel events properly
this includes having privmsgs correctly be attributed to the speaker,
rather than the bot
2013-05-03 16:02:07 -05:00
Brian S. Stephan 88e470183b Dispatch: support multiple targets for a key 2013-05-03 16:01:45 -05:00
Brian S. Stephan f09a41bce0 Dispatch: better (aka correct) db_init section 2013-05-03 15:59:49 -05:00
Brian S. Stephan b375a5a049 a better attempt at making unicode DB connections 2013-05-03 15:38:46 -05:00
Brian S. Stephan ccbea5ecdb Twitter: re-enable timeline polling and display
this was commented out for no reason, it can be disabled simply by
unsetting output_channel
2013-05-03 10:58:24 -05:00
Brian S. Stephan 7322ebde8f Markov: make some attempt to avoid name: chains
there are a lot of these, so it's a hard problem to solve entirely, but
this will avoided some cases at least
2013-02-15 10:24:45 -06:00
Brian S. Stephan 6a12763c81 Dice: only match !dice/!ctech at start of line 2013-02-11 14:06:15 -06:00
Brian S. Stephan 9b7cbadce6 rename Module.new_sendmsg() -> Module.sendmsg()
remove the deprecated method as well, of course
2013-02-09 15:11:38 -06:00
Brian S. Stephan c7d78ba6fc removing Radio, it was never good, barely worked
might revisit this in the future and just use an mpd module
2013-02-09 15:07:46 -06:00
Brian S. Stephan 1415f740fb remove usages of Module.sendmsg()
we're switching to an idiom where the bot is only on one connection, so
we don't need to care about connection tracking. new_sendmsg accordingly
doesn't take a connection argument. now i can remove the old sendmsg

caught in the wake, a bunch of connections being passed here and there
can be removed, changing some module method signatures and such. there
might be more to remove still
2013-02-09 15:05:44 -06:00
Brian S. Stephan 5314dadc07 Markov: massive rewrite of the chainer
a bunch of logic is moved around, some queries are improved, max_size
does what it's actually supposed to do. all in all this is a much
clearer chainer, even if the actual results are more or less the same.

it's probably a bit faster in most cases but slower in situations when
all the seed words have been consumed and it needs to do
__start1,__start2 chains (since there's so many of them, it's rather
slow). otherwise, it tries to use seed words in sentences, combining
multiple sentences when possible. there's a lot more in the periphery,
but that's the general idea
2013-02-09 14:44:45 -06:00
Brian S. Stephan 5d90c98fb2 Markov: actually use the working backwards results
thinko, there were code paths where the working backwards results were
discarded. don't discard them.
2013-02-08 02:13:15 -06:00
Brian S. Stephan 0b6d5e3f44 Markov: always update hit_word
whether or not we went backwards and forwards, or just forwards, this
cycle of the loop, end the iteration by calling the end of the sentence
our hit word. if it was our seed word, this will trigger a new seed
selection
2013-02-08 02:11:29 -06:00
Brian S. Stephan e7bed15ee8 Markov: _retrieve_random_v_for_k1_and_k2_with_pref
get one random v for a k1,k2 via SQL. prefer a word to show up in the
results, though there's no guarantee it will. this simplifies the
general looking forward case, and could possibly even work ok on the new
sentence stuff, though i haven't tried to update that portion of the
code yet
2013-02-08 02:07:57 -06:00
Brian S. Stephan db221a3c06 Markov: keep start2 from leaking out of backfill
only add the reverse-search result to list of words if it isn't __start2
(and if it is __start2, just carry on, giving the code one last chance
to find something else)
2013-02-08 02:02:44 -06:00
Brian S. Stephan 5a55227cf9 Markov: _retrieve_random_k2_for_value
rather than getting all k2s for a value from the database, then walking
the list and picking one at random, pick one for a value at random via
a query

this simplifies the code, and is (usually) faster than the old way,
which has been removed. it would be even faster if it weren't for that
context_id stuff, but so it goes
2013-02-08 01:15:32 -06:00
Brian S. Stephan b5be0501de Merge branch 'master' of ayu.incorporeal.org:dr.botzo 2013-02-08 00:21:38 -06:00
Brian S. Stephan 232eeccbcb Markov: let backwards chainer go randomly longer
the code, in a kind of trial state, would very quickly stop trying to
work backwards. (part of this was for performance reasons, i believe.)
since that seems to have proven stable, let's mess with it --- the
backwards chainer can now go backwards a random distance, rather than
just what almost always turned out to be 2
2013-02-08 00:21:08 -06:00
Brian S. Stephan 60ac4d25bd Markov: some minor formatting/pylint cleanups 2013-02-07 23:51:41 -06:00
Brian S. Stephan ed63e027d4 dr.botzo.py: optionally connect via ipv6, ssl 2013-01-22 17:12:37 -06:00
Brian S. Stephan 89847a6e58 IrcAdmin: sleep a configured time before autojoin
this is to let any sort of autosend commands apply before joining
channels. for example, i have my bot set to turn on its hostserv cloak,
which was sometimes happening after channel joins, making its hostname
appear different in various channels. this solves that

as a total aside, this module is becoming really poorly named, i should
probably do something about that
2013-01-13 11:45:01 -06:00
Brian S. Stephan 64341b4fb2 Merge branch 'master' of git.incorporeal.org:dr.botzo 2013-01-12 10:11:20 -06:00
Brian S. Stephan 475fa73bf3 Dispatch: encode('utf-8') XML-RPC input 2013-01-12 10:10:32 -06:00
Brian S. Stephan 9ea3e9d688 procmail-to-dispatch.py: send email notifications
this is a python3 example of how one might use Dispatch to send
notifications on events. it's nothing robust but it gets the job done,
generally
2013-01-04 13:13:38 -06:00
Brian S. Stephan 947e82b78f Dispatch: send messages to channels via XML-RPC
keep a collection of key-channel pairs that, when receiving an XML-RPC
dispatch message with a key and message, sends the message to the
associated channel. this allows for various notification bus style stuff

this is the barebones version, there's no IRC admin interaction yet, so
all key-channel pairs need to be managed by direct database access. it
is possible i won't bother changing this. there are also some
not-so-clever assumptions, like that the bot is already in the channel
it is trying to speak in
2013-01-04 10:17:07 -06:00
Brian S. Stephan 30a395bc05 Module: new_sendmsg, embrace one-connection idiom
since we've been saying that the rule is one bot, one connection, we
don't need to pass said connections around as much. this new_sendmsg(),
which should eventually become sendmsg(), uses that, and leans on
irc.server instead
2013-01-04 10:14:37 -06:00
Brian S. Stephan 77ada246c7 Module: stub out xmlrpc_init()
similar to db_init(), create a stub xmlrpc_init() that's called during
module initialization, for doing XML-RPC setup stuff
2013-01-04 10:13:57 -06:00
Brian S. Stephan f7f40fc070 Pi: comment cleanups 2012-12-21 11:24:16 -06:00
Brian S. Stephan 315869de4d TODO: thinking we probably don't need a cron thing 2012-12-21 11:20:54 -06:00
Brian S. Stephan 5ca200900f BUGS: document twitter bug to fix when i'm not lazy 2012-12-21 11:20:30 -06:00
Brian S. Stephan fe2358462a Countdown: remove unused import re 2012-12-20 18:06:09 -06:00
Brian S. Stephan 180cc6dacd TODO: use priority sensibly
probably, once all of the modules are using regex handlers, there won't
need to be a method for member for it at all, since the only thing that
will need to refer to it will be the module itself
2012-12-20 14:30:56 -06:00
Brian S. Stephan ecf295314d Echo: fix comment, groups is a tuple, not a list 2012-12-20 14:29:52 -06:00
Brian S. Stephan d0900452bc Countdown: total rewrite. regex handlers, mysql
this is a pretty decent example of how to do new modules now, i think,
and of decent size while showing most of what one would want to do
2012-12-20 14:27:43 -06:00
Brian S. Stephan 455abc0b8a Module: suggest register_handlers() for XML-RPC 2012-12-20 10:41:31 -06:00
Brian S. Stephan 08d08d537e Echo: wrap echo() for the XML-RPC server
this serves as a good example of how to reuse code for the XML-RPC
interface. we wrap it for convenience, so that all that needs to be
supplied to the web service method is the message to echo. of course,
other modules can wrap things how they feel the need to, even adding
authentication, i guess, if they wanted

note that it doesn't unregister the XML-RPC method. for starters, i
didn't add an unregister to DrBotIRC, so it can't, and secondly, it
looks like reregistering overwrites the old one. this hasn't been
extensively tested but that's what i'm seeing
2012-12-20 10:36:53 -06:00
Brian S. Stephan 4baf0a70e9 DrBotIRC: remove XML-RPC echo
the server idea seems to work, let's have Echo implement this as a
test/example
2012-12-20 10:34:38 -06:00
Brian S. Stephan f09bc06634 Echo: rewrite to do regex handlers
this is the first implementer of the new regex handler code, by all
accounts it's working fine, hopefully the underlying code in DrBotIRC
won't need to change as i go forward, but it might
2012-12-20 10:20:33 -06:00