Fix member fetching in a few places
This commit is contained in:
parent
78790627ad
commit
1e2b68119c
6 changed files with 19 additions and 19 deletions
|
@ -171,11 +171,17 @@ export class LogsPlugin extends ZeppelinPlugin<ILogsPluginConfig> {
|
||||||
try {
|
try {
|
||||||
formatted = await renderTemplate(format, {
|
formatted = await renderTemplate(format, {
|
||||||
...data,
|
...data,
|
||||||
userMention: user => {
|
userMention: async user => {
|
||||||
if (!user) return "";
|
if (!user) return "";
|
||||||
if (user.user) user = user.user;
|
|
||||||
|
|
||||||
const member = this.guild.members.get(user.id);
|
let member: Member;
|
||||||
|
if (user.user) {
|
||||||
|
member = user;
|
||||||
|
user = member.user;
|
||||||
|
} else {
|
||||||
|
member = await this.getMember(user.id);
|
||||||
|
}
|
||||||
|
|
||||||
const memberConfig = this.getMatchingConfig({ member, userId: user.id });
|
const memberConfig = this.getMatchingConfig({ member, userId: user.id });
|
||||||
|
|
||||||
if (memberConfig.ping_user) {
|
if (memberConfig.ping_user) {
|
||||||
|
@ -389,11 +395,11 @@ export class LogsPlugin extends ZeppelinPlugin<ILogsPluginConfig> {
|
||||||
}
|
}
|
||||||
|
|
||||||
@d.event("userUpdate")
|
@d.event("userUpdate")
|
||||||
onUserUpdate(user: User, oldUser: User) {
|
async onUserUpdate(user: User, oldUser: User) {
|
||||||
if (!oldUser) return;
|
if (!oldUser) return;
|
||||||
|
|
||||||
if (user.username !== oldUser.username || user.discriminator !== oldUser.discriminator) {
|
if (user.username !== oldUser.username || user.discriminator !== oldUser.discriminator) {
|
||||||
const member = this.guild.members.get(user.id) || { id: user.id, user };
|
const member = (await this.getMember(user.id)) || { id: user.id, user };
|
||||||
this.guildLogs.log(LogType.MEMBER_USERNAME_CHANGE, {
|
this.guildLogs.log(LogType.MEMBER_USERNAME_CHANGE, {
|
||||||
member: stripObjectToScalars(member, ["user"]),
|
member: stripObjectToScalars(member, ["user"]),
|
||||||
oldName: `${oldUser.username}#${oldUser.discriminator}`,
|
oldName: `${oldUser.username}#${oldUser.discriminator}`,
|
||||||
|
|
|
@ -1079,7 +1079,7 @@ export class ModActionsPlugin extends ZeppelinPlugin<IModActionsPluginConfig> {
|
||||||
|
|
||||||
// Verify we can act on each of the users specified
|
// Verify we can act on each of the users specified
|
||||||
for (const userId of args.userIds) {
|
for (const userId of args.userIds) {
|
||||||
const member = this.guild.members.get(userId);
|
const member = this.guild.members.get(userId); // TODO: Get members on demand?
|
||||||
if (member && !this.canActOn(msg.member, member)) {
|
if (member && !this.canActOn(msg.member, member)) {
|
||||||
this.sendErrorMessage(msg.channel, "Cannot massban one or more users: insufficient permissions");
|
this.sendErrorMessage(msg.channel, "Cannot massban one or more users: insufficient permissions");
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -341,13 +341,7 @@ export class MutesPlugin extends ZeppelinPlugin<IMutesPluginConfig> {
|
||||||
for (const [index, mute] of filteredMutes.entries()) {
|
for (const [index, mute] of filteredMutes.entries()) {
|
||||||
const muteWithDetails = { ...mute };
|
const muteWithDetails = { ...mute };
|
||||||
|
|
||||||
let member = this.guild.members.get(mute.user_id);
|
const member = await this.getMember(mute.user_id);
|
||||||
if (!member) {
|
|
||||||
try {
|
|
||||||
member = await this.bot.getRESTGuildMember(this.guildId, mute.user_id);
|
|
||||||
this.guild.members.add(member);
|
|
||||||
} catch (e) {} // tslint:disable-line
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!member) {
|
if (!member) {
|
||||||
if (!bannedIds) {
|
if (!bannedIds) {
|
||||||
|
@ -531,7 +525,7 @@ export class MutesPlugin extends ZeppelinPlugin<IMutesPluginConfig> {
|
||||||
|
|
||||||
let cleared = 0;
|
let cleared = 0;
|
||||||
for (const mute of activeMutes) {
|
for (const mute of activeMutes) {
|
||||||
const member = this.guild.members.get(mute.user_id);
|
const member = await this.getMember(mute.user_id);
|
||||||
if (!member) continue;
|
if (!member) continue;
|
||||||
|
|
||||||
if (!member.roles.includes(muteRole)) {
|
if (!member.roles.includes(muteRole)) {
|
||||||
|
@ -559,7 +553,7 @@ export class MutesPlugin extends ZeppelinPlugin<IMutesPluginConfig> {
|
||||||
protected async clearExpiredMutes() {
|
protected async clearExpiredMutes() {
|
||||||
const expiredMutes = await this.mutes.getExpiredMutes();
|
const expiredMutes = await this.mutes.getExpiredMutes();
|
||||||
for (const mute of expiredMutes) {
|
for (const mute of expiredMutes) {
|
||||||
const member = this.guild.members.get(mute.user_id);
|
const member = await this.getMember(mute.user_id);
|
||||||
if (!member) continue;
|
if (!member) continue;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -162,7 +162,7 @@ export class ReactionRolesPlugin extends ZeppelinPlugin<IReactionRolesPluginConf
|
||||||
timeout: null,
|
timeout: null,
|
||||||
changes: [],
|
changes: [],
|
||||||
applyFn: async () => {
|
applyFn: async () => {
|
||||||
const member = await this.guild.members.get(memberId);
|
const member = await this.getMember(memberId);
|
||||||
if (member) {
|
if (member) {
|
||||||
const newRoleIds = new Set(member.roles);
|
const newRoleIds = new Set(member.roles);
|
||||||
for (const change of newPendingRoleChangeObj.changes) {
|
for (const change of newPendingRoleChangeObj.changes) {
|
||||||
|
@ -336,7 +336,7 @@ export class ReactionRolesPlugin extends ZeppelinPlugin<IReactionRolesPluginConf
|
||||||
const reactionRoles = await this.reactionRoles.getForMessage(msg.id);
|
const reactionRoles = await this.reactionRoles.getForMessage(msg.id);
|
||||||
if (reactionRoles.length === 0) return;
|
if (reactionRoles.length === 0) return;
|
||||||
|
|
||||||
const member = this.guild.members.get(userId);
|
const member = await this.getMember(userId);
|
||||||
if (!member) return;
|
if (!member) return;
|
||||||
|
|
||||||
if (emoji.name === CLEAR_ROLES_EMOJI) {
|
if (emoji.name === CLEAR_ROLES_EMOJI) {
|
||||||
|
|
|
@ -297,7 +297,7 @@ export class SlowmodePlugin extends ZeppelinPlugin<ISlowmodePluginConfig> {
|
||||||
if (thisMsgLock.interrupted) return;
|
if (thisMsgLock.interrupted) return;
|
||||||
|
|
||||||
// Make sure this user is affected by the slowmode
|
// Make sure this user is affected by the slowmode
|
||||||
const member = this.guild.members.get(msg.user_id);
|
const member = await this.getMember(msg.user_id);
|
||||||
const isAffected = this.hasPermission("is_affected", { channelId: channel.id, userId: msg.user_id, member });
|
const isAffected = this.hasPermission("is_affected", { channelId: channel.id, userId: msg.user_id, member });
|
||||||
if (!isAffected) return thisMsgLock.unlock();
|
if (!isAffected) return thisMsgLock.unlock();
|
||||||
|
|
||||||
|
|
|
@ -203,7 +203,7 @@ export class TagsPlugin extends ZeppelinPlugin<ITagsPluginConfig> {
|
||||||
}
|
}
|
||||||
|
|
||||||
async onMessageCreate(msg: SavedMessage) {
|
async onMessageCreate(msg: SavedMessage) {
|
||||||
const member = this.guild.members.get(msg.user_id);
|
const member = await this.getMember(msg.user_id);
|
||||||
if (!this.hasPermission("can_use", { member, channelId: msg.channel_id })) return;
|
if (!this.hasPermission("can_use", { member, channelId: msg.channel_id })) return;
|
||||||
|
|
||||||
if (!msg.data.content) return;
|
if (!msg.data.content) return;
|
||||||
|
|
Loading…
Add table
Reference in a new issue