Commit graph

175 commits

Author SHA1 Message Date
mykola2312
38d87ac70c improve docker configs 2024-02-29 20:41:00 +02:00
mykola2312
17ecd681d8 instead of file logging we're going to use stdout because bot will be run in container, therefore container output is a log 2024-02-29 20:20:06 +02:00
mykola2312
397178e856 use db and log paths as target/debug for debug run 2024-02-29 17:51:11 +02:00
mykola2312
506a2287b9 introduce sqlx migrations 2024-02-29 16:23:15 +02:00
mykola2312
bb0b1a5a00 fix unused 2024-02-28 18:03:38 +02:00
mykola2312
4880f74c8f don't output ansi colors to log file 2024-02-27 01:40:27 +02:00
mykola2312
6ce2a42d4e make a layer filter to to prevent polling timeout errors from clogging logs 2024-02-27 01:13:43 +02:00
mykola2312
c3a97c74e3 introduce logging to important functions 2024-02-26 22:46:08 +02:00
mykola2312
8ea0c31ff6 make spawn function accept slice of &str instead of generics so joining into string for logging is easy 2024-02-26 22:12:47 +02:00
mykola2312
ae3c0a9557 make proper logging to file as well as writing errors to stderr. ditch idea with non_blocking because that's not async thing 2024-02-26 21:42:10 +02:00
mykola2312
8a6965a24f file logging seems to work except non-blocking 2024-02-26 20:32:19 +02:00
mykola2312
7987e13b2a implement tracing logging 2024-02-26 19:22:24 +02:00
mykola2312
64f98f1ff7 accidentally pushed db file bruh 2024-02-26 00:53:39 +02:00
mykola2312
524b7970e0 make SqlitePool a dptree dependency, so handlers would have access to database 2024-02-26 00:42:28 +02:00
mykola2312
f87834a4f4 begin embedding sqlx into teloxide handlers 2024-02-25 23:44:05 +02:00
mykola2312
1129baa702 add sqlx crate 2024-02-25 22:43:29 +02:00
mykola2312
64d1f67e16 move generic bot download function to its own function to avoid code duplication 2024-02-24 15:23:57 +02:00
mykola2312
83136d7158 write function to parse url via url crate 2024-02-24 15:20:38 +02:00
mykola2312
a1515522a4 add warning to spawn function 2024-02-24 14:55:37 +02:00
mykola2312
2dba73a464 add testing for url extraction 2024-02-24 14:47:57 +02:00
mykola2312
95a341f77c write function to find all urls in text 2024-02-24 14:32:08 +02:00
mykola2312
0aa70432d5 add new dependencies to dockerfile, fix broken copy layers 2024-02-21 22:39:24 +02:00
mykola2312
910245061e there is vulnerability related to argument injection 2024-02-21 22:38:24 +02:00
mykola2312
8b9a7a0bcc remove message log spam 2024-02-21 21:39:41 +02:00
mykola2312
ed236c0d53 clean main 2024-02-21 21:04:43 +02:00
mykola2312
1fd2c2be30 implement bot command to download video 2024-02-21 21:04:21 +02:00
mykola2312
475f2a92db delete tmp file if error happens 2024-02-21 20:28:31 +02:00
mykola2312
c337c6ea98 finish implementing download function 2024-02-21 19:27:01 +02:00
mykola2312
6300a0cbfc use result for better error handling dx 2024-02-21 19:25:15 +02:00
mykola2312
2aa3974896 implementing some downloady stuff 2024-02-21 19:19:54 +02:00
mykola2312
c2027ba0f8 implement yt-dlp download 2024-02-21 19:06:23 +02:00
mykola2312
a3217274e3 begin implementing generic download function 2024-02-21 18:48:03 +02:00
mykola2312
d8ea0e7490 do renaming for command handlers so it wouldn't conflict with other functions 2024-02-21 18:42:09 +02:00
mykola2312
f9682f28d2 add -y option to ffmpeg so it wont stuck prompting for confirmation 2024-02-21 17:21:27 +02:00
mykola2312
1e747bd0bc add tests to check best format finding functions 2024-02-21 15:05:18 +02:00
mykola2312
0bee30ea0a move everything related to telegram bot to appropriate module 2024-02-21 14:52:54 +02:00
mykola2312
cdcd9f7fe6 mp3 converting with ffmpeg works 2024-02-21 14:35:07 +02:00
mykola2312
3816d2c229 introduce unit testing 2024-02-21 14:17:21 +02:00
mykola2312
e3a4e5b976 implement mp3 bitrate rounding up 2024-02-20 23:04:41 +02:00
mykola2312
343a86657e make yt-dlp error message its own enum type 2024-02-20 21:06:47 +02:00
mykola2312
71ab0e76bd make separate process spawn function with error types to avoid code duplication 2024-02-20 21:01:41 +02:00
mykola2312
64e08e29f8 begin implementing ffmpeg interface 2024-02-20 20:26:45 +02:00
mykola2312
e35f84cdc3 implement function to find best audio format 2024-02-20 16:39:15 +02:00
mykola2312
b6f5dc234d rename to av because its video with audio 2024-02-20 16:09:11 +02:00
mykola2312
9048693a15 instead of sorting just find max width height format 2024-02-20 16:06:58 +02:00
mykola2312
1cef56d964 implement function to find best quality video format 2024-02-20 14:24:19 +02:00
mykola2312
33c49cc56f check exit status instead of stdout empty & stderr non-empty. also begin working on algorithm to determine best format 2024-02-19 20:24:20 +02:00
mykola2312
28771f3e28 implement pretty output for YtDlpFormat 2024-02-19 14:50:44 +02:00
mykola2312
4c6804a76f fix yt-dlp's "none" string value to real None variant 2024-02-19 14:37:19 +02:00
mykola2312
852f27ca73 impl From traits for error type for easy usage 2024-02-19 14:20:04 +02:00