Compare commits
2 Commits
996d2a327f
...
954fbed754
Author | SHA1 | Date | |
---|---|---|---|
954fbed754 | |||
9ccb7ad02c |
168
Cargo.lock
generated
168
Cargo.lock
generated
@ -4,9 +4,9 @@ version = 3
|
||||
|
||||
[[package]]
|
||||
name = "addr2line"
|
||||
version = "0.21.0"
|
||||
version = "0.22.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
|
||||
checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678"
|
||||
dependencies = [
|
||||
"gimli",
|
||||
]
|
||||
@ -40,9 +40,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.83"
|
||||
version = "1.0.86"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3"
|
||||
checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
]
|
||||
@ -105,9 +105,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "backtrace"
|
||||
version = "0.3.71"
|
||||
version = "0.3.72"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
|
||||
checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11"
|
||||
dependencies = [
|
||||
"addr2line",
|
||||
"cc",
|
||||
@ -177,9 +177,9 @@ checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.97"
|
||||
version = "1.0.98"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4"
|
||||
checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f"
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
@ -480,9 +480,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "getrandom"
|
||||
version = "0.2.14"
|
||||
version = "0.2.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
|
||||
checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
@ -491,9 +491,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gimli"
|
||||
version = "0.28.1"
|
||||
version = "0.29.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
|
||||
checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd"
|
||||
|
||||
[[package]]
|
||||
name = "h2"
|
||||
@ -532,12 +532,6 @@ version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
|
||||
|
||||
[[package]]
|
||||
name = "hex"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
|
||||
|
||||
[[package]]
|
||||
name = "hex"
|
||||
version = "0.4.3"
|
||||
@ -622,9 +616,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hyper-util"
|
||||
version = "0.1.3"
|
||||
version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
|
||||
checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"futures-channel",
|
||||
@ -665,23 +659,19 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ica-rs"
|
||||
version = "0.6.4"
|
||||
version = "0.6.5"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"base64 0.22.1",
|
||||
"bytes",
|
||||
"chrono",
|
||||
"colored",
|
||||
"ed25519",
|
||||
"ed25519-dalek",
|
||||
"futures-util",
|
||||
"hex 0.4.3",
|
||||
"hex",
|
||||
"md-5",
|
||||
"msgpack_simple",
|
||||
"pyo3",
|
||||
"reqwest",
|
||||
"rmp-serde",
|
||||
"rmpv",
|
||||
"rust_socketio",
|
||||
"serde",
|
||||
"serde_json",
|
||||
@ -719,9 +709,9 @@ checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
|
||||
|
||||
[[package]]
|
||||
name = "instant"
|
||||
version = "0.1.12"
|
||||
version = "0.1.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
|
||||
checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
]
|
||||
@ -755,9 +745,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.153"
|
||||
version = "0.2.155"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
|
||||
checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
|
||||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
@ -814,9 +804,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
|
||||
|
||||
[[package]]
|
||||
name = "miniz_oxide"
|
||||
version = "0.7.2"
|
||||
version = "0.7.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
|
||||
checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae"
|
||||
dependencies = [
|
||||
"adler",
|
||||
]
|
||||
@ -832,23 +822,12 @@ dependencies = [
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "msgpack_simple"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0378abb2e031179121c5c80dd88c7f78ce3eef8999648dbdfa40d982e76cb165"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"hex 0.3.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "native-tls"
|
||||
version = "0.2.11"
|
||||
version = "0.2.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
|
||||
checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"libc",
|
||||
"log",
|
||||
"openssl",
|
||||
@ -897,9 +876,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "object"
|
||||
version = "0.32.2"
|
||||
version = "0.35.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
|
||||
checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
@ -962,9 +941,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
|
||||
|
||||
[[package]]
|
||||
name = "parking_lot"
|
||||
version = "0.12.2"
|
||||
version = "0.12.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb"
|
||||
checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
|
||||
dependencies = [
|
||||
"lock_api",
|
||||
"parking_lot_core",
|
||||
@ -983,12 +962,6 @@ dependencies = [
|
||||
"windows-targets 0.52.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "paste"
|
||||
version = "1.0.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
|
||||
|
||||
[[package]]
|
||||
name = "percent-encoding"
|
||||
version = "2.3.1"
|
||||
@ -1069,9 +1042,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.82"
|
||||
version = "1.0.85"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b"
|
||||
checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
@ -1232,40 +1205,6 @@ dependencies = [
|
||||
"winreg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rmp"
|
||||
version = "0.8.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"num-traits",
|
||||
"paste",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rmp-serde"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"rmp",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rmpv"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "58450723cd9ee93273ce44a20b6ec4efe17f8ed2e3631474387bfdecf18bb2a9"
|
||||
dependencies = [
|
||||
"num-traits",
|
||||
"rmp",
|
||||
"serde",
|
||||
"serde_bytes",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rust_engineio"
|
||||
version = "0.6.0"
|
||||
@ -1409,27 +1348,18 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.202"
|
||||
version = "1.0.203"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395"
|
||||
checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_bytes"
|
||||
version = "0.11.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.202"
|
||||
version = "1.0.203"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838"
|
||||
checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -1560,9 +1490,9 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.64"
|
||||
version = "2.0.66"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7ad3dee41f36859875573074334c200d1add8e4a87bb37113ebd31d926b7b11f"
|
||||
checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -1616,18 +1546,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.60"
|
||||
version = "1.0.61"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18"
|
||||
checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
|
||||
dependencies = [
|
||||
"thiserror-impl",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror-impl"
|
||||
version = "1.0.60"
|
||||
version = "1.0.61"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524"
|
||||
checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -1692,9 +1622,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.37.0"
|
||||
version = "1.38.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
|
||||
checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"bytes",
|
||||
@ -1711,9 +1641,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tokio-macros"
|
||||
version = "2.2.0"
|
||||
version = "2.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
|
||||
checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -1804,7 +1734,6 @@ dependencies = [
|
||||
"tokio",
|
||||
"tower-layer",
|
||||
"tower-service",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1825,7 +1754,6 @@ version = "0.1.40"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
|
||||
dependencies = [
|
||||
"log",
|
||||
"pin-project-lite",
|
||||
"tracing-attributes",
|
||||
"tracing-core",
|
||||
@ -2248,9 +2176,9 @@ checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
|
||||
|
||||
[[package]]
|
||||
name = "winnow"
|
||||
version = "0.6.8"
|
||||
version = "0.6.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d"
|
||||
checksum = "86c949fede1d13936a99f14fafd3e76fd642b556dd2ce96287fbe2e0151bfac6"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
@ -2267,6 +2195,6 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "zeroize"
|
||||
version = "1.7.0"
|
||||
version = "1.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
|
||||
checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
|
||||
|
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "ica-rs"
|
||||
version = "0.6.4"
|
||||
version = "0.6.5"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
@ -14,14 +14,7 @@ ica = [
|
||||
"dep:rust_socketio",
|
||||
"dep:base64",
|
||||
]
|
||||
tailchat = [
|
||||
"dep:rust_socketio",
|
||||
"dep:md-5",
|
||||
"dep:reqwest",
|
||||
"dep:rmpv",
|
||||
"dep:rmp-serde",
|
||||
"dep:bytes",
|
||||
]
|
||||
tailchat = ["dep:rust_socketio", "dep:md-5", "dep:reqwest"]
|
||||
|
||||
[dependencies]
|
||||
|
||||
@ -34,10 +27,6 @@ hex = { version = "0.4", optional = true }
|
||||
# tailchat
|
||||
reqwest = { version = "0.12.4", optional = true }
|
||||
md-5 = { version = "0.10.6", optional = true }
|
||||
msgpack_simple = { version = "1.0" }
|
||||
rmpv = { version = "1.3.0", optional = true, features = ["with-serde"] }
|
||||
rmp-serde = { version = "1.3.0", optional = true }
|
||||
bytes = { version = "1.6", optional = true }
|
||||
|
||||
# ica & tailchat (socketio)
|
||||
rust_socketio = { version = "0.6.0", features = ["async"], optional = true }
|
||||
|
@ -87,7 +87,7 @@ class IcaSendMessage:
|
||||
|
||||
|
||||
class IcaDeleteMessage:
|
||||
def __str__(self):
|
||||
def __str__(self) -> str:
|
||||
...
|
||||
|
||||
|
||||
|
@ -4,6 +4,14 @@ import requests
|
||||
import traceback
|
||||
import urllib.parse
|
||||
|
||||
have_regexrs = False
|
||||
try:
|
||||
import regexrs
|
||||
have_regexrs = True
|
||||
except ImportError:
|
||||
print("未找到 regexrs 模块, 将回退到字符串 in 操作")
|
||||
have_regexrs = False
|
||||
|
||||
# import PIL
|
||||
|
||||
from typing import TYPE_CHECKING, TypeVar, Optional, Tuple, List
|
||||
@ -16,7 +24,7 @@ else:
|
||||
IcaNewMessage = TypeVar("NewMessage")
|
||||
IcaClient = TypeVar("IcaClient")
|
||||
|
||||
_version_ = "2.5.0-rs"
|
||||
_version_ = "2.6.0-rs"
|
||||
backend_version = "unknown"
|
||||
|
||||
def format_data_size(data_bytes: float) -> str:
|
||||
@ -225,6 +233,11 @@ def bmcl_rank(msg: IcaNewMessage, client: IcaClient, name: str) -> None:
|
||||
r['index'] = i
|
||||
# 搜索是否有这个名字的节点
|
||||
names: List[str] = [r["name"].lower() for r in rank_data]
|
||||
try:
|
||||
import regexrs
|
||||
pattern = regexrs.compile(name)
|
||||
finds = [pattern.match(n) for n in names]
|
||||
except Exception as e:
|
||||
finds = [name.lower() in n for n in names]
|
||||
if not any(finds):
|
||||
reply = msg.reply_with(f"未找到名为{name}的节点")
|
||||
|
@ -10,7 +10,7 @@ use crate::config::IcaConfig;
|
||||
use crate::error::{ClientResult, IcaError};
|
||||
use crate::{wrap_any_callback, wrap_callback, StopGetter};
|
||||
|
||||
const ICA_PROTOCOL_VERSION: &str = "2.12.0";
|
||||
const ICA_PROTOCOL_VERSION: &str = "2.12.2";
|
||||
|
||||
pub async fn start_ica(config: &IcaConfig, stop_reciver: StopGetter) -> ClientResult<(), IcaError> {
|
||||
let span = span!(Level::INFO, "Icalingua Client");
|
||||
|
@ -48,8 +48,11 @@ async fn main() {
|
||||
// none -> info
|
||||
let level = {
|
||||
let args = std::env::args();
|
||||
if args.collect::<Vec<String>>().contains(&"-d".to_string()) {
|
||||
let args = args.collect::<Vec<String>>();
|
||||
if args.contains(&"-d".to_string()) {
|
||||
Level::DEBUG
|
||||
} else if args.contains(&"-t".to_string()) {
|
||||
Level::TRACE
|
||||
} else {
|
||||
Level::INFO
|
||||
}
|
||||
|
@ -3,9 +3,8 @@ pub mod events;
|
||||
|
||||
use futures_util::FutureExt;
|
||||
use md5::{Digest, Md5};
|
||||
use reqwest::{Body, ClientBuilder as reqwest_ClientBuilder};
|
||||
use reqwest::ClientBuilder as reqwest_ClientBuilder;
|
||||
use rust_socketio::asynchronous::{Client, ClientBuilder};
|
||||
// use rust_socketio::packet::PacketParser;
|
||||
use rust_socketio::{Event, Payload, TransportType};
|
||||
use serde_json::{from_str, from_value, json, Value};
|
||||
use tracing::{event, span, Level};
|
||||
@ -15,48 +14,6 @@ use crate::data_struct::tailchat::status::LoginData;
|
||||
use crate::error::{ClientResult, TailchatError};
|
||||
use crate::{wrap_any_callback, wrap_callback, StopGetter};
|
||||
|
||||
// mod packet_parser {
|
||||
// use bytes::{buf, Bytes};
|
||||
// use rust_socketio::error::Error;
|
||||
// use rust_socketio::packet::{Packet, PacketId};
|
||||
// use serde::{Deserialize, Serialize};
|
||||
// use serde_json::Value as JsonValue;
|
||||
// use msgpack_simple::{MsgPack, MapElement}
|
||||
|
||||
// // #[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
|
||||
// // #[serde(rename = "map")]
|
||||
// // struct SerdeValue {
|
||||
// // #[serde(rename = "@type")]
|
||||
// // r#type: i64,
|
||||
// // data: rmpv::Value,
|
||||
// // nsp: String,
|
||||
// // }
|
||||
|
||||
// pub fn encode(packet: &Packet) -> Bytes {
|
||||
// let raw_str = packet.data.as_ref().map(|v| v.to_string()).unwrap_or("{}".to_string());
|
||||
// let raw_value: rmpv::Value = serde_json::from_str(&raw_str).unwrap();
|
||||
// let value = SerdeValue {
|
||||
// r#type: packet.packet_type as u8 as i64,
|
||||
// data: raw_value,
|
||||
// nsp: packet.nsp.clone(),
|
||||
// };
|
||||
// let mut buffer = rmp_serde::to_vec(&value).unwrap();
|
||||
// println!("encoding packet: {:?} {:?}", packet, value);
|
||||
|
||||
// buffer.reverse();
|
||||
// // 前面加上 \x83\xa4
|
||||
// buffer.push(0xa4);
|
||||
// buffer.push(0x83);
|
||||
// buffer.reverse();
|
||||
// Bytes::from(buffer)
|
||||
// }
|
||||
|
||||
// pub fn default_decode(payload: &Bytes) -> Result<Packet, Error> {
|
||||
// println!("decoding bytes {:?}", payload);
|
||||
// todo!()
|
||||
// }
|
||||
// }
|
||||
|
||||
pub async fn start_tailchat(
|
||||
config: TailchatConfig,
|
||||
stop_reciver: StopGetter,
|
||||
@ -101,31 +58,21 @@ pub async fn start_tailchat(
|
||||
Err(e) => return Err(TailchatError::LoginFailed(e.to_string())),
|
||||
};
|
||||
|
||||
// header_map.append("X-Token", status.jwt.clone().parse().unwrap());
|
||||
|
||||
// let packet_parser =
|
||||
// PacketParser::new(Box::new(packet_parser::encode), Box::new(packet_parser::default_decode));
|
||||
|
||||
let socket = ClientBuilder::new(config.host)
|
||||
.auth(json!({"token": status.jwt.clone()}))
|
||||
.transport_type(TransportType::Websocket)
|
||||
.on_any(wrap_any_callback!(events::any_event))
|
||||
// .on("connect", wrap_callback!(events::on_connect))
|
||||
// .on("chat.message.sendMessage", wrap_callback!(events::on_message))
|
||||
.on("chat.message.sendMessage", wrap_callback!(events::on_message))
|
||||
.connect()
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
event!(Level::INFO, "tailchat connected");
|
||||
|
||||
// sleep for 1 sec
|
||||
tokio::time::sleep(std::time::Duration::from_secs(1)).await;
|
||||
|
||||
socket.emit("chat.converse.findAndJoinRoom", json!([])).await.unwrap();
|
||||
socket
|
||||
.emit(
|
||||
"chat.message.sendMessage",
|
||||
json!({"content": "shenbot v 0.1.0", "roomId": 1, "type": 1}),
|
||||
)
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
event!(Level::INFO, "tailchat joined room");
|
||||
// notify:chat.message.delete
|
||||
|
Loading…
Reference in New Issue
Block a user