117 Commits

Author SHA1 Message Date
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
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
d174ee7bc7 fix: handle Runner in BotController
reason: earlier, Runner and js runtime in it were freed after init of
BotController, which potentially was able to lead into hanging function
in config without runtime, BUT, there is check in in JS_FreeRuntime to
have zero objects, so bug found without hesitation ;)
2025-05-21 14:07:02 +05:00
Akulij
2ccfc19a6c create filter to handle botscript-defined commands 2025-05-20 02:47:00 +05:00
Akulij
0e10cdbdf0 create command module
defines BotCommand struct
2025-05-20 01:07:11 +05:00
Akulij
29cd73e98f create basic handler to answer BotMessage 2025-05-20 00:44:08 +05:00
Akulij
3d9a1c31b4 use RunnerConfig in BotController 2025-05-20 00:42:32 +05:00
Akulij
08c1b67f02 create botscript runner 2025-05-10 03:27:35 +03:00
Akulij
4ba2d87ee0 create function for user replies to support
All checks were successful
Build && Deploy / cargo build (push) Successful in 36s
2025-05-09 20:35:39 +03:00
Akulij
2cf71b964d update users state to MessageForwardReply on support reply 2025-05-09 19:09:09 +03:00
Akulij
abc079831d create MessageForwardReply state 2025-05-09 19:08:37 +03:00
Akulij
2590055ea1 fix: enable html parse mode for message sent from support
All checks were successful
Build && Deploy / cargo build (push) Successful in 38s
2025-05-09 00:29:36 +03:00
Akulij
aaed6fcdca store MessageForward in LeaveApplication callback 2025-05-09 00:29:16 +03:00
Akulij
c1c331ab29 return chat and message id in answer message 2025-05-09 00:24:59 +03:00
Akulij
729f0c3eea return teloxide's Message struct in send_application_to_chat 2025-05-09 00:23:41 +03:00
Akulij
27a829b784 create AdminMisconfiguration error 2025-05-09 00:21:54 +03:00
Akulij
c69b6595fd handle replies to MessageForward from support chat 2025-05-08 23:55:23 +03:00
Akulij
4277fc5523 use answer_message_varianted_silence_flag in replace message
All checks were successful
Build && Deploy / cargo build (push) Successful in 56s
2025-05-04 19:18:33 +03:00
Akulij
4e95c846d1 use text variations in replace_message 2025-05-04 19:18:05 +03:00
Akulij
624951392e create answer_message_varianted_silence_flag
reason: to be able to silence if it used as fallback in replace_message
2025-05-04 19:17:27 +03:00
Akulij
f69eff72d6 store variant in Message 2025-05-04 19:14:54 +03:00
Akulij
af53efca0e change variant_text naming asnwer_message_varianted, to not mix up with argument 2025-05-04 19:14:11 +03:00
Akulij
c371f81008 send /start message variants based on meta (?start=...)
All checks were successful
Build && Deploy / cargo build (push) Successful in 59s
2025-05-04 18:43:10 +03:00
Akulij
e68ba4b796 implement variant editing thru Edit state 2025-05-04 18:41:40 +03:00
Akulij
f86286b1d4 use variant in answer_message_varianted 2025-05-04 18:11:55 +03:00
Akulij
92b43aed65 extend answer_message with LiteralAlternatives in new function
answer_message_variant
2025-05-04 18:04:30 +03:00
Akulij
caca9e354d change ProjectPage callback's keyboard generation 2025-05-03 16:39:47 +03:00
Akulij
e33ccc48b3 add support for telegrams ?start=... hidden tag pushing them into user.metas 2025-05-02 17:21:46 +03:00
Akulij
56f1ee41fc add LeaveApplication and AskQuestion callback buttons to /start keyboard 2025-05-02 17:20:33 +03:00
Akulij
955dde825b create AskQuestion callback 2025-05-02 17:20:09 +03:00
Akulij
aa32d73046 create LeaveApplication callback 2025-05-02 17:19:44 +03:00
Akulij
f1ecd0d1db create send_application_to_chat function 2025-05-02 17:15:44 +03:00
Akulij
ac0833a9f6 create notify_admin command 2025-05-02 17:13:28 +03:00
Akulij
3ba56d488e fix: admin_id should be set from ADMIN_ID 2025-05-02 16:14:55 +03:00
Akulij
14f05e5213 require ADMIN_ID in config
reason: there should be fallback function that notifies admin about when
something went wrong
2025-05-02 15:45:43 +03:00
Akulij
d3c8b7605d clippy: fix warnings 2025-05-02 14:50:27 +03:00
Akulij
abc26d7be0 make ProjectPage callback to actually display some projects information 2025-05-02 14:30:50 +03:00
Akulij
ed379cc418 change literal in MoreInfo to more_info_msg to avoid collision with button 2025-05-02 13:36:48 +03:00
Akulij
d447fe0b19 replace EditTextOnly state with Edit in button_edit_callback function 2025-05-02 13:33:35 +03:00
Akulij
e1eb94a030 delete EditTextOnly state
reason: just use Edit state with user warning that you will accept only text
2025-05-02 13:31:57 +03:00
Akulij
8326e819c7 change create_callback_button to accept Callback instead of CallbackInfo
reason: its more convinient for this function and and ability to create
CallbackInfo with literal
2025-05-02 13:23:47 +03:00
Akulij
a3c9cd1bb8 catch EditButton state 2025-05-02 13:21:05 +03:00
Akulij
1ff3f704c1 create button_edit_callback function 2025-05-02 13:19:16 +03:00
Akulij
2b037e0eaa create MsgTooOld bot error variant 2025-05-01 14:46:43 +03:00
Akulij
5ec8e2201c create GoHome callback 2025-05-01 14:45:53 +03:00
Akulij
7ec9c540e5 replace message on MoreInfo callback instead of new one 2025-05-01 14:45:00 +03:00
Akulij
2aaa2b7469 create replace_message function 2025-05-01 14:43:05 +03:00