From c600c510a7130e0156c7e4db4a716607bfe93819 Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Wed, 7 Sep 2022 04:24:01 +0200 Subject: [PATCH] feat: remove `ocr` --- Cargo.lock | 408 ++++++++---------------------------- Cargo.toml | 1 - configuration.example.json | 10 +- configuration.revanced.json | 25 +-- configuration.schema.json | 13 +- src/model/application.rs | 18 +- src/utils/autorespond.rs | 41 +--- src/utils/mod.rs | 1 - src/utils/ocr.rs | 12 -- 9 files changed, 110 insertions(+), 419 deletions(-) delete mode 100644 src/utils/ocr.rs diff --git a/Cargo.lock b/Cargo.lock index 7f1fe2e..7287fef 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -21,13 +21,22 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.18" +version = "0.7.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" dependencies = [ "memchr", ] +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + [[package]] name = "ansi_term" version = "0.12.1" @@ -64,17 +73,6 @@ dependencies = [ "webpki-roots", ] -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", -] - [[package]] name = "autocfg" version = "1.1.0" @@ -87,29 +85,6 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" -[[package]] -name = "bindgen" -version = "0.56.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da379dbebc0b76ef63ca68d8fc6e71c0f13e59432e0987e508c1820e6ab5239" -dependencies = [ - "bitflags", - "cexpr", - "clang-sys", - "clap", - "env_logger", - "lazy_static", - "lazycell", - "log", - "peeking_take_while", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "which", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -118,9 +93,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "block-buffer" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" dependencies = [ "generic-array", ] @@ -140,15 +115,15 @@ dependencies = [ "serde", "serde_bytes", "serde_json", - "time 0.3.12", + "time 0.3.14", "uuid 1.1.2", ] [[package]] name = "bumpalo" -version = "3.10.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3" +checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d" [[package]] name = "byteorder" @@ -168,15 +143,6 @@ version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" -[[package]] -name = "cexpr" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27" -dependencies = [ - "nom", -] - [[package]] name = "cfg-if" version = "1.0.0" @@ -185,10 +151,11 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.20" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6127248204b9aba09a362f6c930ef6a78f2c1b2215f8a7b398c06e1083f17af0" +checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" dependencies = [ + "iana-time-zone", "js-sys", "num-integer", "num-traits", @@ -198,32 +165,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "clang-sys" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b" -dependencies = [ - "glob", - "libc", - "libloading", -] - -[[package]] -name = "clap" -version = "2.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" -dependencies = [ - "ansi_term", - "atty", - "bitflags", - "strsim 0.8.0", - "textwrap", - "unicode-width", - "vec_map", -] - [[package]] name = "core-foundation" version = "0.9.3" @@ -242,9 +183,9 @@ checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] name = "cpufeatures" -version = "0.2.2" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" dependencies = [ "libc", ] @@ -298,7 +239,7 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim 0.10.0", + "strsim", "syn", ] @@ -312,7 +253,7 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim 0.10.0", + "strsim", "syn", ] @@ -340,13 +281,14 @@ dependencies = [ [[package]] name = "dashmap" -version = "5.3.4" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3495912c9c1ccf2e18976439f4443f3fee0fd61f424ff99fde6a66b15ecb448f" +checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc" dependencies = [ "cfg-if", "hashbrown", "lock_api", + "once_cell", "parking_lot_core", "serde", ] @@ -432,19 +374,6 @@ dependencies = [ "syn", ] -[[package]] -name = "env_logger" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - [[package]] name = "fastrand" version = "1.8.0" @@ -497,9 +426,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.21" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e" +checksum = "7f21eda599937fba36daeb58a22e8f5cee2d14c4a17b5b7739c7c8e5e3b8230c" dependencies = [ "futures-channel", "futures-core", @@ -511,9 +440,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.21" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010" +checksum = "30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050" dependencies = [ "futures-core", "futures-sink", @@ -521,15 +450,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.21" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3" +checksum = "4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf" [[package]] name = "futures-executor" -version = "0.3.21" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6" +checksum = "9ff63c23854bee61b6e9cd331d523909f238fc7636290b96826e9cfa5faa00ab" dependencies = [ "futures-core", "futures-task", @@ -538,15 +467,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.21" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b" +checksum = "bbf4d2a7a308fd4578637c0b17c7e1c7ba127b8f6ba00b29f717e9655d85eb68" [[package]] name = "futures-macro" -version = "0.3.21" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512" +checksum = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17" dependencies = [ "proc-macro2", "quote", @@ -555,21 +484,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.21" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868" +checksum = "21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56" [[package]] name = "futures-task" -version = "0.3.21" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a" +checksum = "a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1" [[package]] name = "futures-util" -version = "0.3.21" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a" +checksum = "44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90" dependencies = [ "futures-channel", "futures-core", @@ -604,17 +533,11 @@ dependencies = [ "wasi 0.11.0+wasi-snapshot-preview1", ] -[[package]] -name = "glob" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" - [[package]] name = "h2" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57" +checksum = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be" dependencies = [ "bytes", "fnv", @@ -700,9 +623,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" @@ -710,12 +633,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - [[package]] name = "hyper" version = "0.14.20" @@ -766,6 +683,20 @@ dependencies = [ "tokio-native-tls", ] +[[package]] +name = "iana-time-zone" +version = "0.1.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c495f162af0bf17656d0014a0eded5f3cd2f365fdd204548c2869db89359dc7" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "js-sys", + "once_cell", + "wasm-bindgen", + "winapi", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -841,48 +772,11 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - -[[package]] -name = "leptonica-plumbing" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13adbee6950b65822bbc7a737aff78ee1d837b732a4bcee50f3aba5d89c519c3" -dependencies = [ - "leptonica-sys", - "thiserror", -] - -[[package]] -name = "leptonica-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418fed6d9441395144dead36d763865d6a1dd44f42f2d328515f23a63c21ce35" -dependencies = [ - "bindgen", - "pkg-config", - "vcpkg", -] - [[package]] name = "libc" -version = "0.2.127" +version = "0.2.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "505e71a4706fa491e9b1b55f51b95d4037d0821ee40131190475f692b35b009b" - -[[package]] -name = "libloading" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" -dependencies = [ - "cfg-if", - "winapi", -] +checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" [[package]] name = "linked-hash-map" @@ -892,9 +786,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "lock_api" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" +checksum = "9f80bf5aacaf25cbfc8210d1cfb718f2bf3b11c4c54e5afe36c236853a8ec390" dependencies = [ "autocfg", "scopeguard", @@ -932,9 +826,9 @@ checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" [[package]] name = "md-5" -version = "0.10.1" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658646b21e0b72f7866c7038ab086d3d5e1cd6271f060fd37defb241949d0582" +checksum = "66b48670c893079d3c2ed79114e3644b7004df1c361a4e0ad52e2e6940d07c3d" dependencies = [ "digest", ] @@ -963,9 +857,9 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" +checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" dependencies = [ "adler", ] @@ -1015,7 +909,7 @@ dependencies = [ "sha2", "socket2", "stringprep", - "strsim 0.10.0", + "strsim", "take_mut", "thiserror", "tokio", @@ -1046,16 +940,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "nom" -version = "5.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" -dependencies = [ - "memchr", - "version_check", -] - [[package]] name = "num-integer" version = "0.1.45" @@ -1096,9 +980,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.13.0" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1" +checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0" [[package]] name = "openssl" @@ -1196,12 +1080,6 @@ dependencies = [ "digest", ] -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - [[package]] name = "percent-encoding" version = "2.1.0" @@ -1434,7 +1312,6 @@ dependencies = [ "serde_json", "serde_regex", "serde_with_macros 2.0.0", - "tesseract", "tokio", "tracing", "tracing-subscriber", @@ -1455,12 +1332,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - [[package]] name = "rustc_version" version = "0.2.3" @@ -1588,9 +1459,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.142" +version = "1.0.144" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e590c437916fb6b221e1d00df6e3294f3fccd70ca7e92541c475d6ed6ef5fee2" +checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" dependencies = [ "serde_derive", ] @@ -1616,9 +1487,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.142" +version = "1.0.144" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34b5b8d809babe02f538c2cfec6f2c1ed10804c0e5a6a041a049a4f5588ccc2e" +checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" dependencies = [ "proc-macro2", "quote", @@ -1627,9 +1498,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.83" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38dd04e3c8279e75b31ef29dbdceebfe5ad89f4d0937213c53f7d49d01b3d5a7" +checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" dependencies = [ "indexmap", "itoa", @@ -1718,7 +1589,7 @@ dependencies = [ "serde", "serde-value", "serde_json", - "time 0.3.12", + "time 0.3.14", "tokio", "tracing", "typemap_rev", @@ -1738,9 +1609,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.2" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +checksum = "cf9db03534dff993187064c4e0c05a5708d2a9728ace9a8959b77bedf415dac5" dependencies = [ "cfg-if", "cpufeatures", @@ -1756,12 +1627,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shlex" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" - [[package]] name = "slab" version = "0.4.7" @@ -1779,9 +1644,9 @@ checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" [[package]] name = "socket2" -version = "0.4.4" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" dependencies = [ "libc", "winapi", @@ -1803,12 +1668,6 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "strsim" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" - [[package]] name = "strsim" version = "0.10.0" @@ -1852,72 +1711,20 @@ dependencies = [ "winapi", ] -[[package]] -name = "termcolor" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "tesseract" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcaefd467b7d5ea46c96427fe8f69996d0e692a7e70eaccbef931126d64d11de" -dependencies = [ - "tesseract-plumbing", - "tesseract-sys", - "thiserror", -] - -[[package]] -name = "tesseract-plumbing" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef98c10d582467f68646ab60fb257cbcb122fa70b3153ec9dac858170ccc58f7" -dependencies = [ - "leptonica-plumbing", - "tesseract-sys", - "thiserror", -] - -[[package]] -name = "tesseract-sys" -version = "0.5.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f885433c23fbe6e22176bbc500025abf0331bd27d1c882f163bb696759bc27" -dependencies = [ - "bindgen", - "leptonica-sys", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] - [[package]] name = "thiserror" -version = "1.0.32" +version = "1.0.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5f6586b7f764adc0231f4c79be7b920e766bb2f3e51b3661cdb263828f19994" +checksum = "8c1b05ca9d106ba7d2e31a9dab4a64e7be2cce415321966ea3132c49a656e252" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.32" +version = "1.0.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12bafc5b54507e0149cdf1b145a5d80ab80a90bcd9275df43d4fff68460f6c21" +checksum = "e8f2591983642de85c921015f3f070c665a197ed69e417af436115e3a1407487" dependencies = [ "proc-macro2", "quote", @@ -1946,12 +1753,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.12" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74b7cc93fc23ba97fde84f7eea56c55d1ba183f495c6715defdfc7b9cb8c870f" +checksum = "3c3f9a28b618c3a6b9251b6908e9c99e04b9e5c02e6581ccbb67d59c34ef7f9b" dependencies = [ "itoa", - "js-sys", "libc", "num_threads", "serde", @@ -1981,9 +1787,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.20.1" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a8325f63a7d4774dd041e363b2409ed1c5cbbd0f867795e661df066b2b0a581" +checksum = "89797afd69d206ccd11fb0ea560a44bbb87731d020670e79416d442919257d42" dependencies = [ "autocfg", "bytes", @@ -2234,12 +2040,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "unicode-width" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" - [[package]] name = "untrusted" version = "0.7.1" @@ -2296,12 +2096,6 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - [[package]] name = "version_check" version = "0.9.4" @@ -2425,15 +2219,6 @@ dependencies = [ "webpki", ] -[[package]] -name = "which" -version = "3.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d011071ae14a2f6671d0b74080ae0cd8ebf3a6f8c9589a2cd45f23126fe29724" -dependencies = [ - "libc", -] - [[package]] name = "widestring" version = "0.5.1" @@ -2456,15 +2241,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" diff --git a/Cargo.toml b/Cargo.toml index e710e6f..a96bdcf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,6 +30,5 @@ serde_regex = "1.1" reqwest = { version = "0.11" } chrono = "0.4" dirs = "4.0" -tesseract = "0.12" tracing = { version = "0.1", features = ["max_level_debug", "release_max_level_info"] } tracing-subscriber = "0.3" \ No newline at end of file diff --git a/configuration.example.json b/configuration.example.json index 459d350..5f50d4d 100644 --- a/configuration.example.json +++ b/configuration.example.json @@ -25,17 +25,11 @@ { "includes": { "channels": [0], - "match": { - "text": [], - "ocr": [""] - } + "match": [] }, "excludes": { "roles": [0], - "match": { - "text": [""], - "ocr": [] - } + "match": [] }, "condition": { "user": { diff --git a/configuration.revanced.json b/configuration.revanced.json index 987a264..558d168 100644 --- a/configuration.revanced.json +++ b/configuration.revanced.json @@ -24,14 +24,11 @@ { "includes": { "channels": [952946952348270626, 953965039105232906], - "match": { - "ocr": [], - "text": ["(?i)(((vanced|download|install|get|manager).*){2,})"] - } + "match": ["(?i)(((vanced|download|install|get|manager).*){2,})"] }, "excludes": { "roles": [934329947164667954], - "match": { "ocr": [], "text": ["(?i)music", "(?i)eta", "(?i)error"] } + "match": ["(?i)music", "(?i)eta", "(?i)error"] }, "condition": { "user": { @@ -71,14 +68,11 @@ { "includes": { "channels": [952946952348270626, 953965039105232906], - "match": { - "ocr": [], - "text": ["(?i)(((help|how|install|fix|vanced|manager).*){3,})"] - } + "match": ["(?i)(((help|how|install|fix|vanced|manager).*){3,})"] }, "excludes": { "roles": [934329947164667954], - "match": { "ocr": [], "text": ["(?i)download", "(?i)get"] } + "match": ["(?i)download", "(?i)get"] }, "condition": { "user": { @@ -118,16 +112,13 @@ { "includes": { "channels": [952946952348270626, 953965039105232906], - "match": { - "ocr": [], - "text": [ - "(?i)(((vanced|when|where|release|out|progress|update|manager|eta).*){2,})" - ] - } + "match": [ + "(?i)(((vanced|when|where|release|out|progress|update|manager|eta).*){2,})" + ] }, "excludes": { "roles": [934329947164667954], - "match": { "ocr": [], "text": ["(?i)error", "(?i)problem"] } + "match": ["(?i)error", "(?i)problem"] }, "condition": { "user": { diff --git a/configuration.schema.json b/configuration.schema.json index 8834770..4df0cfa 100644 --- a/configuration.schema.json +++ b/configuration.schema.json @@ -142,17 +142,8 @@ "minItems": 1 }, "match": { - "type": "object", - "properties": { - "text": { - "$ref": "#/$defs/regex", - "description": "A list of regex strings." - }, - "ocr": { - "$ref": "#/$defs/regex", - "description": "A list of regex strings to ocr." - } - } + "$ref": "#/$defs/regex", + "description": "A list of regex strings." }, "regex": { "type": "array", diff --git a/src/model/application.rs b/src/model/application.rs index 6e7d994..9e527ea 100644 --- a/src/model/application.rs +++ b/src/model/application.rs @@ -5,7 +5,6 @@ use std::path::Path; use dirs::config_dir; use regex::Regex; use serde::{Deserialize, Serialize}; -use serde_with_macros::skip_serializing_none; #[derive(Default, Serialize, Deserialize)] pub struct Configuration { @@ -147,24 +146,15 @@ pub struct Author { #[derive(Serialize, Deserialize)] pub struct Includes { pub channels: Vec, - #[serde(rename = "match")] - pub match_field: Match, + #[serde(rename = "match", with = "serde_regex")] + pub match_field: Vec, } #[derive(Serialize, Deserialize)] pub struct Excludes { pub roles: Vec, - #[serde(rename = "match")] - pub match_field: Match, -} - -#[skip_serializing_none] -#[derive(Serialize, Deserialize)] -pub struct Match { - #[serde(with = "serde_regex")] - pub text: Vec, - #[serde(with = "serde_regex")] - pub ocr: Vec, + #[serde(rename = "match", with = "serde_regex")] + pub match_field: Vec, } #[derive(Serialize, Deserialize)] diff --git a/src/utils/autorespond.rs b/src/utils/autorespond.rs index be9038f..cceab76 100644 --- a/src/utils/autorespond.rs +++ b/src/utils/autorespond.rs @@ -1,34 +1,13 @@ use chrono::{DateTime, Duration, NaiveDateTime, Utc}; -use poise::serenity_prelude::Attachment; use regex::Regex; -use tracing::debug; use super::*; use crate::utils::bot::get_data_lock; -use crate::utils::ocr; pub fn contains_match(regex: &[Regex], text: &str) -> bool { regex.iter().any(|r| r.is_match(text)) } -async fn attachments_contains(attachments: &[Attachment], regex: &[Regex]) -> bool { - for attachment in attachments { - debug!("Checking attachment {}", &attachment.url); - - if !&attachment.content_type.as_ref().unwrap().contains("image") { - continue; - } - - if contains_match( - regex, - &ocr::get_text_from_image_url(&attachment.url).await.unwrap(), - ) { - return true; - } - } - false -} - pub async fn auto_respond(ctx: &serenity::Context, new_message: &serenity::Message) { if new_message.guild_id.is_none() || new_message.author.bot { return; @@ -59,30 +38,14 @@ pub async fn auto_respond(ctx: &serenity::Context, new_message: &serenity::Messa } let message = &new_message.content; - let contains_attachments = !new_message.attachments.is_empty(); // check if the message does not match any of the excludes - if contains_match(&excludes.match_field.text, message) { - continue; - } - - if contains_attachments - && !excludes.match_field.ocr.is_empty() - && attachments_contains(&new_message.attachments, &excludes.match_field.ocr).await - { + if contains_match(&excludes.match_field, message) { continue; } // check if the message does match any of the includes - if !(contains_match(&response.includes.match_field.text, message) - || (contains_attachments - && !response.includes.match_field.ocr.is_empty() - && attachments_contains( - &new_message.attachments, - &response.includes.match_field.ocr, - ) - .await)) - { + if !(contains_match(&response.includes.match_field, message)) { continue; } diff --git a/src/utils/mod.rs b/src/utils/mod.rs index 49fd6fc..69f45fa 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -4,6 +4,5 @@ pub mod bot; pub mod decancer; pub mod embed; pub mod moderation; -pub mod ocr; pub mod autorespond; pub mod media_channel; \ No newline at end of file diff --git a/src/utils/ocr.rs b/src/utils/ocr.rs deleted file mode 100644 index 521b6ab..0000000 --- a/src/utils/ocr.rs +++ /dev/null @@ -1,12 +0,0 @@ -use reqwest::Error; -use tesseract::Tesseract; - -pub async fn get_text_from_image_url(url: &str) -> Result { - let image = &reqwest::get(url).await?.bytes().await.unwrap().to_vec(); - Ok(Tesseract::new(None, None) - .unwrap() - .set_image_from_mem(image) - .unwrap() - .get_text() - .unwrap()) -}