fix(bot-discord): fix shit

yea
This commit is contained in:
GramingFoxTeam
2023-08-13 19:32:53 +03:00
parent 3ed2491b4d
commit 8b9392d97a
11 changed files with 41 additions and 33 deletions

View File

@@ -37,7 +37,7 @@ export default {
reportToLogs(config, interaction.client, 'banned', null, {
reason: interaction.options.getString('reason'),
actionTo: await client.users.fetch(interaction.options.getUser('user')),
actionTo: interaction.options.getUser('user'),
actionBy: interaction.member,
channel: interaction.channel
}, interaction);

View File

@@ -29,19 +29,21 @@ export default {
await interaction.deferReply();
const member = interaction.options.getUser('user');
const user = interaction.options.getUser('user');
const member = await interaction.guild.members.fetch(user);
const reason = interaction.options.getString('reason');
const parsedDuration = await muteMember(config, member, {
reason,
supportMute: true
supportMute: true,
guild: interaction.guild
});
exileMemberToChannel(member, interaction.channel, null, config, true);
reportToLogs(config, interaction.client, 'muted', null, {
reason,
actionTo: await client.users.fetch(interaction.options.getString('user')),
actionTo: user,
actionBy: interaction.member,
channel: interaction.channel,
expire: parsedDuration

View File

@@ -17,10 +17,13 @@ export default {
});
const targetMsg = interaction.targetMessage;
muteMember(config, targetMsg.author, {
const member = await interaction.guild.members.fetch(targetMsg.author.id);
muteMember(config, member, {
channel: interaction.channel,
reason: null,
supportMute: true
supportMute: true,
guild: interaction.guild
});
exileMemberToChannel(targetMsg.author, interaction.channel, targetMsg.content, config, true);

View File

@@ -34,18 +34,20 @@ export default {
await interaction.deferReply();
const member = interaction.options.getUser('user');
const user = interaction.options.getUser('user');
const member = await interaction.guild.members.fetch(user);
const reason = interaction.options.getString('reason');
const parsedDuration = await muteMember(config, member, {
duration: interaction.options.getString('duration'),
reason,
supportMute: false
supportMute: false,
guild: interaction.guild
});
reportToLogs(config, interaction.client, 'muted', null, {
reason,
actionTo: member,
actionTo: user,
actionBy: interaction.member,
channel: interaction.channel,
expire: parsedDuration

View File

@@ -1,5 +1,5 @@
import { SlashCommandBuilder } from 'discord.js';
import { checkForPerms } from '../utils/checkModPerms.js';
import { checkForPerms } from '../utils/checkSupporterPerms.js';
import reportToLogs from '../utils/reportToLogs.js';
import unmuteMember from '../utils/unmuteMember.js';
@@ -23,7 +23,6 @@ export default {
await interaction.deferReply();
const member = interaction.options.getUser('user');
const isExiled = await unmuteMember(config, member, true);
if (!isExiled) {
@@ -36,7 +35,7 @@ export default {
reportToLogs(config, interaction.client, 'unmuted', null, {
reason: null,
actionTo: await client.users.fetch(interaction.options.getString('user')),
actionTo: member,
actionBy: interaction.member,
channel: interaction.channel,
}, interaction);

View File

@@ -22,8 +22,9 @@ export default {
await interaction.deferReply();
const member = interaction.options.getUser('user');
const user = interaction.options.getUser('user');
const member = await interaction.guild.members.fetch(user);
const isMuted = await unmuteMember(config, member);
if (!isMuted) {
@@ -36,7 +37,7 @@ export default {
reportToLogs(config, interaction.client, 'unmuted', null, {
reason: null,
actionTo: await client.users.fetch(interaction.options.getString('user')),
actionTo: member,
actionBy: interaction.member,
channel: interaction.channel,
}, interaction);

View File

@@ -10,7 +10,7 @@ export default {
const mutes = await client.db.collection('muted').find().toArray();
for (const mute of mutes) {
await setMuteTimeout(mute, client.mutes, client);
await setMuteTimeout(mute, client, config);
}
console.log(`Loaded ${mutes.length} mutes.`);

View File

@@ -10,7 +10,7 @@ export default {
if (!msg.reference) return msg.reply('You did not reply to anyone!');
const referencedMsg = await msg.channel.messages.fetch(msg.reference.messageId);
let message = referencedMsg.content;
if (args[0]) {
if (args && args[0]) {
if (isNaN(args[0])) return msg.reply('The argument you entered is not a number!');
const msgsByAuthor = (await msg.channels.fetch({ limit: 50 })).filter(
@@ -19,8 +19,9 @@ export default {
message = msgsByAuthor.slice(Number(`-${args[0]}`));
}
await muteMember(config, referencedMsg.author, {
supportMute: true
await muteMember(config, referencedMsg.member, {
supportMute: true,
guild: msg.guild
});
exileMemberToChannel(referencedMsg.author, msg.channel, message, config, false);

View File

@@ -34,7 +34,7 @@ export default async function exileMemberToChannel(member, channel, message, con
]
};
if (isSlash) channel.reply(messageParams);
if (isSlash) channel.editReply(messageParams);
else channel.send(messageParams);
}

View File

@@ -3,7 +3,7 @@ import setMuteTimeout from './setMuteTimeout.js';
parse['mo'] = parse['month']
export default async function muteMember(config, member, { duration, reason, supportMute }) {
export default async function muteMember(config, member, { duration, reason, supportMute, guild }) {
let expires;
if (supportMute) {
@@ -23,16 +23,16 @@ export default async function muteMember(config, member, { duration, reason, sup
}
}
const existingMute = await member.client.db.collection('muted').findOne({
guild_id: member.guild.id,
const existingMute = await guild.client.db.collection('muted').findOne({
guild_id: guild.id,
user_id: member.id
});
if (existingMute) {
// Update existing mute
await member.client.db.collection('muted').updateOne({
guild_id: member.guild.id,
await guild.client.db.collection('muted').updateOne({
guild_id: guild.id,
user_id: member.id
}, {
$set: {
@@ -42,13 +42,13 @@ export default async function muteMember(config, member, { duration, reason, sup
}
});
if (member.client.mutes.has(member.id)) {
clearTimeout(member.client.mutes.get(member.id))
member.client.mutes.delete(member.id);
if (guild.client.mutes.has(member.id)) {
clearTimeout(guild.client.mutes.get(member.id))
guild.client.mutes.delete(member.id);
}
} else {
await member.client.db.collection('muted').insertOne({
guild_id: member.guild.id,
await guild.client.db.collection('muted').insertOne({
guild_id: guild.id,
user_id: member.id,
taken_roles: takenRoles,
expires,
@@ -75,12 +75,12 @@ export default async function muteMember(config, member, { duration, reason, sup
// Start a timeout.
setMuteTimeout({
guild_id: member.guild.id,
guild_id: guild.id,
user_id: member.id,
taken_roles: takenRoles,
expires,
support_mute: supportMute
}, member.client.mutes, member.client, config);
}, guild.client, config);
// Return parsed time for the mute command to resolve.
return expires;

View File

@@ -1,6 +1,6 @@
export default async function setMuteTimeout(mute, mutes, client, config) {
export default async function setMuteTimeout(mute, client, config) {
const duration = (mute.expires - Math.floor(new Date() / 1000)) * 1000;
mutes.set(mute.user_id, setTimeout(async() => {
client.mutes.set(mute.user_id, setTimeout(async() => {
const guild = await client.guilds.fetch(mute.guild_id);
let member;
try {