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 {
|
||||
formatted = await renderTemplate(format, {
|
||||
...data,
|
||||
userMention: user => {
|
||||
userMention: async user => {
|
||||
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 });
|
||||
|
||||
if (memberConfig.ping_user) {
|
||||
|
@ -389,11 +395,11 @@ export class LogsPlugin extends ZeppelinPlugin<ILogsPluginConfig> {
|
|||
}
|
||||
|
||||
@d.event("userUpdate")
|
||||
onUserUpdate(user: User, oldUser: User) {
|
||||
async onUserUpdate(user: User, oldUser: User) {
|
||||
if (!oldUser) return;
|
||||
|
||||
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, {
|
||||
member: stripObjectToScalars(member, ["user"]),
|
||||
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
|
||||
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)) {
|
||||
this.sendErrorMessage(msg.channel, "Cannot massban one or more users: insufficient permissions");
|
||||
return;
|
||||
|
|
|
@ -341,13 +341,7 @@ export class MutesPlugin extends ZeppelinPlugin<IMutesPluginConfig> {
|
|||
for (const [index, mute] of filteredMutes.entries()) {
|
||||
const muteWithDetails = { ...mute };
|
||||
|
||||
let member = this.guild.members.get(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
|
||||
}
|
||||
const member = await this.getMember(mute.user_id);
|
||||
|
||||
if (!member) {
|
||||
if (!bannedIds) {
|
||||
|
@ -531,7 +525,7 @@ export class MutesPlugin extends ZeppelinPlugin<IMutesPluginConfig> {
|
|||
|
||||
let cleared = 0;
|
||||
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.roles.includes(muteRole)) {
|
||||
|
@ -559,7 +553,7 @@ export class MutesPlugin extends ZeppelinPlugin<IMutesPluginConfig> {
|
|||
protected async clearExpiredMutes() {
|
||||
const expiredMutes = await this.mutes.getExpiredMutes();
|
||||
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;
|
||||
|
||||
try {
|
||||
|
|
|
@ -162,7 +162,7 @@ export class ReactionRolesPlugin extends ZeppelinPlugin<IReactionRolesPluginConf
|
|||
timeout: null,
|
||||
changes: [],
|
||||
applyFn: async () => {
|
||||
const member = await this.guild.members.get(memberId);
|
||||
const member = await this.getMember(memberId);
|
||||
if (member) {
|
||||
const newRoleIds = new Set(member.roles);
|
||||
for (const change of newPendingRoleChangeObj.changes) {
|
||||
|
@ -336,7 +336,7 @@ export class ReactionRolesPlugin extends ZeppelinPlugin<IReactionRolesPluginConf
|
|||
const reactionRoles = await this.reactionRoles.getForMessage(msg.id);
|
||||
if (reactionRoles.length === 0) return;
|
||||
|
||||
const member = this.guild.members.get(userId);
|
||||
const member = await this.getMember(userId);
|
||||
if (!member) return;
|
||||
|
||||
if (emoji.name === CLEAR_ROLES_EMOJI) {
|
||||
|
|
|
@ -297,7 +297,7 @@ export class SlowmodePlugin extends ZeppelinPlugin<ISlowmodePluginConfig> {
|
|||
if (thisMsgLock.interrupted) return;
|
||||
|
||||
// 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 });
|
||||
if (!isAffected) return thisMsgLock.unlock();
|
||||
|
||||
|
|
|
@ -203,7 +203,7 @@ export class TagsPlugin extends ZeppelinPlugin<ITagsPluginConfig> {
|
|||
}
|
||||
|
||||
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 (!msg.data.content) return;
|
||||
|
|
Loading…
Add table
Reference in a new issue