chore: update cargo dependencies

This commit is contained in:
oSumAtrIX 2023-03-27 01:51:13 +02:00
parent 14a1052cd8
commit 85b43f1c59
No known key found for this signature in database
GPG Key ID: A9B3094ACDB604B4
9 changed files with 584 additions and 359 deletions

821
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -17,20 +17,20 @@ panic = "abort"
[dependencies]
bson = "2.4"
serde_with_macros = "2.0"
mongodb = "2.3"
poise = "0.3"
decancer = "1.4"
tokio = { version = "1.20", features = ["rt-multi-thread"] }
dotenv = "0.15"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
regex = "1.0"
serde_regex = "1.1"
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"
serde_with_macros = "2.0.1"
mongodb = "2.4.0"
poise = "0.5.2"
decancer = "1.5.4"
tokio = { version = "1.26.0", features = ["rt-multi-thread"] }
dotenv = "0.15.0"
serde = { version = "1.0.158", features = ["derive"] }
serde_json = "1.0.94"
regex = "1.7.3"
serde_regex = "1.1.0"
reqwest = { version = "0.11.15", features= ["rustls-tls"], default-features = false }
chrono = "0.4.24"
dirs = "5.0.0"
tracing = { version = "0.1.37", features = ["max_level_debug", "release_max_level_info"] }
tracing-subscriber = "0.3.16"
hmac-sha256 = "1.1.6"
base64 = "0.21.0"

View File

