Skip to content

Commit e1543dd

Browse files
committed
Small additions to /hide_channel
1 parent 01a38c4 commit e1543dd

File tree

3 files changed

+36
-3
lines changed

3 files changed

+36
-3
lines changed

src/db/hookInit.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,13 @@ const initChannelHooks = (guild, models) => {
9292
if (channel.hidden) {
9393
await channelObject.permissionOverwrites.create(student, {
9494
VIEW_CHANNEL: false,
95+
SEND_MESSAGES: false,
9596
});
9697
}
9798
else {
9899
await channelObject.permissionOverwrites.create(student, {
99100
VIEW_CHANNEL: true,
101+
SEND_MESSAGES: true,
100102
});
101103
}
102104
}
@@ -212,9 +214,9 @@ const initUserHooks = (guild, models) => {
212214

213215
const initCourseMemberHooks = (guild, models) => {
214216
models.CourseMember.addHook("afterCreate", async (courseMember) => {
215-
const user = await findUserByDbId(courseMember.userId, models.User);
216-
const course = await findCourseFromDbById(courseMember.courseId, models.Course);
217-
const member = guild.members.cache.get(user.discordId);
217+
const user = await findUserByDbId(courseMember.dataValues.userId, models.User);
218+
const course = await findCourseFromDbById(courseMember.dataValues.courseId, models.Course);
219+
const member = guild.members.cache.get(user.dataValues.discordId);
218220
const courseRole = guild.roles.cache.find(r => r.name === course.name);
219221
await member.roles.add(courseRole);
220222
await updateGuide(guild, models);

src/discordBot/commands/admin/restore_server_from_database.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,26 @@ const restoreChannels = async (guild, models) => {
106106
], topic: currentChannel.topic },
107107
};
108108
}
109+
else if (currentChannel.hidden) {
110+
channelObject = {
111+
name: currentChannel.name,
112+
parent: parentChannel,
113+
options: { type: "GUILD_TEXT", parent: parentChannel, permissionOverwrites: [
114+
{
115+
id: guild.id,
116+
deny: ["VIEW_CHANNEL"],
117+
},
118+
{
119+
id: student,
120+
deny: ["SEND_MESSAGES", "VIEW_CHANNEL"],
121+
},
122+
{
123+
id: admin,
124+
allow: ["VIEW_CHANNEL", "SEND_MESSAGES"],
125+
},
126+
], topic: currentChannel.topic },
127+
};
128+
}
109129
else {
110130
channelObject = {
111131
name: currentChannel.name,

src/discordBot/commands/admin/server_status.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,17 @@ const execute = async (message, args, models) => {
7878
else if (!courseRole.permissionsIn(channelFound).has("SEND_MESSAGES") && !currentChannel.name.includes("announcement")) {
7979
statusMessage += "Channel: " + currentChannel.name + " Course members can't talk in unlocked channel\n";
8080
}
81+
if (currentChannel.hidden) {
82+
if (courseRole.permissionsIn(channelFound).has("SEND_MESSAGES") && courseRole.permissionsIn(channelFound).has("VIEW_CHANNEL")) {
83+
statusMessage += "Channel: " + currentChannel.name + " Regular course members can see and talk in hidden channel\n";
84+
}
85+
else if (courseRole.permissionsIn(channelFound).has("SEND_MESSAGES")) {
86+
statusMessage += "Channel: " + currentChannel.name + " Regular course members can talk in hidden channel\n";
87+
}
88+
else if (courseRole.permissionsIn(channelFound).has("VIEW_CHANNEL")) {
89+
statusMessage += "Channel: " + currentChannel.name + " Regular course members can see a hidden channel\n";
90+
}
91+
}
8192
}
8293
}
8394
if (statusMessage === "") {

0 commit comments

Comments
 (0)