mirror of
https://github.com/revanced/revanced-discord-bot.git
synced 2025-04-29 22:14:28 +02:00
feat(poll api): hash discord user id (#48)
This commit is contained in:
parent
403560beb0
commit
99c476df9a
21
Cargo.lock
generated
21
Cargo.lock
generated
@ -709,6 +709,15 @@ dependencies = [
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "keccak"
|
||||
version = "0.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768"
|
||||
dependencies = [
|
||||
"cpufeatures",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "lazy_static"
|
||||
version = "1.4.0"
|
||||
@ -1182,6 +1191,7 @@ dependencies = [
|
||||
"decancer",
|
||||
"dirs",
|
||||
"dotenv",
|
||||
"hex",
|
||||
"mongodb",
|
||||
"poise",
|
||||
"regex",
|
||||
@ -1190,6 +1200,7 @@ dependencies = [
|
||||
"serde_json",
|
||||
"serde_regex",
|
||||
"serde_with_macros 2.0.1",
|
||||
"sha3",
|
||||
"tokio",
|
||||
"tracing",
|
||||
"tracing-subscriber",
|
||||
@ -1463,6 +1474,16 @@ dependencies = [
|
||||
"digest",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sha3"
|
||||
version = "0.10.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9"
|
||||
dependencies = [
|
||||
"digest",
|
||||
"keccak",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sharded-slab"
|
||||
version = "0.1.4"
|
||||
|
@ -31,4 +31,6 @@ reqwest = { version = "0.11", features= ["rustls-tls"], default-features = false
|
||||
chrono = "0.4"
|
||||
dirs = "4.0"
|
||||
tracing = { version = "0.1", features = ["max_level_debug", "release_max_level_info"] }
|
||||
tracing-subscriber = "0.3"
|
||||
tracing-subscriber = "0.3"
|
||||
sha3 = "0.10"
|
||||
hex = "0.4"
|
||||
|
@ -1,5 +1,6 @@
|
||||
use poise::serenity_prelude::{ButtonStyle, ReactionType, Timestamp};
|
||||
|
||||
use sha3::{Digest, Sha3_256};
|
||||
use tracing::log::{error, info, trace};
|
||||
|
||||
use super::bot::get_data_lock;
|
||||
@ -22,9 +23,12 @@ pub async fn handle_poll(
|
||||
|
||||
let eligible = member.joined_at.unwrap() <= min_join_date;
|
||||
let auth_token = if eligible {
|
||||
let mut hasher = Sha3_256::new();
|
||||
hasher.update(&member.user.id.to_string());
|
||||
let result = data
|
||||
.api
|
||||
.authenticate(&member.user.id.to_string())
|
||||
// We cannot use the entire hash because Discord rejects URLs with more than 512 characters.
|
||||
.authenticate(&hex::encode(hasher.finalize())[..2^5])
|
||||
.await
|
||||
.map(|auth| auth.access_token);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user