From 39254143a952690f1dcfd2332855d64ce551c9a8 Mon Sep 17 00:00:00 2001 From: trivernis Date: Sat, 25 Sep 2021 12:08:36 +0200 Subject: [PATCH 1/2] Update dependencies and add reset command for lavalink Signed-off-by: trivernis --- Cargo.lock | 333 ++++++++++++++-------------- Cargo.toml | 2 +- src/client.rs | 35 +-- src/commands/misc/mod.rs | 20 +- src/commands/misc/reset_lavalink.rs | 41 ++++ src/commands/music/mod.rs | 46 ++-- src/utils/mod.rs | 39 +++- 7 files changed, 290 insertions(+), 226 deletions(-) create mode 100644 src/commands/misc/reset_lavalink.rs diff --git a/Cargo.lock b/Cargo.lock index fc3a1cb..239baae 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -39,9 +39,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28ae2b3dec75a406790005a200b1bd89785afc02517a00ca99ecfe093ee9e6cf" +checksum = "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1" [[package]] name = "aspotify" @@ -182,9 +182,9 @@ checksum = "4f67931368edf3a9a51d29886d245f1c3db2f1ef0dcc9e35ff70341b78c10d23" [[package]] name = "bitflags" -version = "1.3.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da1976d75adbe5fbc88130ecd119529cf1cc6a93ae1546d8696ee66f0d21af1" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "block-buffer" @@ -222,9 +222,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.7.0" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" +checksum = "d9df67f7bf9ef8498769f994239c45613ef0c5899415fb58e9add412d2c1a538" [[package]] name = "byteorder" @@ -240,15 +240,15 @@ checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" [[package]] name = "bytes" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" +checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" [[package]] name = "cc" -version = "1.0.69" +version = "1.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2" +checksum = "d26a6ce4b6a484fa3edb70f7efa6fc430fd2b87285fe8b84304fd0936faa0dc0" [[package]] name = "cfg-if" @@ -341,9 +341,9 @@ checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" [[package]] name = "cpufeatures" -version = "0.1.5" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66c99696f6c9dd7f35d486b9d04d7e6e202aa3e8c40d553f2fdf5e7e0c6a71ef" +checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" dependencies = [ "libc", ] @@ -370,7 +370,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.5", + "crossbeam-utils", ] [[package]] @@ -381,7 +381,7 @@ checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" dependencies = [ "cfg-if 1.0.0", "crossbeam-epoch", - "crossbeam-utils 0.8.5", + "crossbeam-utils", ] [[package]] @@ -391,22 +391,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.5", + "crossbeam-utils", "lazy_static", "memoffset", "scopeguard", ] -[[package]] -name = "crossbeam-utils" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" -dependencies = [ - "autocfg", - "cfg-if 0.1.10", -] - [[package]] name = "crossbeam-utils" version = "0.8.5" @@ -469,11 +459,11 @@ dependencies = [ [[package]] name = "diesel" -version = "1.4.7" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bba51ca66f57261fd17cadf8b73e4775cc307d0521d855de3f5de91a8f074e0e" +checksum = "b28135ecf6b7d446b43e27e225622a038cc4e2930a1022f51cdb97ada19b8e4d" dependencies = [ - "bitflags 1.3.1", + "bitflags 1.3.2", "byteorder", "chrono", "diesel_derives", @@ -591,9 +581,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0" +checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f" dependencies = [ "cfg-if 1.0.0", "crc32fast", @@ -603,15 +593,15 @@ dependencies = [ [[package]] name = "flume" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e90cc80fad5bb391b38127896b0fa27d97e7fef74742797f4da518d67e1292f" +checksum = "24c3fd473b3a903a62609e413ed7538f99e10b665ecb502b5e481a95283f8ab4" dependencies = [ "futures-core", "futures-sink", "nanorand", "pin-project", - "spinning_top", + "spin 0.9.2", ] [[package]] @@ -657,9 +647,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adc00f486adfc9ce99f77d717836f0c5aa84965eb0b4f051f4e83f7cab53f8b" +checksum = "a12aa0eb539080d55c3f2d45a67c3b58b6b0773c1a3ca2dfec66d58c97fd66ca" dependencies = [ "futures-channel", "futures-core", @@ -672,9 +662,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74ed2411805f6e4e3d9bc904c95d5d423b89b3b25dc0250aa74729de20629ff9" +checksum = "5da6ba8c3bb3c165d3c7319fc1cc8304facf1fb8db99c5de877183c08a273888" dependencies = [ "futures-core", "futures-sink", @@ -682,15 +672,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af51b1b4a7fdff033703db39de8802c673eb91855f2e0d47dcf3bf2c0ef01f99" +checksum = "88d1c26957f23603395cd326b0ffe64124b818f4449552f960d815cfba83a53d" [[package]] name = "futures-executor" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d0d535a57b87e1ae31437b892713aee90cd2d7b0ee48727cd11fc72ef54761c" +checksum = "45025be030969d763025784f7f355043dc6bc74093e4ecc5000ca4dc50d8745c" dependencies = [ "futures-core", "futures-task", @@ -699,15 +689,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b0e06c393068f3a6ef246c75cdca793d6a46347e75286933e5e75fd2fd11582" +checksum = "522de2a0fe3e380f1bc577ba0474108faf3f6b18321dbf60b3b9c39a75073377" [[package]] name = "futures-macro" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c54913bae956fb8df7f4dc6fc90362aa72e69148e3f39041fbe8742d21e0ac57" +checksum = "18e4a4b95cea4b4ccbcf1c5675ca7c4ee4e9e75eb79944d07defde18068f79bb" dependencies = [ "autocfg", "proc-macro-hack", @@ -718,21 +708,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0f30aaa67363d119812743aa5f33c201a7a66329f97d1a887022971feea4b53" +checksum = "36ea153c13024fe480590b3e3d4cad89a0cfacecc24577b68f86c6ced9c2bc11" [[package]] name = "futures-task" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe54a98670017f3be909561f6ad13e810d9a51f3f061b902062ca3da80799f2" +checksum = "1d3d00f4eddb73e498a54394f228cd55853bdf059259e8e7bc6e69d408892e99" [[package]] name = "futures-util" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67eb846bfd58e44a8481a00049e82c43e0ccb5d61f8dc071057cb19249dd4d78" +checksum = "36568465210a3a6ee45e1f165136d68671471a501e632e9a98d96872222b5481" dependencies = [ "autocfg", "futures-channel", @@ -822,11 +812,11 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] name = "h2" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "825343c4eef0b63f541f8903f395dc5beb362a979b5799a84062527ef1e37726" +checksum = "d7f3675cfef6a30c8031cf9e6493ebdc3bb3272a3fea3923c4210d1830e6a472" dependencies = [ - "bytes 1.0.1", + "bytes 1.1.0", "fnv", "futures-core", "futures-sink", @@ -870,11 +860,11 @@ dependencies = [ [[package]] name = "http" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11" +checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b" dependencies = [ - "bytes 1.0.1", + "bytes 1.1.0", "fnv", "itoa", ] @@ -885,16 +875,16 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "399c583b2979440c60be0821a6199eca73bc3c8dcd9d070d75ac726e2c6186e5" dependencies = [ - "bytes 1.0.1", + "bytes 1.1.0", "http", "pin-project-lite", ] [[package]] name = "httparse" -version = "1.4.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68" +checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" [[package]] name = "httpdate" @@ -904,11 +894,11 @@ checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" [[package]] name = "hyper" -version = "0.14.11" +version = "0.14.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b61cf2d1aebcf6e6352c97b81dc2244ca29194be1b276f5d8ad5c6330fffb11" +checksum = "15d1cfb9e4f68655fa04c01f59edb405b6074a0f7118ea881e5026e4a1cd8593" dependencies = [ - "bytes 1.0.1", + "bytes 1.1.0", "futures-channel", "futures-core", "futures-util", @@ -947,7 +937,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ - "bytes 1.0.1", + "bytes 1.1.0", "hyper", "native-tls", "tokio", @@ -967,9 +957,9 @@ dependencies = [ [[package]] name = "include_dir" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31a924bd335356c7622dff9ee33d06920afcf7f762a1a991236645e08c8a484b" +checksum = "24b56e147e6187d61e9d0f039f10e070d0c0a887e24fe0bb9ca3f29bfde62cab" dependencies = [ "glob", "include_dir_impl", @@ -978,9 +968,9 @@ dependencies = [ [[package]] name = "include_dir_impl" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afae3917f781921d7c7813992ccadff7e816f7e6ecb4b70a9ec3e740d51da3d6" +checksum = "0a0c890c85da4bab7bce4204c707396bbd3c6c8a681716a51c8814cfc2b682df" dependencies = [ "anyhow", "proc-macro-hack", @@ -1014,14 +1004,14 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f97967975f448f1a7ddb12b0bc41069d09ed6a1c161a92687e057325db35d413" dependencies = [ - "bytes 1.0.1", + "bytes 1.1.0", ] [[package]] name = "instant" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d" +checksum = "716d3d89f35ac6a34fd0eed635395f4c3b76fa889338a4632e5231a8684216bd" dependencies = [ "cfg-if 1.0.0", ] @@ -1062,15 +1052,15 @@ dependencies = [ [[package]] name = "itoa" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "js-sys" -version = "0.3.52" +version = "0.3.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce791b7ca6638aae45be056e068fc756d871eb3b3b10b8efa62d1c9cec616752" +checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84" dependencies = [ "wasm-bindgen", ] @@ -1087,9 +1077,9 @@ dependencies = [ [[package]] name = "lavalink-rs" -version = "0.7.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86a243a883332fbcd4d96206d9d442a4d7aca220b3d9551ba7efd2a9413dd598" +checksum = "699da030f6e86d1f0431616a8e81c7d5b33b72fbcf54d24fc36a1ecccda4e84b" dependencies = [ "async-trait", "async-tungstenite 0.13.1", @@ -1119,15 +1109,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.99" +version = "0.2.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7f823d141fe0a24df1e23b4af4e3c7ba9e5966ec514ea068c93024aa7deb765" +checksum = "a2a5ac8f984bfcf3a823267e5fde638acc3325f6496633a5da6bb6eb2171e103" [[package]] name = "lock_api" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" +checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" dependencies = [ "scopeguard", ] @@ -1203,9 +1193,9 @@ checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" [[package]] name = "memchr" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" +checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" [[package]] name = "memoffset" @@ -1400,11 +1390,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.35" +version = "0.10.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "549430950c79ae24e6d02e0b7404534ecf311d94cc9f861e9e4020187d13d885" +checksum = "8d9facdb76fec0b73c406f125d44d86fdad818d66fef0531eec9233ca425ff4a" dependencies = [ - "bitflags 1.3.1", + "bitflags 1.3.2", "cfg-if 1.0.0", "foreign-types", "libc", @@ -1420,9 +1410,9 @@ checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" [[package]] name = "openssl-sys" -version = "0.9.65" +version = "0.9.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a7907e3bfa08bb85105209cdfcb6c63d109f8f6c1ed6ca318fff5c1853fbc1d" +checksum = "69df2d8dfc6ce3aaf44b40dec6f487d5a886516cf6879c49e98e0710f310a058" dependencies = [ "autocfg", "cc", @@ -1433,9 +1423,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", "lock_api", @@ -1444,9 +1434,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018" +checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" dependencies = [ "cfg-if 1.0.0", "instant", @@ -1643,9 +1633,9 @@ checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" [[package]] name = "proc-macro2" -version = "1.0.28" +version = "1.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612" +checksum = "b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d" dependencies = [ "unicode-xid 0.2.2", ] @@ -1781,7 +1771,7 @@ checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" dependencies = [ "crossbeam-channel", "crossbeam-deque", - "crossbeam-utils 0.8.5", + "crossbeam-utils", "lazy_static", "num_cpus", ] @@ -1792,7 +1782,7 @@ version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" dependencies = [ - "bitflags 1.3.1", + "bitflags 1.3.2", ] [[package]] @@ -1828,7 +1818,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "246e9f61b9bb77df069a947682be06e31ac43ea37862e244a69f177694ea6d22" dependencies = [ "base64 0.13.0", - "bytes 1.0.1", + "bytes 1.1.0", "encoding_rs", "futures-core", "futures-util", @@ -1870,7 +1860,7 @@ dependencies = [ "cc", "libc", "once_cell", - "spin", + "spin 0.5.2", "untrusted", "web-sys", "winapi 0.3.9", @@ -2020,11 +2010,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.3.1" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467" +checksum = "525bc1abfda2e1998d152c45cf13e696f76d0a4972310b22fac1658b05df7c87" dependencies = [ - "bitflags 1.3.1", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -2033,9 +2023,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.3.0" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e4effb91b4b8b6fb7732e670b6cee160278ff8e6bf485c7805d9e319d76e284" +checksum = "a9dd14d83160b528b7bfd66439110573efcfbe281b17fc2ca9f39f550d619c7e" dependencies = [ "core-foundation-sys", "libc", @@ -2058,7 +2048,7 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" dependencies = [ - "bitflags 1.3.1", + "bitflags 1.3.2", "cssparser", "derive_more", "fxhash", @@ -2107,18 +2097,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.127" +version = "1.0.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f03b9878abf6d14e6779d3f24f07b2cfa90352cfec4acc5aab8f1ac7f146fae8" +checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" dependencies = [ "serde_derive", ] [[package]] name = "serde-aux" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77eb8c83f6ebaedf5e8f970a8a44506b180b8e6268de03885c8547031ccaee00" +checksum = "907c320ef8f45ce134b28ca9567ec58ec0d51dcae4e1ffe7ee0cc15517243810" dependencies = [ "chrono", "serde", @@ -2127,9 +2117,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.127" +version = "1.0.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a024926d3432516606328597e0f224a51355a493b49fdd67e9209187cbe55ecc" +checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" dependencies = [ "proc-macro2", "quote", @@ -2138,9 +2128,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.66" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127" +checksum = "0f690853975602e1bfe1ccbf50504d67174e3bcf340f23b5ea9992e0587a52d8" dependencies = [ "itoa", "ryu", @@ -2188,8 +2178,8 @@ dependencies = [ "async-trait", "async-tungstenite 0.11.0", "base64 0.13.0", - "bitflags 1.3.1", - "bytes 1.0.1", + "bitflags 1.3.2", + "bytes 1.1.0", "chrono", "command_attr", "flate2", @@ -2208,9 +2198,9 @@ dependencies = [ [[package]] name = "serenity-rich-interaction" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e29c534ec1387d4a0849587494e03acfb9780335468d9936f19af00f5fd0178" +checksum = "e9bc8919bb2b46d927f1810a47a030cfa62a720fe6ef33b68bbdbc39394fe001" dependencies = [ "futures", "log 0.4.14", @@ -2226,7 +2216,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "158aeb823791f79bbb92110212970797757fee7102784453dcb9b172a8af272b" dependencies = [ - "bitflags 1.3.1", + "bitflags 1.3.2", "enum_primitive", "serde", "serde_json", @@ -2245,9 +2235,9 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a0c8611594e2ab4ebbf06ec7cbbf0a99450b8570e96cbf5188b5d5f6ef18d81" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" dependencies = [ "block-buffer", "cfg-if 1.0.0", @@ -2267,9 +2257,9 @@ dependencies = [ [[package]] name = "siphasher" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "729a25c17d72b06c68cb47955d44fda88ad2d3e7d77e025663fdd69b93dd71a1" +checksum = "533494a8f9b724d33625ab53c6c4800f7cc445895924a8ef649222dcb76e938b" [[package]] name = "slab" @@ -2285,9 +2275,9 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] name = "socket2" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765f090f0e423d2b55843402a07915add955e7d60657db13707a159727326cad" +checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" dependencies = [ "libc", "winapi 0.3.9", @@ -2331,6 +2321,15 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "spin" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "511254be0c5bcf062b019a6c89c01a664aa359ded62f78aa72c6fc137c0590e5" +dependencies = [ + "lock_api", +] + [[package]] name = "spin_sleep" version = "1.0.0" @@ -2364,11 +2363,11 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "streamcatcher" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa50ae63198c9af3ffb3a1fa8877d54bb1a569a2a61cb519097c7989f1a151ff" +checksum = "9501b1be04455a53f782940f7ca17050482de0a6e322c1ff606afc0ebbc62674" dependencies = [ - "crossbeam-utils 0.7.2", + "crossbeam-utils", "futures-util", "loom", ] @@ -2412,9 +2411,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.74" +version = "1.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1873d832550d4588c3dbc20f01361ab00bfe741048f71e3fecf145a7cc18b29c" +checksum = "5239bc68e0fef57495900cfea4e8dc75596d9a319d7e16b1e0a440d24e6fe0a0" dependencies = [ "proc-macro2", "quote", @@ -2529,18 +2528,18 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.26" +version = "1.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2" +checksum = "602eca064b2d83369e2b2f34b09c70b605402801927c65c11071ac911d299b88" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.26" +version = "1.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745" +checksum = "bad553cc2c78e8de258400763a647e80e6d1b31ee237275d756f6836d204494c" dependencies = [ "proc-macro2", "quote", @@ -2560,9 +2559,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.3.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338" +checksum = "f83b2a3d4d9091d0abd7eba4dc2710b1718583bd4d8992e2190720ea38f391f7" dependencies = [ "tinyvec_macros", ] @@ -2613,12 +2612,12 @@ dependencies = [ [[package]] name = "tokio" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cf844b23c6131f624accf65ce0e4e9956a8bb329400ea5bcc26ae3a5c20b0b" +checksum = "c2c2416fdedca8443ae44b4527de1ea633af61d8f7169ffa6e72c5b53d24efcc" dependencies = [ "autocfg", - "bytes 1.0.1", + "bytes 1.1.0", "libc", "memchr", "mio", @@ -2676,11 +2675,11 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1caa0b0c8d94a049db56b5acf8cba99dc0623aab1b26d5b5f5e2d945846b3592" +checksum = "08d3725d3efa29485e87311c5b699de63cde14b00ed4d256b8318aa30ca452cd" dependencies = [ - "bytes 1.0.1", + "bytes 1.1.0", "futures-core", "futures-sink", "log 0.4.14", @@ -2696,9 +2695,9 @@ checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" [[package]] name = "tracing" -version = "0.1.26" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d" +checksum = "84f96e095c0c82419687c20ddf5cb3eadb61f4e1405923c9dc8e53a1adacbda8" dependencies = [ "cfg-if 1.0.0", "log 0.4.14", @@ -2709,9 +2708,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42e6fa53307c8a17e4ccd4dc81cf5ec38db9209f59b222210375b54ee40d1e2" +checksum = "98863d0dd09fa59a1b79c6750ad80dbda6b75f4e71c437a6a1a8cb91a8bcbd77" dependencies = [ "proc-macro2", "quote", @@ -2720,9 +2719,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.18" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052" +checksum = "46125608c26121c81b0c6d693eab5a420e416da7e43c426d2e8f7df8da8a3acf" dependencies = [ "lazy_static", ] @@ -2792,7 +2791,7 @@ checksum = "5fe8dada8c1a3aeca77d6b51a4f1314e0f4b8e438b7b1b71e3ddaca8080e4093" dependencies = [ "base64 0.13.0", "byteorder", - "bytes 1.0.1", + "bytes 1.1.0", "http", "httparse", "input_buffer 0.4.0", @@ -2816,9 +2815,9 @@ checksum = "ed5b74f0a24b5454580a79abb6994393b09adf0ab8070f15827cb666255de155" [[package]] name = "typenum" -version = "1.13.0" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" +checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec" [[package]] name = "ucd-trie" @@ -2852,9 +2851,9 @@ dependencies = [ [[package]] name = "unicode-width" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" +checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" [[package]] name = "unicode-xid" @@ -2959,9 +2958,9 @@ checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" [[package]] name = "wasm-bindgen" -version = "0.2.75" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b608ecc8f4198fe8680e2ed18eccab5f0cd4caaf3d83516fa5fb2e927fda2586" +checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce" dependencies = [ "cfg-if 1.0.0", "serde", @@ -2971,9 +2970,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.75" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "580aa3a91a63d23aac5b6b267e2d13cb4f363e31dce6c352fca4752ae12e479f" +checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b" dependencies = [ "bumpalo", "lazy_static", @@ -2986,9 +2985,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.25" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16646b21c3add8e13fdb8f20172f8a28c3dbf62f45406bcff0233188226cfe0c" +checksum = "8e8d7523cb1f2a4c96c1317ca690031b714a51cc14e05f712446691f413f5d39" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -2998,9 +2997,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.75" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "171ebf0ed9e1458810dfcb31f2e766ad6b3a89dbda42d8901f2b268277e5f09c" +checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3008,9 +3007,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.75" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c2657dd393f03aa2a659c25c6ae18a13a4048cebd220e147933ea837efc589f" +checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" dependencies = [ "proc-macro2", "quote", @@ -3021,15 +3020,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.75" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e0c4a743a309662d45f4ede961d7afa4ba4131a59a639f29b0069c3798bbcc2" +checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc" [[package]] name = "web-sys" -version = "0.3.52" +version = "0.3.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01c70a82d842c9979078c772d4a1344685045f1a5628f677c2b2eab4dd7d2696" +checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb" dependencies = [ "js-sys", "wasm-bindgen", @@ -3160,6 +3159,6 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "377db0846015f7ae377174787dd452e1c5f5a9050bc6f954911d01f116daa0cd" +checksum = "bf68b08513768deaa790264a7fac27a58cbf2705cfcdc9448362229217d7e970" diff --git a/Cargo.toml b/Cargo.toml index ef31c91..6351064 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,5 +40,5 @@ trigram = "0.4.4" typemap_rev = "0.1.5" youtube-metadata = "0.1.1" xkcd-search = "0.1.1" -lavalink-rs = {version="0.7.1", features=["native", "serenity"]} +lavalink-rs = {version="0.8.0", features=["native", "serenity"]} animethemes-rs = "0.3.0" \ No newline at end of file diff --git a/src/client.rs b/src/client.rs index b5ad9f3..61a5c7d 100644 --- a/src/client.rs +++ b/src/client.rs @@ -1,28 +1,26 @@ use std::collections::{HashMap, HashSet}; +use std::env; +use std::time::SystemTime; use bot_database::get_database; use serenity::client::Context; +use serenity::framework::standard::buckets::LimitedFor; use serenity::framework::standard::macros::hook; use serenity::framework::standard::{CommandResult, DispatchError}; use serenity::framework::StandardFramework; use serenity::model::channel::Message; use serenity::model::id::UserId; use serenity::Client; +use serenity_rich_interaction::RegisterRichInteractions; use songbird::SerenityInit; use crate::commands::*; use crate::handler::{get_raw_event_handler, Handler}; -use crate::providers::music::lavalink::{Lavalink, LavalinkHandler}; +use crate::utils; use crate::utils::context_data::{ get_database_from_context, DatabaseContainer, MusicPlayers, Store, StoreData, }; use crate::utils::error::{BotError, BotResult}; -use lavalink_rs::LavalinkClient; -use serenity::framework::standard::buckets::LimitedFor; -use serenity_rich_interaction::RegisterRichInteractions; -use std::env; -use std::sync::Arc; -use std::time::SystemTime; pub async fn get_client() -> BotResult { let token = env::var("BOT_TOKEN").map_err(|_| BotError::MissingToken)?; @@ -44,21 +42,7 @@ pub async fn get_client() -> BotResult { .get_current_application_info() .await?; - let lava_client = LavalinkClient::builder(current_application.id.0) - .set_host(env::var("LAVALINK_HOST").unwrap_or("172.0.0.1".to_string())) - .set_password(env::var("LAVALINK_PASSWORD").expect("Missing lavalink password")) - .set_port( - env::var("LAVALINK_PORT") - .ok() - .and_then(|s| s.parse().ok()) - .expect("Missing lavalink port"), - ) - .build(LavalinkHandler { data }) - .await?; - { - let mut data = client.data.write().await; - data.insert::(Arc::new(lava_client)); - } + utils::initialize_lavalink(data, current_application).await?; Ok(client) } @@ -112,13 +96,6 @@ async fn after_hook(ctx: &Context, msg: &Message, cmd_name: &str, error: Command let mut error_msg = None; if let Err(why) = error { error_msg = Some(why.to_string()); - if let Some(e) = why.downcast_ref::() { - match e { - _ => { - println!("Got a bot error") - } - } - } let _ = msg .channel_id .send_message(ctx, |m| { diff --git a/src/commands/misc/mod.rs b/src/commands/misc/mod.rs index 50bb55d..968e5f1 100644 --- a/src/commands/misc/mod.rs +++ b/src/commands/misc/mod.rs @@ -10,6 +10,7 @@ use pain::PAIN_COMMAND; use party::PARTY_COMMAND; use ping::PING_COMMAND; use qalc::QALC_COMMAND; +use reset_lavalink::RESET_LAVALINK_COMMAND; use shutdown::SHUTDOWN_COMMAND; use stats::STATS_COMMAND; use time::TIME_COMMAND; @@ -27,6 +28,7 @@ mod pain; mod party; mod ping; mod qalc; +mod reset_lavalink; mod shutdown; mod stats; mod time; @@ -35,7 +37,21 @@ mod xkcd; #[group] #[commands( - ping, stats, shutdown, time, timezones, qalc, about, add_media, media, pain, clear, xkcd, fuck, - party, inspirobot + ping, + stats, + shutdown, + time, + timezones, + qalc, + about, + add_media, + media, + pain, + clear, + xkcd, + fuck, + party, + inspirobot, + reset_lavalink )] pub struct Misc; diff --git a/src/commands/misc/reset_lavalink.rs b/src/commands/misc/reset_lavalink.rs new file mode 100644 index 0000000..81803ad --- /dev/null +++ b/src/commands/misc/reset_lavalink.rs @@ -0,0 +1,41 @@ +use serenity::client::Context; +use serenity::framework::standard::macros::command; +use serenity::framework::standard::CommandResult; +use serenity::model::channel::Message; + +use crate::commands::common::handle_autodelete; +use crate::providers::music::lavalink::Lavalink; +use crate::utils::context_data::MusicPlayers; +use crate::utils::initialize_lavalink; +use serenity_rich_interaction::core::SHORT_TIMEOUT; +use serenity_rich_interaction::ephemeral_message::EphemeralMessage; +use std::mem; +use std::sync::Arc; + +#[command] +#[description("Resets the lavalink connection")] +#[aliases("reconnect_lavalink", "reset-lavalink", "reconnect-lavalink")] +#[num_args(0)] +#[owners_only] +async fn reset_lavalink(ctx: &Context, msg: &Message) -> CommandResult { + let app_info = ctx.http.get_current_application_info().await?; + destroy_lavalink(ctx).await; + + initialize_lavalink(Arc::clone(&ctx.data), app_info).await?; + + EphemeralMessage::create(&ctx.http, msg.channel_id, SHORT_TIMEOUT, |m| { + m.content("Reconnected to lavalink") + }) + .await?; + handle_autodelete(ctx, msg).await?; + + Ok(()) +} + +async fn destroy_lavalink(ctx: &Context) { + let mut data = ctx.data.write().await; + { + let lava_client = data.remove::().unwrap(); + mem::drop(lava_client); + } +} diff --git a/src/commands/music/mod.rs b/src/commands/music/mod.rs index 63bb3ea..d9c94bb 100644 --- a/src/commands/music/mod.rs +++ b/src/commands/music/mod.rs @@ -1,15 +1,38 @@ use std::sync::Arc; use aspotify::Track; +use bot_database::Database; +use futures::future::BoxFuture; +use futures::FutureExt; use regex::Regex; use serenity::client::Context; use serenity::framework::standard::macros::{check, group}; +use serenity::framework::standard::{Args, CommandOptions, Reason}; use serenity::model::channel::Message; use serenity::model::guild::Guild; use serenity::model::id::{ChannelId, GuildId, UserId}; use serenity::model::user::User; use songbird::Songbird; use tokio::sync::Mutex; +use youtube_metadata::get_video_information; + +use clear_queue::CLEAR_QUEUE_COMMAND; +use current::CURRENT_COMMAND; +use equalize::EQUALIZE_COMMAND; +use equalizer::EQUALIZER_COMMAND; +use join::JOIN_COMMAND; +use leave::LEAVE_COMMAND; +use lyrics::LYRICS_COMMAND; +use move_song::MOVE_SONG_COMMAND; +use pause::PAUSE_COMMAND; +use play::PLAY_COMMAND; +use play_next::PLAY_NEXT_COMMAND; +use playlists::PLAYLISTS_COMMAND; +use queue::QUEUE_COMMAND; +use remove_song::REMOVE_SONG_COMMAND; +use save_playlist::SAVE_PLAYLIST_COMMAND; +use shuffle::SHUFFLE_COMMAND; +use skip::SKIP_COMMAND; use crate::providers::music::player::MusicPlayer; use crate::providers::music::queue::Song; @@ -17,11 +40,6 @@ use crate::providers::music::{add_youtube_song_to_database, youtube_dl}; use crate::providers::settings::{get_setting, Setting}; use crate::utils::context_data::{DatabaseContainer, MusicPlayers, Store}; use crate::utils::error::{BotError, BotResult}; -use bot_database::Database; -use futures::future::BoxFuture; -use futures::FutureExt; -use serenity::framework::standard::{Args, CommandOptions, Reason}; -use youtube_metadata::get_video_information; mod clear_queue; mod current; @@ -41,24 +59,6 @@ mod save_playlist; mod shuffle; mod skip; -use clear_queue::CLEAR_QUEUE_COMMAND; -use current::CURRENT_COMMAND; -use equalize::EQUALIZE_COMMAND; -use equalizer::EQUALIZER_COMMAND; -use join::JOIN_COMMAND; -use leave::LEAVE_COMMAND; -use lyrics::LYRICS_COMMAND; -use move_song::MOVE_SONG_COMMAND; -use pause::PAUSE_COMMAND; -use play::PLAY_COMMAND; -use play_next::PLAY_NEXT_COMMAND; -use playlists::PLAYLISTS_COMMAND; -use queue::QUEUE_COMMAND; -use remove_song::REMOVE_SONG_COMMAND; -use save_playlist::SAVE_PLAYLIST_COMMAND; -use shuffle::SHUFFLE_COMMAND; -use skip::SKIP_COMMAND; - #[group] #[commands( join, diff --git a/src/utils/mod.rs b/src/utils/mod.rs index d3c9670..3c8ad8a 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -1,12 +1,18 @@ +use std::env; +use std::ops::Add; +use std::sync::Arc; +use std::time::SystemTime; + +use lavalink_rs::LavalinkClient; use serenity::client::Context; +use serenity::model::application::CurrentApplicationInfo; use serenity::model::channel::Message; +use serenity::prelude::{RwLock, TypeMap}; +use tokio::time::Instant; +use crate::providers::music::lavalink::{Lavalink, LavalinkHandler}; use crate::utils::context_data::get_database_from_context; use crate::utils::error::BotResult; -use std::ops::Add; -use std::sync::Arc; -use std::time::SystemTime; -use tokio::time::Instant; pub(crate) mod context_data; pub(crate) mod error; @@ -84,3 +90,28 @@ pub async fn delete_messages_from_database(ctx: &Context) -> BotResult<()> { Ok(()) } + +pub async fn initialize_lavalink( + data: Arc>, + current_application: CurrentApplicationInfo, +) -> BotResult<()> { + let lava_client = LavalinkClient::builder(current_application.id.0) + .set_host(env::var("LAVALINK_HOST").unwrap_or("172.0.0.1".to_string())) + .set_password(env::var("LAVALINK_PASSWORD").expect("Missing lavalink password")) + .set_port( + env::var("LAVALINK_PORT") + .ok() + .and_then(|s| s.parse().ok()) + .expect("Missing lavalink port"), + ) + .build(LavalinkHandler { + data: Arc::clone(&data), + }) + .await?; + { + let mut data = data.write().await; + data.insert::(Arc::new(lava_client)); + } + + Ok(()) +} From 7aeaa91e58c54a070b12c9dbfa775ba7ac4a0436 Mon Sep 17 00:00:00 2001 From: trivernis Date: Sat, 25 Sep 2021 12:09:15 +0200 Subject: [PATCH 2/2] Increment version Signed-off-by: trivernis --- Cargo.lock | 2 +- Cargo.toml | 2 +- src/commands/misc/reset_lavalink.rs | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 239baae..c506fea 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2574,7 +2574,7 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tobi-rs" -version = "0.9.5" +version = "0.9.6" dependencies = [ "animethemes-rs", "aspotify", diff --git a/Cargo.toml b/Cargo.toml index 6351064..0aef984 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tobi-rs" -version = "0.9.5" +version = "0.9.6" authors = ["trivernis "] edition = "2018" diff --git a/src/commands/misc/reset_lavalink.rs b/src/commands/misc/reset_lavalink.rs index 81803ad..d8ad762 100644 --- a/src/commands/misc/reset_lavalink.rs +++ b/src/commands/misc/reset_lavalink.rs @@ -5,7 +5,6 @@ use serenity::model::channel::Message; use crate::commands::common::handle_autodelete; use crate::providers::music::lavalink::Lavalink; -use crate::utils::context_data::MusicPlayers; use crate::utils::initialize_lavalink; use serenity_rich_interaction::core::SHORT_TIMEOUT; use serenity_rich_interaction::ephemeral_message::EphemeralMessage;