Commit graph

52 commits

Author SHA1 Message Date
2640821a05 feat!: Added limit field to quests
- Bump version to 0.12.0
- lib: Changed Quest::complete_for_account behavior
- cli: Added limit field for quest create and quest update
- discord: Quests are checked for limit on /answer
- discord: Added limit field for /quest create and /quest update
- discord: Changed behavior of fetch_or_init_account
2025-12-30 15:44:23 +03:00
d188bba16e feat: Implemented guild check
- Also added more error logging
2025-12-24 17:46:22 +03:00
d584340f01 merge: Merged message context and rocket api 2025-12-24 14:35:15 +03:00
c22787792d feat: Added API for web map in discord bot
- Bump version to 0.11.0
- Added data table to quests, accounts and rooms
- Discord bot now adds "avatar" and "name" data to accounts on init
- Added CLI "map data" command
2025-12-24 14:30:40 +03:00
81a9ec0c50 feat: Added message context to strings.quest.publish 2025-12-21 11:08:08 +03:00
0ab777d898 build: Added unfinished build-deb.sh 2025-12-19 17:15:13 +03:00
66cbd23013 style: Changed name in license 2025-12-19 16:58:50 +03:00
9d1261b74d build: Preparing stuff to create debian package
- Added deb binary target to generate incomplete control file
- Added CLI init option to insert impl_path in config
2025-12-19 16:22:02 +03:00
46af205aef style: Fixed several minor things in text
- Changed error in /move to CannotReach instead of RoomNotFound
2025-12-19 14:17:02 +03:00
cc916c06ce feat: Implemented daily timer
- Bump version to 0.10.0
- Added /timer command
2025-12-18 15:58:18 +03:00
60aa5fcb34 feat(discord): Commands description
- Added english commands description
- Added russian commands description
- Changed override option on /quest update to reset dates
- Commented out all deadline functionality
2025-12-18 13:33:42 +03:00
787118309a feat(discord): Moved most strings to Strings
- Added Error::AccountIsSelf variant
- /balance give to self now returns error
2025-12-17 14:43:40 +03:00
aec4ef8339 feat(discord)!: Added string formatter
- Added string formatter
- Added Strings struct for passing strings from file
- Refactored /info and /quest * to use formatter

BREAKING CHANGE: Changed DiscordConfig fields
2025-12-16 16:42:18 +03:00
b6ea2d8958 feat: Completed commands list
- Added MapError::CannotReach variant
- Updated Map::unlock_room_for_account to check reachableness
- Added /info command
- Added /unlock command
- Added /move command
- Added /reset command
2025-12-15 15:19:07 +03:00
4ba57b925a feat(discord): Added /balance {give,set} commands
- Also, you cannot /answer to unpublished quest
- Also, changed /scoreboard to print name instead of mentioning
- Also, made --config an option, defaulting to "cfg/config.toml"
2025-12-15 13:26:37 +03:00
99812c5d7c feat: Proper error handling
- Bump version to 0.8.0
- Added discord error struct
- All errors now implement std::error::Error
- Implemented error handler instead of relying on default
- Fixed bug where you could send answer on a completed quest
2025-12-12 16:52:31 +03:00
38e3f149b1 feat: Added /quest delete command
- Also fixed formatting and sorting in /scoreboard
2025-12-11 17:27:19 +03:00
213ecca8b9 feat(discord): Added /scoreboard command 2025-12-11 15:57:00 +03:00
78e7d9bf23 feat(discord): Added /social undo command 2025-12-11 15:19:06 +03:00
8453de086a feat(discord): Added /social commands
- Added /social msg to send messages
- Added /social edit to edit sent messages
2025-12-11 15:00:55 +03:00
85e8070daa feat: Added publish command
- /quest update also updates quest message if published
2025-12-11 13:06:21 +03:00
ced69e494f fix: forgot to commit derive 2025-12-11 10:58:55 +03:00
fb9fcfe6d7 feat: Account initialization
- discord: /answer now DM-s user and updated user balance
2025-12-10 16:59:28 +03:00
1ae57ad358 feat!: implemented answer buttons
- Also you can /init without restarting bot

