Update serenity and remedy discord's username change
This commit is contained in:
parent
d547d12925
commit
d91b48da88
350
Cargo.lock
generated
350
Cargo.lock
generated
|
@ -19,35 +19,28 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.58"
|
||||
version = "1.0.71"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704"
|
||||
checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
|
||||
|
||||
[[package]]
|
||||
name = "async-trait"
|
||||
version = "0.1.52"
|
||||
name = "arrayvec"
|
||||
version = "0.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3"
|
||||
checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-tungstenite"
|
||||
version = "0.17.2"
|
||||
name = "async-trait"
|
||||
version = "0.1.68"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a1b71b31561643aa8e7df3effe284fa83ab1a840e52294c5f4bd7bfd8b2becbb"
|
||||
checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842"
|
||||
dependencies = [
|
||||
"futures-io",
|
||||
"futures-util",
|
||||
"log",
|
||||
"native-tls",
|
||||
"pin-project-lite",
|
||||
"tokio",
|
||||
"tokio-native-tls",
|
||||
"tungstenite",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.22",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -62,6 +55,12 @@ version = "0.13.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
|
||||
|
||||
[[package]]
|
||||
name = "base64"
|
||||
version = "0.21.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d"
|
||||
|
||||
[[package]]
|
||||
name = "bit-set"
|
||||
version = "0.5.2"
|
||||
|
@ -115,9 +114,6 @@ name = "cc"
|
|||
version = "1.0.72"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee"
|
||||
dependencies = [
|
||||
"jobserver",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
|
@ -197,9 +193,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "digest"
|
||||
version = "0.10.3"
|
||||
version = "0.10.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506"
|
||||
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
|
||||
dependencies = [
|
||||
"block-buffer",
|
||||
"crypto-common",
|
||||
|
@ -305,26 +301,6 @@ dependencies = [
|
|||
"cfg-if",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "enum-iterator"
|
||||
version = "1.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "45a0ac4aeb3a18f92eaf09c6bb9b3ac30ff61ca95514fc58cbead1c9a6bf5401"
|
||||
dependencies = [
|
||||
"enum-iterator-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "enum-iterator-derive"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b13f1e69590421890f90448c3cd5f554746a31adc6dc0dac406ec6901db8dc25"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fancy-regex"
|
||||
version = "0.10.0"
|
||||
|
@ -443,6 +419,15 @@ dependencies = [
|
|||
"slab",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fxhash"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "generic-array"
|
||||
version = "0.14.4"
|
||||
|
@ -473,31 +458,6 @@ dependencies = [
|
|||
"wasi 0.10.0+wasi-snapshot-preview1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "getset"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e45727250e75cc04ff2846a66397da8ef2b3db8e40e0cef4df67950a07621eb9"
|
||||
dependencies = [
|
||||
"proc-macro-error",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "git2"
|
||||
version = "0.13.25"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f29229cc1b24c0e6062f6e742aa3e256492a5323365e5ed3413599f8a5eff7d6"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"libc",
|
||||
"libgit2-sys",
|
||||
"log",
|
||||
"url",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "h2"
|
||||
version = "0.3.9"
|
||||
|
@ -694,15 +654,6 @@ version = "1.0.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
|
||||
|
||||
[[package]]
|
||||
name = "jobserver"
|
||||
version = "0.1.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "js-sys"
|
||||
version = "0.3.55"
|
||||
|
@ -724,30 +675,6 @@ version = "0.2.126"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
|
||||
|
||||
[[package]]
|
||||
name = "libgit2-sys"
|
||||
version = "0.12.26+1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "19e1c899248e606fbfe68dcb31d8b0176ebab833b103824af31bddf4b7457494"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
"libz-sys",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libz-sys"
|
||||
version = "1.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
"pkg-config",
|
||||
"vcpkg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "lock_api"
|
||||
version = "0.4.7"
|
||||
|
@ -760,12 +687,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.14"
|
||||
version = "0.4.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
]
|
||||
checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
|
||||
|
||||
[[package]]
|
||||
name = "matches"
|
||||
|
@ -864,20 +788,11 @@ dependencies = [
|
|||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num_threads"
|
||||
version = "0.1.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.9.0"
|
||||
version = "1.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5"
|
||||
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
|
||||
|
||||
[[package]]
|
||||
name = "openssl"
|
||||
|
@ -912,15 +827,6 @@ dependencies = [
|
|||
"vcpkg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ordered-float"
|
||||
version = "2.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87"
|
||||
dependencies = [
|
||||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "parking_lot"
|
||||
version = "0.11.2"
|
||||
|
@ -992,14 +898,14 @@ checksum = "b95af56fee93df76d721d356ac1ca41fccf168bc448eb14049234df764ba3e76"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"syn 1.0.98",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pin-project-lite"
|
||||
version = "0.2.7"
|
||||
version = "0.2.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443"
|
||||
checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
|
||||
|
||||
[[package]]
|
||||
name = "pin-utils"
|
||||
|
@ -1019,35 +925,11 @@ version = "0.2.15"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro-error"
|
||||
version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
|
||||
dependencies = [
|
||||
"proc-macro-error-attr",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro-error-attr"
|
||||
version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.40"
|
||||
version = "1.0.63"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
|
||||
checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
@ -1066,9 +948,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.20"
|
||||
version = "1.0.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
|
||||
checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
@ -1154,7 +1036,7 @@ version = "0.11.8"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7c4e0a76dc12a116108933f6301b95e83634e0c47b0afbed6abbaa0601e99258"
|
||||
dependencies = [
|
||||
"base64",
|
||||
"base64 0.13.0",
|
||||
"bytes",
|
||||
"encoding_rs",
|
||||
"futures-core",
|
||||
|
@ -1187,9 +1069,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rustversion"
|
||||
version = "1.0.6"
|
||||
version = "1.0.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f"
|
||||
checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
|
@ -1213,6 +1095,16 @@ version = "1.1.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
|
||||
|
||||
[[package]]
|
||||
name = "secrecy"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "security-framework"
|
||||
version = "2.4.2"
|
||||
|
@ -1245,16 +1137,6 @@ dependencies = [
|
|||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde-value"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c"
|
||||
dependencies = [
|
||||
"ordered-float",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.140"
|
||||
|
@ -1263,7 +1145,7 @@ checksum = "6f2122636b9fe3b81f1cb25099fcf2d3f542cdb1d45940d56c713158884a05da"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"syn 1.0.98",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1291,39 +1173,38 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "serenity"
|
||||
version = "0.11.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6d1a6cef5e72d4e5787c96413ec0a45f9317c59f0099e2ff2038b73cb352fefd"
|
||||
version = "0.11.5"
|
||||
source = "git+https://github.com/serenity-rs/serenity?rev=56867af#56867af31c5144029cf31dc1d563c99a47b38aac"
|
||||
dependencies = [
|
||||
"arrayvec",
|
||||
"async-trait",
|
||||
"async-tungstenite",
|
||||
"base64",
|
||||
"base64 0.21.2",
|
||||
"bitflags",
|
||||
"bytes",
|
||||
"cfg-if",
|
||||
"dashmap",
|
||||
"flate2",
|
||||
"futures",
|
||||
"mime",
|
||||
"fxhash",
|
||||
"mime_guess",
|
||||
"parking_lot 0.12.1",
|
||||
"percent-encoding",
|
||||
"reqwest",
|
||||
"secrecy",
|
||||
"serde",
|
||||
"serde-value",
|
||||
"serde_json",
|
||||
"time 0.3.11",
|
||||
"time 0.3.22",
|
||||
"tokio",
|
||||
"tokio-tungstenite",
|
||||
"tracing",
|
||||
"typemap_rev",
|
||||
"url",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sha-1"
|
||||
version = "0.10.0"
|
||||
name = "sha1"
|
||||
version = "0.10.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f"
|
||||
checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"cpufeatures",
|
||||
|
@ -1372,6 +1253,17 @@ dependencies = [
|
|||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.22"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2efbeae7acf4eabd6bcdcbd11c92f45231ddda7539edc7806bd1a04a03b24616"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tempfile"
|
||||
version = "3.2.0"
|
||||
|
@ -1403,7 +1295,7 @@ checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"syn 1.0.98",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1419,14 +1311,29 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "time"
|
||||
version = "0.3.11"
|
||||
version = "0.3.22"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "72c91f41dcb2f096c05f0873d667dceec1087ce5bcf984ec8ffb19acddbb3217"
|
||||
checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd"
|
||||
dependencies = [
|
||||
"itoa 1.0.1",
|
||||
"libc",
|
||||
"num_threads",
|
||||
"serde",
|
||||
"time-core",
|
||||
"time-macros",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "time-core"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
|
||||
|
||||
[[package]]
|
||||
name = "time-macros"
|
||||
version = "0.2.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b"
|
||||
dependencies = [
|
||||
"time-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1473,7 +1380,7 @@ checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"syn 1.0.98",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1497,6 +1404,20 @@ dependencies = [
|
|||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-tungstenite"
|
||||
version = "0.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "54319c93411147bced34cb5609a80e0a8e44c5999c93903a81cd866630ec0bfd"
|
||||
dependencies = [
|
||||
"futures-util",
|
||||
"log",
|
||||
"native-tls",
|
||||
"tokio",
|
||||
"tokio-native-tls",
|
||||
"tungstenite",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-util"
|
||||
version = "0.6.9"
|
||||
|
@ -1528,9 +1449,9 @@ checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6"
|
|||
|
||||
[[package]]
|
||||
name = "tracing"
|
||||
version = "0.1.29"
|
||||
version = "0.1.37"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105"
|
||||
checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"log",
|
||||
|
@ -1541,22 +1462,22 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tracing-attributes"
|
||||
version = "0.1.18"
|
||||
version = "0.1.26"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f4f480b8f81512e825f337ad51e94c1eb5d3bbdf2b363dcd01e2b19a9ffe3f8e"
|
||||
checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"syn 2.0.22",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-core"
|
||||
version = "0.1.21"
|
||||
version = "0.1.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4"
|
||||
checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1567,11 +1488,11 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
|
|||
|
||||
[[package]]
|
||||
name = "tungstenite"
|
||||
version = "0.17.3"
|
||||
version = "0.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e27992fd6a8c29ee7eef28fc78349aa244134e10ad447ce3b9f0ac0ed0fa4ce0"
|
||||
checksum = "30ee6ab729cd4cf0fd55218530c4522ed30b7b6081752839b68fcec8d0960788"
|
||||
dependencies = [
|
||||
"base64",
|
||||
"base64 0.13.0",
|
||||
"byteorder",
|
||||
"bytes",
|
||||
"http",
|
||||
|
@ -1579,7 +1500,7 @@ dependencies = [
|
|||
"log",
|
||||
"native-tls",
|
||||
"rand",
|
||||
"sha-1",
|
||||
"sha1",
|
||||
"thiserror",
|
||||
"url",
|
||||
"utf-8",
|
||||
|
@ -1587,9 +1508,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "typemap_rev"
|
||||
version = "0.1.5"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ed5b74f0a24b5454580a79abb6994393b09adf0ab8070f15827cb666255de155"
|
||||
checksum = "74b08b0c1257381af16a5c3605254d529d3e7e109f3c62befc5d168968192998"
|
||||
|
||||
[[package]]
|
||||
name = "typenum"
|
||||
|
@ -1666,18 +1587,13 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
|
|||
|
||||
[[package]]
|
||||
name = "vergen"
|
||||
version = "7.3.1"
|
||||
version = "8.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f10de320f0fe3f21913dabbfcbced6867bbe47a6b1a5db830e37df3a50279bd0"
|
||||
checksum = "8b3c89c2c7e50f33e4d35527e5bf9c11d6d132226dbbd1753f0fbe9f19ef88c6"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"cfg-if",
|
||||
"enum-iterator",
|
||||
"getset",
|
||||
"git2",
|
||||
"rustversion",
|
||||
"thiserror",
|
||||
"time 0.3.11",
|
||||
"time 0.3.22",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1729,7 +1645,7 @@ dependencies = [
|
|||
"log",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"syn 1.0.98",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
|
@ -1763,7 +1679,7 @@ checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"syn 1.0.98",
|
||||
"wasm-bindgen-backend",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
@ -1857,3 +1773,9 @@ checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69"
|
|||
dependencies = [
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zeroize"
|
||||
version = "1.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
|
||||
|
|
|
@ -21,11 +21,13 @@ version = "1.20.0"
|
|||
features = ["full"]
|
||||
|
||||
[dependencies.serenity]
|
||||
version = "0.11.4"
|
||||
# version = "0.11.4"
|
||||
git = "https://github.com/serenity-rs/serenity"
|
||||
rev = "56867af"
|
||||
default-features = false
|
||||
features = ["builder", "cache", "client", "gateway", "model", "utils", "native_tls_backend"]
|
||||
|
||||
[build-dependencies.vergen]
|
||||
version = "7.3.1"
|
||||
version = "8.2.1"
|
||||
default-features = false
|
||||
features = ["git"]
|
||||
features = ["git", "gitcl"]
|
||||
|
|
|
@ -12,5 +12,3 @@ TODO:
|
|||
- [x] handle multiple pings
|
||||
- [x] multiple channels
|
||||
- [x] IRC and Discord formatting
|
||||
|
||||
<sub>For extra fun set the DIRCORD_POLARIAN_MODE environmental variable to any value ;)</sub>
|
||||
|
|
8
build.rs
8
build.rs
|
@ -1,5 +1,7 @@
|
|||
use vergen::{vergen, Config};
|
||||
use std::error::Error;
|
||||
use vergen::EmitBuilder;
|
||||
|
||||
fn main() {
|
||||
vergen(Config::default()).unwrap();
|
||||
fn main() -> Result<(), Box<dyn Error>> {
|
||||
EmitBuilder::builder().git_branch().git_sha(true).emit()?;
|
||||
Ok(())
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ use serenity::{
|
|||
channel::{Channel, Message, MessageReference, MessageType},
|
||||
guild::Member,
|
||||
id::GuildId,
|
||||
prelude::{ChannelId, Ready, Role, RoleId},
|
||||
prelude::{ChannelId, GuildMemberUpdateEvent, Ready, Role, RoleId},
|
||||
user::User,
|
||||
},
|
||||
prelude::*,
|
||||
|
@ -64,16 +64,8 @@ impl<'a> StrChunks<'a> {
|
|||
}
|
||||
|
||||
async fn create_prefix(msg: &Message, is_reply: bool, http: impl CacheHttp) -> (String, usize) {
|
||||
let mut nick = match msg.member(http).await {
|
||||
Ok(Member {
|
||||
nick: Some(nick), ..
|
||||
}) => Cow::Owned(nick),
|
||||
_ => Cow::Borrowed(&msg.author.name),
|
||||
};
|
||||
|
||||
if option_env!("DIRCORD_POLARIAN_MODE").is_some() {
|
||||
nick = Cow::Owned("polarbear".to_string());
|
||||
}
|
||||
// it's okay to unwrap here since we know we're in a guild
|
||||
let nick = msg.member(http).await.unwrap().display_name().to_owned();
|
||||
|
||||
let mut chars = nick.char_indices();
|
||||
let first_char = chars.next().unwrap().1;
|
||||
|
@ -124,7 +116,8 @@ impl EventHandler for Handler {
|
|||
|
||||
let (prefix, content_limit) = create_prefix(&msg, false, &ctx).await;
|
||||
|
||||
let (channel, channel_id) = match mapping.iter().find(|(_, &v)| v == msg.channel_id.0) {
|
||||
let (channel, channel_id) = match mapping.iter().find(|(_, &v)| v == msg.channel_id.0.get())
|
||||
{
|
||||
Some((k, v)) => (k.as_str(), ChannelId::from(*v)),
|
||||
None => return,
|
||||
};
|
||||
|
@ -216,16 +209,24 @@ impl EventHandler for Handler {
|
|||
members.push(new_member);
|
||||
}
|
||||
|
||||
async fn guild_member_update(&self, ctx: Context, _: Option<Member>, new: Member) {
|
||||
async fn guild_member_update(
|
||||
&self,
|
||||
ctx: Context,
|
||||
_: Option<Member>,
|
||||
new: Option<Member>,
|
||||
_: GuildMemberUpdateEvent,
|
||||
) {
|
||||
let ctx_data = ctx.data.read().await;
|
||||
let mut members = ctx_data.get::<MembersKey>().unwrap().lock().await;
|
||||
|
||||
let x = members
|
||||
.iter()
|
||||
.position(|m| m.user.id == new.user.id)
|
||||
.unwrap();
|
||||
members.remove(x);
|
||||
members.push(new);
|
||||
if let Some(new) = new {
|
||||
let x = members
|
||||
.iter()
|
||||
.position(|m| m.user.id == new.user.id)
|
||||
.unwrap();
|
||||
members.remove(x);
|
||||
members.push(new);
|
||||
}
|
||||
}
|
||||
|
||||
async fn guild_member_removal(
|
||||
|
@ -258,7 +259,7 @@ async fn discord_to_irc_processing(
|
|||
let id = caps[1].parse::<u64>().unwrap();
|
||||
|
||||
let display_name = self.members.iter().find_map(|member| {
|
||||
(id == member.user.id.0).then(|| member.display_name().into_owned())
|
||||
(id == member.user.id.0.get()).then(|| member.display_name().to_owned())
|
||||
});
|
||||
|
||||
if let Some(display_name) = display_name {
|
||||
|
@ -300,7 +301,6 @@ async fn discord_to_irc_processing(
|
|||
.await
|
||||
{
|
||||
Ok(Channel::Guild(gc)) => Cow::Owned(format!("#{}", gc.name)),
|
||||
Ok(Channel::Category(cat)) => Cow::Owned(format!("#{}", cat.name)),
|
||||
_ => Cow::Borrowed("#deleted-channel"),
|
||||
};
|
||||
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
use irc::{client::Client as IrcClient, proto::Command};
|
||||
|
||||
use std::{collections::HashMap, sync::Arc, time::Instant};
|
||||
use std::{collections::HashMap, num::NonZeroU64, sync::Arc, time::Instant};
|
||||
|
||||
use tokio::sync::{mpsc::unbounded_channel, Mutex};
|
||||
|
||||
use tokio_stream::wrappers::UnboundedReceiverStream;
|
||||
|
||||
use serenity::{
|
||||
builder::{EditChannel, ExecuteWebhook},
|
||||
cache::Cache,
|
||||
futures::StreamExt,
|
||||
http::Http,
|
||||
|
@ -16,7 +17,7 @@ use serenity::{
|
|||
prelude::{GuildChannel, Member, UserId},
|
||||
webhook::Webhook,
|
||||
},
|
||||
prelude::*,
|
||||
prelude::Mentionable,
|
||||
utils::{content_safe, ContentSafeOptions},
|
||||
};
|
||||
|
||||
|
@ -89,17 +90,15 @@ pub async fn irc_loop(
|
|||
let topic = &args[2];
|
||||
|
||||
let channel = ChannelId::from(*unwrap_or_continue!(mapping.get(channel)));
|
||||
channel.edit(&http, |c| c.topic(topic)).await?;
|
||||
let builder = EditChannel::new().topic(topic);
|
||||
channel.edit(&http, builder).await?;
|
||||
}
|
||||
|
||||
continue;
|
||||
};
|
||||
|
||||
let mut nickname = unwrap_or_continue!(orig_message.source_nickname());
|
||||
let nickname = unwrap_or_continue!(orig_message.source_nickname());
|
||||
|
||||
if option_env!("DIRCORD_POLARIAN_MODE").is_some() {
|
||||
nickname = "polarbear";
|
||||
}
|
||||
match orig_message.command {
|
||||
Command::PRIVMSG(ref channel, ref message)
|
||||
| Command::NOTICE(ref channel, ref message) => {
|
||||
|
@ -150,7 +149,7 @@ pub async fn irc_loop(
|
|||
if let Some(webhook) = webhooks.get(channel) {
|
||||
let avatar = &*avatar_cache.entry(nickname.to_owned()).or_insert_with(|| {
|
||||
members_lock.iter().find_map(|member| {
|
||||
(*member.display_name() == nickname)
|
||||
(member.display_name() == nickname)
|
||||
.then(|| member.user.avatar_url())
|
||||
.flatten()
|
||||
})
|
||||
|
@ -231,7 +230,8 @@ pub async fn irc_loop(
|
|||
Command::TOPIC(ref channel, ref topic) => {
|
||||
let topic = unwrap_or_continue!(topic.as_ref());
|
||||
let channel_id = ChannelId::from(*unwrap_or_continue!(mapping.get(channel)));
|
||||
channel_id.edit(&http, |c| c.topic(topic)).await?;
|
||||
let builder = EditChannel::new().topic(topic);
|
||||
channel_id.edit(&http, builder).await?;
|
||||
}
|
||||
Command::KICK(ref channel, ref user, ref reason) => {
|
||||
let channel_id = ChannelId::from(*unwrap_or_continue!(mapping.get(channel)));
|
||||
|
@ -270,11 +270,12 @@ fn irc_to_discord_processing(
|
|||
.entry(slice.to_owned())
|
||||
.or_insert_with(|| {
|
||||
self.members.iter().find_map(|member| {
|
||||
(slice == member.display_name().as_str()
|
||||
|| slice == member.user.name.as_str())
|
||||
.then_some(member.user.id.0)
|
||||
(slice == member.display_name() || slice == member.user.name.as_str())
|
||||
.then_some(member.user.id.0.get())
|
||||
})
|
||||
})
|
||||
.map(NonZeroU64::new)
|
||||
.flatten()
|
||||
.map(UserId);
|
||||
|
||||
if let Some(id) = id {
|
||||
|
@ -401,15 +402,13 @@ async fn msg_task(mut recv: UnboundedReceiverStream<QueuedMessage>) -> anyhow::R
|
|||
if content.is_empty() {
|
||||
continue;
|
||||
}
|
||||
webhook
|
||||
.execute(&http, true, |w| {
|
||||
if let Some(ref url) = avatar_url {
|
||||
w.avatar_url(url);
|
||||
}
|
||||
let mut builder = ExecuteWebhook::new();
|
||||
if let Some(ref url) = avatar_url {
|
||||
builder = builder.avatar_url(url);
|
||||
}
|
||||
builder = builder.username(nickname).content(content);
|
||||
|
||||
w.username(nickname).content(content)
|
||||
})
|
||||
.await?;
|
||||
webhook.execute(&http, true, builder).await?;
|
||||
}
|
||||
QueuedMessage::Raw {
|
||||
channel_id,
|
||||
|
|
|
@ -114,14 +114,14 @@ async fn main() -> anyhow::Result<()> {
|
|||
|
||||
let irc_client = IrcClient::from_config(config).await?;
|
||||
|
||||
let http = discord_client.cache_and_http.http.clone();
|
||||
let cache = discord_client.cache_and_http.cache.clone();
|
||||
let http = discord_client.http.clone();
|
||||
let cache = discord_client.cache.clone();
|
||||
|
||||
let members = Arc::new(Mutex::new({
|
||||
let channel_id = ChannelId::from(*conf.channels.iter().next().unwrap().1);
|
||||
|
||||
channel_id
|
||||
.to_channel(discord_client.cache_and_http.clone())
|
||||
.to_channel(discord_client.http.clone())
|
||||
.await?
|
||||
.guild()
|
||||
.unwrap() // we can panic here because if it's not a guild channel then the bot shouldn't even work
|
||||
|
@ -196,6 +196,6 @@ async fn parse_webhook_url(http: Arc<Http>, url: String) -> anyhow::Result<Webho
|
|||
let split = url.split('/').collect::<Vec<&str>>();
|
||||
let id = split[0].parse::<u64>()?;
|
||||
let token = split[1].to_string();
|
||||
let webhook = http.get_webhook_with_token(id, &token).await?;
|
||||
let webhook = http.get_webhook_with_token(id.into(), &token).await?;
|
||||
Ok(webhook)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue