feat: replace owner by administrator right
This commit is contained in:
parent
3870f84585
commit
57ef7c0679
@ -1,6 +1,6 @@
|
|||||||
use super::check_if_server_enable::{check_if_server_enable, CheckIfServerEnableError};
|
use super::check_if_server_enable::{check_if_server_enable, CheckIfServerEnableError};
|
||||||
use crate::{api::bot::info, db::server_config::ServerConfig};
|
use crate::db::server_config::ServerConfig;
|
||||||
use poise::serenity_prelude::{self, RoleId, UserId};
|
use poise::serenity_prelude::{self, CacheHttp, RoleId, UserId};
|
||||||
use tracing::{info, instrument};
|
use tracing::{info, instrument};
|
||||||
|
|
||||||
#[instrument(level = "info", skip(http))]
|
#[instrument(level = "info", skip(http))]
|
||||||
@ -34,6 +34,7 @@ pub async fn check_if_server_enable_and_user_admin(
|
|||||||
match guild.member(http, UserId::new(user_id)).await {
|
match guild.member(http, UserId::new(user_id)).await {
|
||||||
Ok(member) => {
|
Ok(member) => {
|
||||||
info!(user_name = member.user.name, "Checking if user is admin");
|
info!(user_name = member.user.name, "Checking if user is admin");
|
||||||
|
|
||||||
if let Some(perm) = member.permissions {
|
if let Some(perm) = member.permissions {
|
||||||
info!(perm = perm.bits(), "Checking if user has admin permission");
|
info!(perm = perm.bits(), "Checking if user has admin permission");
|
||||||
if perm.administrator() {
|
if perm.administrator() {
|
||||||
@ -45,6 +46,7 @@ pub async fn check_if_server_enable_and_user_admin(
|
|||||||
.permissions
|
.permissions
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.any(|perm| perm.administrator())
|
.any(|perm| perm.administrator())
|
||||||
|
|| guild.member_permissions(&member).administrator()
|
||||||
{
|
{
|
||||||
info!("User has administarator permission");
|
info!("User has administarator permission");
|
||||||
return Ok((true, Some(server_config)));
|
return Ok((true, Some(server_config)));
|
||||||
|
Loading…
Reference in New Issue
Block a user