projectmoon
4de273db4a
Remove sled code; promote sql to top level
2021-05-21 14:05:25 +00:00
projectmoon
5630b4ed20
Add sled migration utility.
continuous-integration/drone/pr Build is passing
Details
continuous-integration/drone/push Build is passing
Details
2021-05-20 15:30:44 +00:00
projectmoon
a3b39ee42c
Use ON CONFLICT and transactions where appropriate.
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/pr Build is failing
Details
2021-05-19 21:34:11 +00:00
projectmoon
7eee16961e
Add tests for dbstate.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
2021-05-19 21:16:39 +00:00
projectmoon
43d8f9574f
Allow 'upserts' in insert_room_info. Add a few more room db tests.
2021-05-19 21:06:28 +00:00
projectmoon
1c4cd3d139
Add tests for rooms db API
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
2021-05-18 22:15:03 +00:00
projectmoon
d1c04b8817
Tests for all of the variables DB api.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
2021-05-18 21:39:48 +00:00
projectmoon
5e899cd962
Return key not found error if value not found for user.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
2021-05-18 15:37:20 +00:00
projectmoon
257f3a066c
Some user variable tests.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
2021-05-18 15:17:30 +00:00
projectmoon
e539dcac1f
Move migrations to sqlite directory. Remove in-memory temp db until refinery supports sqlx.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
2021-05-18 14:50:49 +00:00
projectmoon
9f97a6cb43
Implement variable count; fix listing all variables returning values for all users.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
2021-05-18 14:27:15 +00:00
projectmoon
a665293268
Fix recording of room users, better logging.
...
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
- Fix constraint violations when recording users in rooms (migration fix).
- Switched to tracing_subscriber to get log events from matrix SDK.
- Remove "Applying migration" messages, and rely on refinery to log instead.
- Log when an outgoing error is encountered.
2021-05-17 23:12:27 +00:00
projectmoon
66fb6e7cf8
Fix various issues with room events and related logic.
...
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
- Processing events multiple times when re-joining rooms.
- Always thinking we've not processed an event/constraint
violations (arguments were reversed in record_event).
- Not handling errors when fetchin users in a room, and instead
just suppressing them. Now, we handle errors!
- Also update dependencies (attempt to fix ID too big bug, but no
fix).
2021-05-16 22:24:27 +00:00
projectmoon
bfc5609ab6
Add proper constraints to db tables. Report errors when listing users.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
2021-05-16 21:39:19 +00:00
projectmoon
9798821b7b
Implement room and dbstate for sqlite.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
2021-05-16 14:29:57 +00:00
projectmoon
cf9ce63892
Replace application-level database connectivity.
...
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
- Some database methods not yet implemented.
- Unit tests create temp files that are not cleaned up (but they should be).
2021-05-15 23:45:30 +00:00
projectmoon
6b6e59da2e
Initial SQLx implementation (variables). not yet wired up to bot.
...
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
- Adds migrations for the necessary tables.
- Implements the user variables database functions.
- Adds sqlx metadata for 'offline' use so we can build without a database.
2021-05-15 15:27:40 +00:00
projectmoon
b894fb83db
Update binary entrypoint crate imports after rename.
2021-05-14 22:25:09 +00:00
projectmoon
30f800eb4a
Relicense to AGPL, change project name.
continuous-integration/drone/push Build is running
Details
2021-05-14 22:07:16 +00:00
projectmoon
2096af2512
Show username pill when executing multiple commands.
2021-05-13 22:31:38 +00:00
projectmoon
490d17790a
Add a few more aliases for cthulhu advancement rolls.
continuous-integration/drone/push Build is passing
Details
2021-05-13 22:12:47 +00:00
projectmoon
38fbef4101
Update help; add call of cthulhu.
continuous-integration/drone/push Build is passing
Details
2021-05-13 21:47:35 +00:00
projectmoon
0396911c56
Remove extraneous <p> tags in dice roll outputs.
continuous-integration/drone/push Build is running
Details
2021-05-13 21:29:44 +00:00
projectmoon
c4e0393d99
Update variables on advancement rolls.
continuous-integration/drone/push Build is passing
Details
2021-05-13 21:16:41 +00:00
projectmoon
d67328ac6b
Cthulhu dice only take one amount now
2021-05-13 20:24:17 +00:00
projectmoon
ec66bfa3d6
Add parse_single_amount
2021-05-13 20:06:37 +00:00
projectmoon
8939d6debd
Update dependencies.
continuous-integration/drone/push Build is passing
Details
2021-05-13 19:48:29 +00:00
projectmoon
8d1a1a5ca6
Update dependencies.
2021-04-20 21:19:47 +00:00
projectmoon
ba6a4c9679
Update matrix SDK to latest with Room enum 2.0
continuous-integration/drone/push Build is passing
Details
2021-03-22 15:01:49 +00:00
projectmoon
e5431a587d
Support complex expressions on CoC advancement rolls. ( #55 )
...
continuous-integration/drone/push Build is passing
Details
Also remove todo, update some CoC command descriptions.
Fixes #54 .
Co-Authored-By: projectmoon <projectmoon@noreply.git.agnos.is>
Co-Committed-By: projectmoon <projectmoon@noreply.git.agnos.is>
2021-03-18 20:54:49 +00:00
projectmoon
85557c0382
Split handling of comand results from execution.
continuous-integration/drone/push Build is passing
Details
2021-03-15 20:27:57 +00:00
projectmoon
d30d39ff1e
Only consume max allowed commands + 1 when dealing with multiple commands
2021-03-15 20:13:27 +00:00
projectmoon
8e4eb574d2
Update to latest matrix SDK and other dependencies.
continuous-integration/drone/push Build is passing
Details
2021-03-15 20:10:42 +00:00
projectmoon
67291e6deb
Switch to Duration::from_secs, because we don't need nanos.
continuous-integration/drone/push Build is passing
Details
2021-02-10 20:30:17 +00:00
projectmoon
7e23f80e42
Get user list: replace format! with direct string conversion.
2021-02-10 20:25:42 +00:00
projectmoon
d813198cb0
Reply with executed command as quote (single commands only).
continuous-integration/drone/push Build is passing
Details
2021-02-09 22:22:09 +00:00
projectmoon
693167a581
Log when we are performing initial sync.
2021-02-09 21:59:32 +00:00
projectmoon
9ab65b8943
Update env_logger, rand, phf, itertools to newer semvers.
continuous-integration/drone/push Build is passing
Details
2021-02-09 21:56:13 +00:00
projectmoon
ef4f1ef02f
Small code cleanup in matrix.rs
continuous-integration/drone/push Build is passing
Details
2021-02-08 20:14:11 +00:00
projectmoon
d42e075c5c
Update dependencies.
continuous-integration/drone/push Build is passing
Details
2021-02-07 21:58:22 +00:00
projectmoon
b0707dff05
bot: Move multi-failure response join() call into the format!().
continuous-integration/drone/push Build is passing
Details
2021-02-07 21:42:32 +00:00
projectmoon
304c91c69d
Rename CommandResult to ExecutionResult
continuous-integration/drone/push Build is passing
Details
2021-02-07 21:39:21 +00:00
projectmoon
94be4d2578
Avoid key clone when deleting variables. Minor db code cleanup.
continuous-integration/drone/push Build is passing
Details
2021-02-07 21:16:58 +00:00
projectmoon
14f8bc8b39
Reuse device ID generated by matrix SDK after first login.
...
continuous-integration/drone/push Build is passing
Details
Adds new db tree for simple global state values (which also lays
foundation for other stuff), and stores device ID in that tree after
first login. The ID is then reused on subsequent runs of the
application.
This is simpler than storing device ID in config file.
Fixes #9 .
2021-02-07 14:21:28 +00:00
projectmoon
932e06ad91
Fix database error name. Improve dice number conversion error message.
continuous-integration/drone/push Build is passing
Details
2021-02-03 23:27:47 +00:00
projectmoon
b7ccd4e7ad
Refactor dice amount parser to reusable parsers.
...
This follows the example in the Combine documentation to use impl
trait return types so we can isolate the parsers into their own
functions.
2021-02-03 23:27:14 +00:00
projectmoon
9a5a18268c
Parsing huge numbers are now errors, not variables.
...
Fixed the dice amount parsing code to propagate a parsing result
through the parser, while properly handling string to i32 conversion.
We now only attempt to convert to i32 if all characters in the
expression are numeric.
This commit also refactors the dice parsing by moving most of the
parsing closures into separate functions, which makes the parsing
function itself more readable. Some variable names were also changed,
for further clarity.
Fixes #21 .
2021-02-03 23:23:03 +00:00
projectmoon
f5a8e16ce0
Slight refactor of calculate_dice_amount. Lazy error handling.
...
continuous-integration/drone/push Build is passing
Details
Use unwrap_or_else instead of unwrap_or to prevent unnecessary error
string creation. Also some changes to make the code a bit more
readable.
2021-02-02 22:02:43 +00:00
projectmoon
7512ca0694
Allow up to 50 commands per message.
...
continuous-integration/drone/push Build is passing
Details
If the amount of commands in a single message is greater, the bot will
now return an error. Includes slight refactoring of command execution
code to make use of streams for async iter-like mapping of the command
list.
Fixes #24 .
2021-02-02 21:45:59 +00:00
projectmoon
042ecc40e0
Properly format dice plurality in CofD dice pools.
...
continuous-integration/drone/push Build is passing
Details
Fixes #30 .
2021-01-31 14:57:18 +00:00