BREAKING CHANGE: Changed type of Data::discord to
Arc<Mutex<DiscordConfig>, removed field pending_answers from
DiscordConfig
2025-12-10 15:48:43 +03:00
3f7e6313b0 feat: Added quest answers
- Added field pending_answers to DiscordConfig
- discord: added /answer
2025-12-10 13:06:56 +03:00
520992187d feat: Implementation config
- Bump version to 0.7.0
- Added Config::init_path
- Added Error::IsNotImplemented
- discord: added implementation config init/load
- discord: added /init
- discord: added /quest update
2025-12-09 21:15:50 +03:00
b92eaa1241 feat: Added DiscordConfig for future usage
- Added crate::error::Error::IsNotImplemented
- Added Config::full_impl_path
- Added Config::discord_impl for discord crate
2025-12-09 16:07:41 +03:00
1142fe6ad9 feat: Added impl_path field to Config struct
- Also clarified error::Error enum
2025-12-09 14:16:23 +03:00
2cf2510099 fix: Bumped squad-quest version in binary crates 2025-12-09 13:27:05 +03:00
5fa2ac330f feat: Initialized Discord bot
- Bump version to 0.6.0
- discord: Added /quest list
- discord: Added /quest create (admin)
2025-12-08 16:29:33 +03:00
2960b6dfc4 feat: Implemented file hierarchy initialization
- Bump version to 0.5.1
- Added Config::save method
- cli: Added init command
2025-12-05 17:16:40 +03:00
f88e010b4f feat: Added interactions with accounts/quests/map
- Bump version to 0.5.0
- Added Quest::complete_for_account public function
- Added Map::unlock_room_for_account public function
- cli: Added "account unlock" command
- cli: "account complete" now uses Quest::complete_for_account
- cli: refactored logging
2025-12-05 15:38:14 +03:00
790fa88fe3 refactor(cli)!: Moved CLI stuff to crate::cli
- Bump version to 0.4.0
- Added Config::try_load
- Added Config.verbose field
- Made Config.path public
- Added -q/--quiet flag to CLI

BREAKING CHANGE: Moved CLI-related objects to squad-quest-cli::cli
2025-12-04 17:37:01 +03:00
47f55105dd refactor!: Moved CLI to inner package
- Increased version to 0.3.0
- Repository now is a Cargo workspace
- Added squad-quest-cli package
- Removed CLI-specific dependencies from main crate
- Removed bin target from main package
2025-12-04 13:56:53 +03:00
5d6aa0422d feat: Added CLI rooms (dis-)connect functionality 2025-12-04 12:54:22 +03:00
b9f75e426c feat: Added Map
- Implemented Map
- Partially implemented CLI interaction with map
- Added load_map test
2025-12-03 17:01:40 +03:00
dc94f2060c feat: Added interaction with accounts in CLI
- Account creation
- Account deletion
- Account balance management
- Account quest completion
- Added account CRUD test in tests/io.rs
2025-12-02 16:12:42 +03:00
0e8cdde697 feat!: Account features
- Bump version to 0.2.0
- Added trait SquadObject
- Implemented SquadObject for Quest and Account
- Implemented Config::load_accounts
- Removed src/quest/error.rs
- Added account tests in tests/main.rs

BREAKING CHANGE: Quest::{load,delete,save} are now provided by
SquadObject trait
2025-12-02 14:33:38 +03:00
1dc7d94785 refactor!: moved quest::error::QuestError to crate::error::Error 2025-12-01 17:15:08 +03:00
a0bec4003c feat: Quest publication features for CLI
- Added "quest daily" command
- Added "quest publish" command
2025-12-01 16:43:58 +03:00
78da6dde05 feat!: Added several fields to Quest struct
- Added field public
- Added optional field available_on
- Added optional field deadline
- Updated tests and CLI to use these fields
2025-12-01 13:26:38 +03:00
96235086d7 test: fixed crud test 2025-11-29 14:46:42 +03:00
d61011f5ea feat: CLI quest CRUD
- Quest creation
- Quest list retrieving
- Quest update
- Quest deletion
2025-11-29 14:40:23 +03:00
2e14614bdf feat: full_quests_path
- Added Config::full_quests_path
- Fixed quests saving in parent folder
2025-11-29 14:12:07 +03:00
119b7bce9c feat!: CLI init
- Added CLI, does not perform any action now,
  but accepts arguments correctly

BREAKING CHANGE: Removed main.rs file
2025-11-29 11:00:12 +03:00
f5180a559b test: Quests Create/Read/Update/Delete 2025-11-28 21:39:06 +03:00
01d3755ea6 test!: Moved tests/src to tests/main to allow several commits 2025-11-28 21:08:30 +03:00
86845c54a6 feat!: Quest load and delete methods
- Added QuestError::TomlSerializeError variation
- Added QuestError::TomlDeserializeError variation

BREAKING CHANGE: Removed QuestError::TomlError variation
2025-11-28 21:02:33 +03:00
94d771107d test: Initial unit testing
- Test quests vector loading
- Test default quest on empty fields
- Test correct quest
- Fixed config paths handling
2025-11-28 17:00:17 +03:00
a5eac1b64f feat: Quest loading
- Added config::Config::load_quests()
- Added quest::error::QuestError error type
- Updated documentation
2025-11-28 15:37:48 +03:00