3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-10 20:35:02 +00:00

Finish preliminary rework, ready to test

This commit is contained in:
Dark 2021-06-02 04:07:50 +02:00
parent 57893e7f76
commit d0a1beb809
No known key found for this signature in database
GPG key ID: 2CD6ACB6B0A87B8A
177 changed files with 854 additions and 707 deletions

View file

@ -3,6 +3,7 @@ import { sendErrorMessage, sendSuccessMessage, canActOn } from "../../../pluginU
import { rolesCmd } from "../types";
import { resolveRoleId, stripObjectToScalars, verboseUserMention } from "../../../utils";
import { LogType } from "../../../data/LogType";
import { GuildChannel } from "discord.js";
export const AddRoleCmd = rolesCmd({
trigger: "addrole",
@ -33,7 +34,7 @@ export const AddRoleCmd = rolesCmd({
}
// Sanity check: make sure the role is configured properly
const role = (msg.channel as GuildChannel).guild.roles.get(roleId);
const role = (msg.channel as GuildChannel).guild.roles.cache.get(roleId);
if (!role) {
pluginData.state.logs.log(LogType.BOT_ALERT, {
body: `Unknown role configured for 'roles' plugin: ${roleId}`,
@ -42,14 +43,14 @@ export const AddRoleCmd = rolesCmd({
return;
}
if (args.member.roles.includes(roleId)) {
if (args.member.roles.cache.has(roleId)) {
sendErrorMessage(pluginData, msg.channel, "Member already has that role");
return;
}
pluginData.state.logs.ignoreLog(LogType.MEMBER_ROLE_ADD, args.member.id);
await args.member.addRole(roleId);
await args.member.roles.add(roleId);
pluginData.state.logs.log(LogType.MEMBER_ROLE_ADD, {
member: stripObjectToScalars(args.member, ["user", "roles"]),

View file

@ -4,6 +4,7 @@ import { rolesCmd } from "../types";
import { resolveMember, resolveRoleId, stripObjectToScalars, successMessage } from "../../../utils";
import { LogType } from "../../../data/LogType";
import { logger } from "../../../logger";
import { GuildMember } from "discord.js";
export const MassAddRoleCmd = rolesCmd({
trigger: "massaddrole",
@ -15,9 +16,9 @@ export const MassAddRoleCmd = rolesCmd({
},
async run({ message: msg, args, pluginData }) {
msg.channel.createMessage(`Resolving members...`);
msg.channel.send(`Resolving members...`);
const members: Member[] = [];
const members: GuildMember[] = [];
const unknownMembers: string[] = [];
for (const memberId of args.members) {
const member = await resolveMember(pluginData.client, pluginData.guild, memberId);
@ -57,12 +58,12 @@ export const MassAddRoleCmd = rolesCmd({
return;
}
const membersWithoutTheRole = members.filter(m => !m.roles.includes(roleId));
const membersWithoutTheRole = members.filter(m => !m.roles.cache.has(roleId));
let assigned = 0;
const failed: string[] = [];
const alreadyHadRole = members.length - membersWithoutTheRole.length;
msg.channel.createMessage(
msg.channel.send(
`Adding role **${role.name}** to ${membersWithoutTheRole.length} ${
membersWithoutTheRole.length === 1 ? "member" : "members"
}...`,
@ -71,7 +72,7 @@ export const MassAddRoleCmd = rolesCmd({
for (const member of membersWithoutTheRole) {
try {
pluginData.state.logs.ignoreLog(LogType.MEMBER_ROLE_ADD, member.id);
await member.addRole(roleId);
await member.roles.add(roleId);
pluginData.state.logs.log(LogType.MEMBER_ROLE_ADD, {
member: stripObjectToScalars(member, ["user", "roles"]),
roles: role.name,
@ -97,6 +98,6 @@ export const MassAddRoleCmd = rolesCmd({
resultMessage += `\nUnknown members: ${unknownMembers.join(", ")}`;
}
msg.channel.createMessage(successMessage(resultMessage));
msg.channel.send(successMessage(resultMessage));
},
});

View file

@ -4,6 +4,7 @@ import { rolesCmd } from "../types";
import { resolveMember, stripObjectToScalars, successMessage, resolveRoleId } from "../../../utils";
import { LogType } from "../../../data/LogType";
import { logger } from "../../../logger";
import { GuildMember } from "discord.js";
export const MassRemoveRoleCmd = rolesCmd({
trigger: "massremoverole",
@ -15,9 +16,9 @@ export const MassRemoveRoleCmd = rolesCmd({
},
async run({ message: msg, args, pluginData }) {
msg.channel.createMessage(`Resolving members...`);
msg.channel.send(`Resolving members...`);
const members: Member[] = [];
const members: GuildMember[] = [];
const unknownMembers: string[] = [];
for (const memberId of args.members) {
const member = await resolveMember(pluginData.client, pluginData.guild, memberId);
@ -57,12 +58,12 @@ export const MassRemoveRoleCmd = rolesCmd({
return;
}
const membersWithTheRole = members.filter(m => m.roles.includes(roleId));
const membersWithTheRole = members.filter(m => m.roles.cache.has(roleId));
let assigned = 0;
const failed: string[] = [];
const didNotHaveRole = members.length - membersWithTheRole.length;
msg.channel.createMessage(
msg.channel.send(
`Removing role **${role.name}** from ${membersWithTheRole.length} ${
membersWithTheRole.length === 1 ? "member" : "members"
}...`,
@ -71,7 +72,7 @@ export const MassRemoveRoleCmd = rolesCmd({
for (const member of membersWithTheRole) {
try {
pluginData.state.logs.ignoreLog(LogType.MEMBER_ROLE_REMOVE, member.id);
await member.removeRole(roleId);
await member.roles.remove(roleId);
pluginData.state.logs.log(LogType.MEMBER_ROLE_REMOVE, {
member: stripObjectToScalars(member, ["user", "roles"]),
roles: role.name,
@ -97,6 +98,6 @@ export const MassRemoveRoleCmd = rolesCmd({
resultMessage += `\nUnknown members: ${unknownMembers.join(", ")}`;
}
msg.channel.createMessage(successMessage(resultMessage));
msg.channel.send(successMessage(resultMessage));
},
});

View file

@ -4,6 +4,7 @@ import { rolesCmd } from "../types";
import { LogType } from "../../../data/LogType";
import { stripObjectToScalars, verboseUserMention, resolveRoleId } from "../../../utils";
import { GuildChannel } from "discord.js";
export const RemoveRoleCmd = rolesCmd({
trigger: "removerole",
@ -34,7 +35,7 @@ export const RemoveRoleCmd = rolesCmd({
}
// Sanity check: make sure the role is configured properly
const role = (msg.channel as GuildChannel).guild.roles.get(roleId);
const role = (msg.channel as GuildChannel).guild.roles.cache.get(roleId);
if (!role) {
pluginData.state.logs.log(LogType.BOT_ALERT, {
body: `Unknown role configured for 'roles' plugin: ${roleId}`,
@ -43,14 +44,14 @@ export const RemoveRoleCmd = rolesCmd({
return;
}
if (!args.member.roles.includes(roleId)) {
if (!args.member.roles.cache.has(roleId)) {
sendErrorMessage(pluginData, msg.channel, "Member doesn't have that role");
return;
}
pluginData.state.logs.ignoreLog(LogType.MEMBER_ROLE_REMOVE, args.member.id);
await args.member.removeRole(roleId);
await args.member.roles.remove(roleId);
pluginData.state.logs.log(LogType.MEMBER_ROLE_REMOVE, {
member: stripObjectToScalars(args.member, ["user", "roles"]),