Commit Graph

203 Commits

Author SHA1 Message Date
projectmoon 8c2a90e86b Tests for secure commands and user DB API. 2021-05-22 22:48:47 +00:00
projectmoon 926dae57fb Add check password command. 2021-05-22 22:25:00 +00:00
projectmoon 4557498ac6 Improved command logging, sensitive to secure commands. 2021-05-22 22:17:33 +00:00
projectmoon ca34841d86 Functional user account registration. 2021-05-22 14:52:32 +00:00
projectmoon c1ec7366e4 Add user accounts, registration command, secure command valiation. 2021-05-22 14:01:16 +00:00
projectmoon a84d4fd869 Make command parsing case insensitive. 2021-05-21 22:40:03 +00:00
projectmoon 34ee2c6e5d Consider command execution secure when proper conditions are met.
- If the room is end-to-end encrypted.
 - If only the sending user and the bot are present in the room.

This lays groundwork for sensitive commands like registering a user
account with the bot.
2021-05-21 22:28:45 +00:00
projectmoon 9de74d05a9 Add an is_secure attribute for commands. 2021-05-21 15:32:08 +00:00
projectmoon 5643677627 Consolidate dice and variable parsers under parser module. 2021-05-21 14:44:03 +00:00
projectmoon de63fd914e Move commands.rs to commands/mod.rs; move migrate_cli.rs. 2021-05-21 14:35:56 +00:00
projectmoon e73ad118b2 Move some declaration-only modules to mod.rs files in folders. 2021-05-21 14:30:46 +00:00
projectmoon 3d5cda39c8 Consolidate dice module into logic module. 2021-05-21 14:26:58 +00:00
projectmoon 402f236ba7 Remove sled and all related crates from dependencies. 2021-05-21 14:21:22 +00:00
projectmoon 059538b95d Remove remaining warnings. 2021-05-21 14:14:03 +00:00
projectmoon 4de273db4a Remove sled code; promote sql to top level 2021-05-21 14:05:25 +00:00
projectmoon 5630b4ed20 Add sled migration utility. 2021-05-20 15:30:44 +00:00
projectmoon a3b39ee42c Use ON CONFLICT and transactions where appropriate. 2021-05-19 21:34:11 +00:00
projectmoon 7eee16961e Add tests for dbstate. 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 2021-05-18 22:15:03 +00:00
projectmoon d1c04b8817 Tests for all of the variables DB api. 2021-05-18 21:39:48 +00:00
projectmoon 5e899cd962 Return key not found error if value not found for user. 2021-05-18 15:37:20 +00:00
projectmoon 257f3a066c Some user variable tests. 2021-05-18 15:17:30 +00:00
projectmoon e539dcac1f Move migrations to sqlite directory. Remove in-memory temp db until refinery supports sqlx. 2021-05-18 14:50:49 +00:00
projectmoon 9f97a6cb43 Implement variable count; fix listing all variables returning values for all users. 2021-05-18 14:27:15 +00:00
projectmoon a665293268 Fix recording of room users, better logging.
- 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.
- 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. 2021-05-16 21:39:19 +00:00
projectmoon 9798821b7b Implement room and dbstate for sqlite. 2021-05-16 14:29:57 +00:00
projectmoon cf9ce63892 Replace application-level database connectivity.
- 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.
- 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. 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. 2021-05-13 22:12:47 +00:00
projectmoon 38fbef4101 Update help; add call of cthulhu. 2021-05-13 21:47:35 +00:00
projectmoon 0396911c56 Remove extraneous <p> tags in dice roll outputs. 2021-05-13 21:29:44 +00:00
projectmoon c4e0393d99 Update variables on advancement rolls. 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. 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 2021-03-22 15:01:49 +00:00
projectmoon e5431a587d Support complex expressions on CoC advancement rolls. (#55)
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. 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. 2021-03-15 20:10:42 +00:00
projectmoon 67291e6deb Switch to Duration::from_secs, because we don't need nanos. 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). 2021-02-09 22:22:09 +00:00