Commit Graph

30 Commits

Author SHA1 Message Date
2372363898
the kick event source is the kicker, so find the kickee by nick
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-07-15 18:44:58 -05:00
d9a66d0c74
message the character's player when penalties are applied
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-07-15 18:44:20 -05:00
3f2c9369bd
test (and implement) the whoreply method to log existing users in
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-06-27 09:52:00 -05:00
56b554f6f1
add scaffolding to load the bot and lightly test it
better tests might be coming some time in the future, but I have the
whole IRC framework mocked out at the moment

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-06-02 00:19:06 -05:00
731e434c8d
add a bot command to allow a user to register in a game
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-06-02 00:16:27 -05:00
f22ca875e3
requirements bumps, though they don't solve a jinja warning
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-06-01 23:30:57 -05:00
4a8babf39e
enforce exclusivity of only one active Game at a time
a prior commit made this determination for now, for simplicity's sake
(and also what are the odds of running two games at once on the same
codebase), but it was'n really enforced until now

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-06-01 23:26:49 -05:00
0ad687669e
LOGIN and LOGOUT ircbot tests
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-18 08:26:55 -05:00
e9b985bd79
change the level up time to a logarithmic curve
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-17 12:46:11 -05:00
14a1c5ceb6
get more IRC bot functionality under test
remove a character, get character status, and the main level up check
thread

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-16 22:01:12 -05:00
15df477fa4
add a manager query for level-up-able characters
will be used by the IRC plugin

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-15 12:00:14 -05:00
2730978663
start implementation of the IRC plugin
not functional yet, but this has some of the operations implemented and
under test

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-15 11:59:21 -05:00
497619e0ff
do a simple Game test of the string repr
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-14 21:17:51 -05:00
27fcecd8aa
add a Character manager operation to log everyone out
this is without penalty

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-14 14:10:33 -05:00
04e09af8a9
provide next_level as a nice-looking string
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-14 13:03:32 -05:00
fa56e51ce3
move the character password check into a separate method
just a bit of reuse

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-14 13:00:20 -05:00
2ad79285b3
unique constraint for only one hostmask enabled at a time
this replaces the need for a game+hostmask unique constraint, with this
change, a player can only have one active character they're playing
with anyway, regardless of how many games there are

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-14 11:13:13 -05:00
d0531bff53
have character status display strings lowercase for use mid-sentence
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-14 10:55:51 -05:00
d322429157
tweak the formatting of the character summary string
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-14 10:36:10 -05:00
f941762f26
get rid of the online character status, it's not necessary
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-12 23:36:25 -05:00
54e944b74b
actually, just make Character.name completely unique
login, logout, etc. are too annoying otherwise

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-10 16:08:16 -05:00
7d0c8f3431
separate the logged in state from the online state for a character
I think we will need to distinguish in the database characters whose
players are online but not yet logged in, so start building for that now

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-10 16:08:13 -05:00
34aa91ad9e
add unique constraint on name + hostmask
I'm thinking that the command to log out will be LOGOUT <name>, which
means the user hostmask must have an unambiguous link to name

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-10 13:37:17 -05:00
ab9690fa1c
only log idlerpg at DEBUG level
the IRC bot is spammy otherwise

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-10 12:12:54 -05:00
b9e8976b0f
add irc library to dependencies
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-10 12:11:28 -05:00
f452aab825
don't penalize character inside the log_out method
part, quit, kick are all going to have their own need to log out the
character without a penalty (because they apply their own), so to avoid
double penalties, the log out penalty should be moved into the bot
command and managed that way. this was the only place where an action
method was also applying a penalty, so hopefully this remains consistent
too

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-07 08:42:48 -05:00
180d3f8b6f
rename the test app core from test_project to dr_botzo
the ircbot library expects to be able to load from the dr_botzo package

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-07 00:23:27 -05:00
d862aa16d8
implement the bones of character management
this provides character-level operations such as character creation,
logging in/out, leveling them, and penalizing them. this isn't a game,
yet, but it does implement and test a lot of the core functionality,
just without triggers or bulk operations

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-06 00:16:16 -05:00
9540c98d18
add more development tools and start the test scaffolding
this runs with a basic model and even more basic test, but I'm not
committing those yet as I'm still playing with the model (lest I make 30
revisions right off the bat)

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-05 23:03:23 -05:00
c15438a194
initial project scaffolding, just structure + license stuff mostly
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-03 14:50:57 -05:00