Fix fetching members for roles in POST message

This commit is contained in:
Madeline 2022-09-29 21:27:33 +10:00
parent 357aada969
commit 835a5ab3a3
2 changed files with 21 additions and 16 deletions

View File

@ -255,17 +255,22 @@ router.post(
);
}
const member = await Member.findOneOrFail({
where: { id: req.user_id },
relations: ["roles"],
if (message.guild_id) {
// handleMessage will fetch the Member, but only if they are not guild owner.
// have to fetch ourselves otherwise.
if (!message.member) {
message.member = await Member.findOneOrFail({
where: { id: req.user_id, guild_id: message.guild_id },
relations: ["roles"]
});
member.roles = member.roles
.filter((role: Role) => {
return role.id !== role.guild_id;
})
.map((role: Role) => {
return role.id;
}) as any;
}
//@ts-ignore
message.member.roles =
message.member.roles.
filter(x => x.id != x.guild_id)
.map(x => x.id);
}
let read_state = await ReadState.findOne({
where: { user_id: req.user_id, channel_id }