Akulij
fde7087172
create /newscript command handler
2025-05-31 10:28:22 +05:00
Akulij
67ad3c2acd
plug provided handlers in start_bot
2025-05-28 11:11:25 +05:00
Akulij
866a028de1
move out bot handlers to separate module
2025-05-28 11:10:32 +05:00
Akulij
e63187dcd3
rename botscript_command_handler to more correct handle_botmessage
2025-05-28 10:15:30 +05:00
Akulij
098cff72bd
delete inspector in botscript handler
2025-05-28 10:14:14 +05:00
Akulij
d428c8798d
make script_handler return a public type
2025-05-27 15:35:40 +05:00
Akulij
6eb6f2f454
fix: start bot with it's db name
2025-05-27 15:34:50 +05:00
Akulij
2fdd8a346d
fix: instead of actually starting bot on /deploy, just put info in DB
...
reason: it's not a responsibility of /deploy command to store bot info
AND starting bot thread, isntead it is responsible only for storing info
in DB, as every other command does, and then bot will lazily start by
bot manager
2025-05-27 15:12:14 +05:00
Akulij
d10acc992a
start bot instances in main
2025-05-27 14:21:36 +05:00
Akulij
8e3c647727
fix: handle io and RwLock error for bot manager
2025-05-27 14:20:02 +05:00
Akulij
8fed0daf4c
extend BotController creation implementation
2025-05-27 14:17:29 +05:00
Akulij
e1b6b5aa10
derive Clone for BotController
2025-05-27 14:14:23 +05:00
Akulij
4a35243a4c
store RunnerConfig in BotController as atomic rw lock for thread safety
2025-05-27 14:13:28 +05:00
Akulij
1757571f35
create bot_name field in Config
2025-05-27 14:11:33 +05:00
Akulij
77ba6dcfc5
define const MAIN_BOT_SCRIPT
2025-05-27 14:10:48 +05:00
Akulij
6ac3665dee
fix: add bot_handler to compile tree
2025-05-27 04:17:26 +05:00
Akulij
ef5d74cf1c
create bot_manager module to handle background bot start
2025-05-27 04:17:05 +05:00
Akulij
593316d541
cargo add lazy_static
2025-05-27 04:15:39 +05:00
Akulij
a136558681
create MongodbStorage::from_db initializer
2025-05-27 04:09:47 +05:00
Akulij
9e99064bc5
create DB.with_name method
2025-05-27 04:09:05 +05:00
Akulij
3acd168155
make Runner thread safe
2025-05-27 04:08:27 +05:00
Akulij
4be9c034c9
use variable db name instead of hardcoded one
2025-05-26 20:50:25 +05:00
Akulij
9bbf481002
derive Clone on bot and runner config
2025-05-26 20:48:11 +05:00
Akulij
4384431696
create RunnerConfig::init_with_db
2025-05-26 20:47:35 +05:00
Akulij
13a861e74b
cargo add serde_json
2025-05-26 20:45:59 +05:00
Akulij
ff7f317ae5
create attach_db_obj for botscript
2025-05-26 20:44:34 +05:00
Akulij
aac968e408
add RawCallError to ScriptError
2025-05-26 20:43:04 +05:00
Akulij
cb7c888028
create RawCall trait, that will contain DB methods to call from script runtime
2025-05-26 20:22:46 +05:00
Akulij
a33d4b393c
impl GetCollection for CallDB
2025-05-26 20:16:12 +05:00
Akulij
9c15b0a375
create DbCollection and GetCollection traits
2025-05-26 20:15:27 +05:00
Akulij
4c149b6922
create BotInstance collection
2025-05-26 20:12:46 +05:00
Akulij
a7433cd8cc
create /deploy admin command
2025-05-26 20:10:12 +05:00
Akulij
bdb30c8d98
create default script for new bots
2025-05-26 20:08:55 +05:00
Akulij
d1c1b7500d
create script_handler function that creates teloxide's handler for botscript dispatch
2025-05-26 20:06:07 +05:00
Akulij
d5dbaa0b75
refactor message answer and replace
2025-05-25 09:40:41 +05:00
Akulij
4548419946
implement botscript_command_handler
2025-05-23 16:36:34 +05:00
Akulij
e8dbf3db76
access RunnerConfig instead of manually using commands hash map
2025-05-23 16:29:54 +05:00
Akulij
1ff86f641f
impl RunnerConfig::get_command_message
2025-05-23 16:27:06 +05:00
Akulij
31e78be68f
change interface for ResolveValue
2025-05-23 16:26:35 +05:00
Akulij
217a074c95
create ResolveError
2025-05-23 16:24:17 +05:00
Akulij
1c17639c0e
handle DbError in ScriptError
2025-05-23 16:23:54 +05:00
Akulij
9e35f4168e
use DB and join_all
2025-05-23 16:23:12 +05:00
Akulij
178f2a2399
create ButtonRaw name, callback_name and literal getters
2025-05-23 16:21:26 +05:00
Akulij
1730107e9a
create BotMessage.literal getter
2025-05-23 16:20:21 +05:00
Akulij
506fdcb260
create BotMessage.resolve_buttons
2025-05-23 16:19:37 +05:00
Akulij
6d5f748ab8
create ButtonLayout::resolve_raw
2025-05-23 16:15:44 +05:00
Akulij
cbb9c0c335
botscript: create ButtonLayout enum
2025-05-23 16:13:56 +05:00
Akulij
f8c63e5315
create BotMessage.fill_literal method
2025-05-23 16:04:03 +05:00
Akulij
66180e0cfb
add optional literal string in BotMessage
2025-05-23 16:03:12 +05:00
Akulij
1117af0724
impl ButtonName.resolve_name
2025-05-23 15:49:30 +05:00