49 Commits

Author SHA1 Message Date
bss 998153c511 add a !weather command to the bot 2019-10-06 10:15:06 -05:00
bss 5660af1614 genericize request methods in DrBotzoBackend 2019-10-06 10:14:43 -05:00
bss cfb7cdf6b2 markov.py: get context/target from guild or author rather than hardcoded 2019-09-29 12:55:53 -05:00
bss 10fdf5f33c dice.py: remove unnecessary duplicate response.raise_for_status 2019-09-29 12:16:57 -05:00
bss 859c164fea add markov plugin for learning/replying to chatter 2019-09-29 12:16:09 -05:00
bss 8466cd62a0 .gitignore *.env 2019-09-29 12:15:46 -05:00
bss 8f0ae10fd4 dos2unix **/* 2019-07-01 12:11:17 -05:00
bss 061a15caa3 give better output to discord of dice rolls, handle errors 2019-06-29 10:55:26 -05:00
bss 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
bss 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
bss d4ea843088 logging tweaks 2019-06-22 11:16:02 -05:00
bss f9baa76a24 reset the hitomi project, remove django, rebuild deps 2019-06-22 10:39:56 -05:00
bss 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
bss 6cef90cf7b fix typo in default setting name 2018-01-17 10:37:43 -06:00
bss 347f8f83bf Merge branch 'master' of git.incorporeal.org:bss/hitomi 2018-01-17 10:32:20 -06:00
bss aa71fc3232 don't markov-learn what looks like a command 2018-01-17 10:31:16 -06:00
bss 826f34e866 log dice rolls 2018-01-17 10:30:44 -06:00
bss 7dbe30a411 don't rebuild parser on every dice roll 2018-01-17 10:30:07 -06:00
bss 69906aa474 add configuration for the bot command prefix 2018-01-17 10:26:52 -06:00
bss 80d0fd1263 Merge branch 'master' of git.incorporeal.org:bss/hitomi 2018-01-10 14:55:59 -06:00
bss 46754d6979 serve up a blank / 2018-01-10 14:54:51 -06:00
bss 00645e8d93 allow specifying port for the API to listen on 2018-01-10 12:47:47 -06:00
bss 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
bss 7ec643afda use the config-based bot plugin loader 2018-01-09 15:37:53 -06:00
bss 8b7ee5ee19 .gitignore db.sqlite3 2018-01-09 15:20:29 -06:00
bss 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
bss 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
bss 50a5c3d94a allow supplying max_messages to the discord bot 2018-01-09 13:30:21 -06:00
bss 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
bss 9c551d37a0 weather: use ** for bold rather than irc codes 2018-01-09 11:01:49 -06:00
bss 138a0cdc2a refine logging usage in weather module 2018-01-09 10:25:11 -06:00
bss a226cfd020 use logging in bot startup 2018-01-09 10:24:37 -06:00
bss 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
bss fa18533667 document our requirements.in files 2018-01-09 09:41:03 -06:00
bss e8825cb763 add aiohttp explicitly, for an API server 2018-01-09 09:37:45 -06:00
bss 2d25fbd468 .gitignore .log files 2018-01-08 16:33:21 -06:00
bss cc5dc94ea8 add the forecast command to weather module 2018-01-08 16:32:29 -06:00
bss 114df6fd1b add weather module, for reporting the weather
stolen from dr.botzo
2018-01-08 16:30:20 -06:00
bss f3171e22a4 add requests to requirements, for wunderground 2018-01-08 16:26:34 -06:00
bss 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
bss c7fb3d11e0 add ply (lex and yacc), for the dice module 2018-01-08 11:42:24 -06:00
bss b41729bd06 .gitignore some lex/yacc stuff 2018-01-08 11:39:52 -06:00
bss 3850595b14 add dice module, give it a !choose 2018-01-08 10:21:30 -06:00
bss ef29f9f3e2 trivial whitespace change for pep stuff 2018-01-08 09:56:15 -06:00
bss 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
bss 873476ad5d add Django to requirements 2018-01-08 09:20:56 -06:00
bss b123221323 add basic requirements for discord.py and dev stuff 2018-01-03 00:17:46 -06:00
bss 3802360548 .gitignore - ignore .idea/ 2018-01-03 00:16:46 -06:00
bss 909efcbb6a Add README.md 2018-01-02 22:49:12 -06:00