Commit Graph

49 Commits

Author SHA1 Message Date
Brian S. Stephan 998153c511 add a !weather command to the bot 2019-10-06 10:15:06 -05:00
Brian S. Stephan 5660af1614 genericize request methods in DrBotzoBackend 2019-10-06 10:14:43 -05:00
Brian S. Stephan cfb7cdf6b2 markov.py: get context/target from guild or author rather than hardcoded 2019-09-29 12:55:53 -05:00
Brian S. Stephan 10fdf5f33c dice.py: remove unnecessary duplicate response.raise_for_status 2019-09-29 12:16:57 -05:00
Brian S. Stephan 859c164fea add markov plugin for learning/replying to chatter 2019-09-29 12:16:09 -05:00
Brian S. Stephan 8466cd62a0 .gitignore *.env 2019-09-29 12:15:46 -05:00
Brian S. Stephan 8f0ae10fd4 dos2unix **/* 2019-07-01 12:11:17 -05:00
Brian S. Stephan 061a15caa3 give better output to discord of dice rolls, handle errors 2019-06-29 10:55:26 -05:00
Brian S. Stephan 5e4bcf6b1c add error detail handling to DrBotzoBackend
written for expecting a JSON with detail in an error response, but might
also decently handle the other cases
2019-06-29 10:55:07 -05:00
Brian S. Stephan f048d7c193 add basic form of dice rolling via dr.botzo
not done yet, just getting the code out there for now
2019-06-22 11:52:41 -05:00
Brian S. Stephan d4ea843088 logging tweaks 2019-06-22 11:16:02 -05:00
Brian S. Stephan f9baa76a24 reset the hitomi project, remove django, rebuild deps 2019-06-22 10:39:56 -05:00
Brian S. Stephan 8be039da80 use "first recipient"'s name for DM log file
we were using the message author before, which made sense for incoming
messages, but then all the replies were getting dumped to a directory
for the bot, which doesn't make much sense. this will use the "first
recipient", which sounds kind of like a backwards-compat attribute but
does what we want for single-user DMs

if we ever care heavily about multi-user DMs we should maybe look at
channel.recipients, but that probably changes over time, so we'd need
to use channel.id?
2018-01-17 10:49:29 -06:00
Brian S. Stephan 6cef90cf7b fix typo in default setting name 2018-01-17 10:37:43 -06:00
Brian S. Stephan 347f8f83bf Merge branch 'master' of git.incorporeal.org:bss/hitomi 2018-01-17 10:32:20 -06:00
Brian S. Stephan aa71fc3232 don't markov-learn what looks like a command 2018-01-17 10:31:16 -06:00
Brian S. Stephan 826f34e866 log dice rolls 2018-01-17 10:30:44 -06:00
Brian S. Stephan 7dbe30a411 don't rebuild parser on every dice roll 2018-01-17 10:30:07 -06:00
Brian S. Stephan 69906aa474 add configuration for the bot command prefix 2018-01-17 10:26:52 -06:00
Brian S. Stephan 80d0fd1263 Merge branch 'master' of git.incorporeal.org:bss/hitomi 2018-01-10 14:55:59 -06:00
Brian S. Stephan 46754d6979 serve up a blank / 2018-01-10 14:54:51 -06:00
Brian S. Stephan 00645e8d93 allow specifying port for the API to listen on 2018-01-10 12:47:47 -06:00
Brian S. Stephan 51edb54ed7 add markov module and irc plugin
just listens to servers right now, doesn't speak up (yet)
2018-01-10 09:38:12 -06:00
Brian S. Stephan 7ec643afda use the config-based bot plugin loader 2018-01-09 15:37:53 -06:00
Brian S. Stephan 8b7ee5ee19 .gitignore db.sqlite3 2018-01-09 15:20:29 -06:00
Brian S. Stephan 793fdb0e84 config option for loading bot "plugins"
as it turns out, i can't use a module __init__.py to load bot stuff, if
that code would refer to django models, because the django code will try
to do stuff before the apps are initialized, and then the entire house
of cards crumbles apart.

so, i will explicitly load these bot "plugins" separately, after the
modules proper are all initialized
2018-01-09 15:18:38 -06:00
Brian S. Stephan 6a5985b002 add on_message_handlers to Bot, by extending Bot
Bot is now extended as Hitomi, so that we can add on_message_handlers =
[], which will store functions to call when on_message happens. this is
necessary because i want to have two things react to on_message, but the
discord.py code only supports one coroutine for on_message. so, this is
a hook into it to do what i want

not sure if i'll end up needing this for on_message_edit or
on_message_delete, but i'm skeptical right now
2018-01-09 15:16:01 -06:00
Brian S. Stephan 50a5c3d94a allow supplying max_messages to the discord bot 2018-01-09 13:30:21 -06:00
Brian S. Stephan 213b9ff400 add logger module, logs new/edit/delete msgs
this logs these messages to a file directory. more stuff may get added
eventually
2018-01-09 13:28:33 -06:00
Brian S. Stephan 9c551d37a0 weather: use ** for bold rather than irc codes 2018-01-09 11:01:49 -06:00
Brian S. Stephan 138a0cdc2a refine logging usage in weather module 2018-01-09 10:25:11 -06:00
Brian S. Stephan a226cfd020 use logging in bot startup 2018-01-09 10:24:37 -06:00
Brian S. Stephan c2da9d09a3 add HTTP API to the bot
we use aiohttp and directly grab the discord bot's asyncio handler to
create a shared loop. things seem to work?
2018-01-09 10:23:36 -06:00
Brian S. Stephan fa18533667 document our requirements.in files 2018-01-09 09:41:03 -06:00
Brian S. Stephan e8825cb763 add aiohttp explicitly, for an API server 2018-01-09 09:37:45 -06:00
Brian S. Stephan 2d25fbd468 .gitignore .log files 2018-01-08 16:33:21 -06:00
Brian S. Stephan cc5dc94ea8 add the forecast command to weather module 2018-01-08 16:32:29 -06:00
Brian S. Stephan 114df6fd1b add weather module, for reporting the weather
stolen from dr.botzo
2018-01-08 16:30:20 -06:00
Brian S. Stephan f3171e22a4 add requests to requirements, for wunderground 2018-01-08 16:26:34 -06:00
Brian S. Stephan ca61d8ac04 roll simple and complicated dice
copy and paste of the dice module from dr.botzo, uses ply
2018-01-08 12:40:19 -06:00
Brian S. Stephan c7fb3d11e0 add ply (lex and yacc), for the dice module 2018-01-08 11:42:24 -06:00
Brian S. Stephan b41729bd06 .gitignore some lex/yacc stuff 2018-01-08 11:39:52 -06:00
Brian S. Stephan 3850595b14 add dice module, give it a !choose 2018-01-08 10:21:30 -06:00
Brian S. Stephan ef29f9f3e2 trivial whitespace change for pep stuff 2018-01-08 09:56:15 -06:00
Brian S. Stephan 1ef8318f67 start Django project, add basic Discord bot
doesn't do much other than connect, but the idea generally works, so
hooray?

now just to make sure i can actually use the decorator in other modules
properly
2018-01-08 09:30:31 -06:00
Brian S. Stephan 873476ad5d add Django to requirements 2018-01-08 09:20:56 -06:00
Brian S. Stephan b123221323 add basic requirements for discord.py and dev stuff 2018-01-03 00:17:46 -06:00
Brian S. Stephan 3802360548 .gitignore - ignore .idea/ 2018-01-03 00:16:46 -06:00
Brian S. Stephan 909efcbb6a Add README.md 2018-01-02 22:49:12 -06:00