aboutsummaryrefslogtreecommitdiff
path: root/src/db/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/db/mod.rs')
-rw-r--r--src/db/mod.rs38
1 files changed, 12 insertions, 26 deletions
diff --git a/src/db/mod.rs b/src/db/mod.rs
index 56a8190..eb69d7b 100644
--- a/src/db/mod.rs
+++ b/src/db/mod.rs
@@ -8,9 +8,9 @@ use std::{
};
use anyhow::{
- anyhow,
Error,
Result,
+ anyhow,
};
use chrono::{
DateTime,
@@ -24,24 +24,25 @@ use deadpool_postgres::{
PoolConfig,
};
use diesel::{
- prelude::*,
BoolExpressionMethods,
ExpressionMethods,
NotFound,
PgTextExpressionMethods,
QueryDsl,
+ prelude::*,
};
use diesel_async::{
+ AsyncConnection,
+ AsyncPgConnection,
+ RunQueryDsl,
pooled_connection::{
- deadpool::Pool,
AsyncDieselConnectionManager,
+ deadpool::Pool,
},
scoped_futures::ScopedFutureExt,
- AsyncConnection,
- AsyncPgConnection,
- RunQueryDsl,
};
use grate::tracing;
+use rand::prelude::IndexedRandom;
use serenity::FutureExt;
use tokio_postgres::types::FromSql;
@@ -368,8 +369,8 @@ pub async fn rare_meme(
}
let target_prob = {
- let mut rng = thread_rng();
- rng.gen_range(0..elems.last().unwrap().1)
+ let mut rng = rand::rng();
+ rng.random_range(0..elems.last().unwrap().1)
};
let meme_id = elems
@@ -386,11 +387,6 @@ pub async fn rand_meme(
audio: bool,
guild: u64,
) -> Result<Option<Meme>> {
- use rand::{
- seq::SliceRandom,
- thread_rng,
- };
-
let ids: Vec<i32> = if audio {
memes::table
.select(memes::id)
@@ -422,17 +418,12 @@ pub async fn rand_meme(
return Ok(None);
}
- let id = ids.choose(&mut thread_rng()).ok_or_else(|| anyhow!("couldn't load meme"))?;
+ let id = ids.choose(&mut rand::rng()).ok_or_else(|| anyhow!("couldn't load meme"))?;
memes::table.find(id).first::<Meme>(conn).await.map_err(Error::from).map(Some)
}
pub async fn rand_audio_meme(conn: &mut AsyncPgConnection, guild: u64) -> Result<Option<Meme>> {
- use rand::{
- seq::SliceRandom,
- thread_rng,
- };
-
let ids: Vec<i32> = memes::table
.select(memes::id)
.filter(memes::audio_id.is_not_null().and(memes::guild.eq(guild as i64)))
@@ -444,17 +435,12 @@ pub async fn rand_audio_meme(conn: &mut AsyncPgConnection, guild: u64) -> Result
return Ok(None);
}
- let id = ids.choose(&mut thread_rng()).ok_or_else(|| anyhow!("couldn't load audio meme"))?;
+ let id = ids.choose(&mut rand::rng()).ok_or_else(|| anyhow!("couldn't load audio meme"))?;
memes::table.find(id).first::<Meme>(conn).await.map_err(Error::from).map(Some)
}
pub async fn rand_silent_meme(conn: &mut AsyncPgConnection, guild: u64) -> Result<Option<Meme>> {
- use rand::{
- seq::SliceRandom,
- thread_rng,
- };
-
let ids: Vec<i32> = memes::table
.select(memes::id)
.filter(memes::audio_id.is_null().and(memes::guild.eq(guild as i64)))
@@ -466,7 +452,7 @@ pub async fn rand_silent_meme(conn: &mut AsyncPgConnection, guild: u64) -> Resul
return Ok(None);
}
- let id = ids.choose(&mut thread_rng()).ok_or_else(|| anyhow!("couldn't load audio meme"))?;
+ let id = ids.choose(&mut rand::rng()).ok_or_else(|| anyhow!("couldn't load audio meme"))?;
memes::table.find(id).first::<Meme>(conn).await.map_err(Error::from).map(Some)
}