mirror of
https://github.com/revanced/revanced-discord-bot.git
synced 2025-05-16 21:07:06 +02:00
chore: update cargo dependencies
This commit is contained in:
parent
14a1052cd8
commit
85b43f1c59
821
Cargo.lock
generated
821
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
30
Cargo.toml
30
Cargo.toml
@ -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"
|
||||
|
@ -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?;
|
||||
|
@ -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")
|
||||
|
@ -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(())
|
||||
|
@ -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 {
|
||||
|
@ -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()),
|
||||
"",
|
||||
);
|
||||
|
@ -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?
|
||||
}};
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user