@ -18,7 +18,7 @@ pub async fn reply(
ctx.send(|f| f.ephemeral(true).content(content)).await
}
let http = &ctx.discord().http;
let http = &ctx.serenity_context().http;
let channel = &ctx.channel_id();
if let Some(reply_message) = reply_message {
@ -68,7 +68,7 @@ pub async fn poll(
let channel_id = get_id(&mut segments)?;
let message = ctx
.discord()
.serenity_context()
.http
.get_message(channel_id, message_id)
.await?;

View File

@ -2,7 +2,11 @@ use bson::{doc, Document};
use chrono::{Duration, Utc};
use mongodb::options::{UpdateModifications, UpdateOptions};
use poise::serenity_prelude::{
self as serenity, Mentionable, PermissionOverwrite, Permissions, UserId,
self as serenity,
Mentionable,
PermissionOverwrite,
Permissions,
UserId,
};
use tracing::{debug, error, trace};
@ -10,7 +14,11 @@ use crate::db::model::{LockedChannel, Muted};
use crate::utils::bot::get_member;
use crate::utils::macros::to_user;
use crate::utils::moderation::{
ban_moderation, queue_unmute_member, respond_moderation, BanKind, ModerationKind,
ban_moderation,
queue_unmute_member,
respond_moderation,
BanKind,
ModerationKind,
};
use crate::{Context, Error};
@ -20,7 +28,7 @@ pub async fn lock(ctx: Context<'_>) -> Result<(), Error> {
let data = &ctx.data().read().await;
let configuration = &data.configuration;
let database = &data.database;
let discord = &ctx.discord();
let discord = &ctx.serenity_context();
let cache = &discord.cache;
let http = &discord.http;
@ -89,14 +97,11 @@ pub async fn lock(ctx: Context<'_>) -> Result<(), Error> {
let permission = Permissions::SEND_MESSAGES & Permissions::ADD_REACTIONS;
if let Err(err) = channel
.create_permission(
http,
&PermissionOverwrite {
allow: permission_overwrite.allow & !permission,
deny: permission_overwrite.deny | permission,
kind: permission_overwrite.kind,
},
)
.create_permission(http, &PermissionOverwrite {
allow: permission_overwrite.allow & !permission,
deny: permission_overwrite.deny | permission,
kind: permission_overwrite.kind,
})
.await
{
error!("Failed to create the new permission: {:?}", err);
@ -117,7 +122,7 @@ pub async fn unlock(ctx: Context<'_>) -> Result<(), Error> {
let data = &ctx.data().read().await;
let configuration = &data.configuration;
let database = &data.database;
let discord = &ctx.discord();
let discord = &ctx.serenity_context();
let cache = &discord.cache;
let http = &discord.http;
@ -177,7 +182,7 @@ pub async fn unmute(
let author = ctx.author();
let queue = queue_unmute_member(
ctx.discord().clone(),
ctx.serenity_context().clone(),
data.database.clone(),
ctx.guild_id().unwrap(),
id,
@ -244,7 +249,7 @@ pub async fn mute(
let mute = &configuration.general.mute;
let guild_id = ctx.guild_id().unwrap();
let discord = ctx.discord();
let discord = ctx.serenity_context();
let unmute_time = if !mute_duration.is_zero() {
Some((now + mute_duration).timestamp() as u64)
@ -357,7 +362,7 @@ pub async fn purge(
let channel = ctx.channel_id();
let too_old_timestamp = Utc::now().timestamp() - MAX_BULK_DELETE_AGO_SECS;
let current_user = ctx.discord().http.get_current_user().await?;
let current_user = ctx.serenity_context().http.get_current_user().await?;
let image = current_user.face();
let author = ctx.author();
@ -383,7 +388,7 @@ pub async fn purge(
loop {
// Filter out messages that are too old
let mut messages = channel
.messages(&ctx.discord(), |m| {
.messages(&ctx.serenity_context(), |m| {
m.limit(count_to_delete as u64).before(response.id)
})
.await?
@ -419,7 +424,9 @@ pub async fn purge(
let purge_count = messages.len();
if purge_count > 0 {
deleted_amount += purge_count;
channel.delete_messages(&ctx.discord(), &messages).await?;
channel
.delete_messages(&ctx.serenity_context(), &messages)
.await?;
} else {
empty_pages += 1;
}
@ -431,7 +438,7 @@ pub async fn purge(
response
.to_mut()
.edit(&ctx.discord(), |e| {
.edit(&ctx.serenity_context(), |e| {
e.set_embed(
serenity::CreateEmbed::default()
.title("Purge successful")

View File

@ -152,7 +152,7 @@ async fn main() {
Ok(true)
})
}),
listener: |_ctx, event, _framework, _data| {
event_handler: |_ctx, event, _framework, _data| {
Box::pin(async move {
tracing::trace!("{:?}", event.name());
Ok(())

View File

@ -62,8 +62,10 @@ pub async fn auto_respond(ctx: &serenity::Context, new_message: &serenity::Messa
.unwrap()
.unix_timestamp();
let must_joined_at =
DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(joined_at, 0), Utc);
let must_joined_at = DateTime::<Utc>::from_utc(
NaiveDateTime::from_timestamp_opt(joined_at, 0).unwrap(),
Utc,
);
let but_joined_at = Utc::now() - Duration::days(min_age);
if must_joined_at <= but_joined_at {

View File

@ -1,10 +1,9 @@
use ::decancer::Decancer;
extern crate decancer;
use tracing::{error, info, trace};
use super::*;
const DECANCER: Decancer = Decancer::new();
pub async fn cure(
ctx: &serenity::Context,
old_if_available: &Option<serenity::Member>,
@ -27,7 +26,7 @@ pub async fn cure(
}
}
let mut cured_name = DECANCER.cure(&name).replace(
let mut cured_name = decancer::cure(&name).replace(
|c: char| !(c == ' ' || c == '-' || c == '_' || c.is_ascii_alphanumeric()),
"",
);

View File

@ -1,6 +1,6 @@
macro_rules! to_user {
($user:ident, $ctx:ident) => {{
$user.to_user(&$ctx.discord().http).await?
$user.to_user(&$ctx.serenity_context().http).await?
}};
}

View File

@ -16,12 +16,12 @@ use crate::utils::bot::get_member;
use crate::{Context, Error};
pub enum ModerationKind {
Mute(User, User, String, Option<String>, Option<Error>), // User, Command author, Reason, Expires, Error
Mute(User, User, String, Option<String>, Option<Error>), /* User, Command author, Reason, Expires, Error */
Unmute(User, User, Option<Error>), // User, Command author, Error
Ban(User, User, Option<String>, Option<SerenityError>), // User, Command author, Reason, Error
Unban(User, User, Option<SerenityError>), // User, Command author, Error
Lock(GuildChannel, User, Option<Error>), // Channel name, Command author, Error
Unlock(GuildChannel, User, Option<Error>), // Channel name, Command author, Error
Ban(User, User, Option<String>, Option<SerenityError>), // User, Command author, Reason, Error
Unban(User, User, Option<SerenityError>), // User, Command author, Error
Lock(GuildChannel, User, Option<Error>), // Channel name, Command author, Error
Unlock(GuildChannel, User, Option<Error>), // Channel name, Command author, Error
}
pub enum BanKind {
Ban(User, Option<u8>, Option<String>), // User, Amount of days to delete messages, Reason
@ -121,7 +121,7 @@ pub async fn respond_moderation<'a>(
moderation: &ModerationKind,
configuration: &Configuration,
) -> Result<(), Error> {
let current_user = ctx.discord().http.get_current_user().await?;
let current_user = ctx.serenity_context().http.get_current_user().await?;
let create_embed = |f: &mut serenity::CreateEmbed| {
let mut moderated_user: Option<&User> = None;
@ -300,7 +300,7 @@ pub async fn respond_moderation<'a>(
let response = reply.message().await?;
ChannelId(configuration.general.logging_channel)
.send_message(&ctx.discord().http, |reply| {
.send_message(&ctx.serenity_context().http, |reply| {
reply.embed(|embed| {
create_embed(embed);
embed.field(
@ -322,7 +322,8 @@ pub async fn respond_moderation<'a>(
pub async fn ban_moderation(ctx: &Context<'_>, kind: &BanKind) -> Option<SerenityError> {
let guild_id = ctx.guild_id().unwrap().0;
let http = &ctx.discord().http;
let http = &ctx.serenity_context().http;
match kind {
BanKind::Ban(user, dmd, reason) => {
@ -370,7 +371,9 @@ pub async fn mute_moderation(
let is_currently_muted = member.roles.iter().any(|r| r.0 == mute_role_id);
member.add_role(&ctx.discord().http, mute_role_id).await?;
member
.add_role(&ctx.serenity_context().http, mute_role_id)
.await?;
// accumulate all roles to take from the member
let removed_roles = member
@ -382,12 +385,15 @@ pub async fn mute_moderation(
// take them from the member.
member
.remove_roles(
&ctx.discord().http,
&ctx.serenity_context().http,
&take.iter().map(|&r| RoleId::from(r)).collect::<Vec<_>>(),
)
.await?;
if let Err(e) = member.disconnect_from_voice(&ctx.discord().http).await {
if let Err(e) = member
.disconnect_from_voice(&ctx.serenity_context().http)
.await
{
warn!("Could not disconnect member from voice channel: {}", e);
}