diff options
| author | 2020-12-19 04:21:52 +0000 | |
|---|---|---|
| committer | 2020-12-19 04:21:52 +0000 | |
| commit | c4545d8f5206e296bcecfd87236be57fbc91b778 (patch) | |
| tree | a92d421f9e8524091797b112520e2c2fbf5c6353 | |
| parent | Fix invalid config name in voice gate (diff) | |
Fix silence command to use guild default role
| -rw-r--r-- | bot/exts/moderation/silence.py | 14 | ||||
| -rw-r--r-- | tests/bot/exts/moderation/test_silence.py | 9 | 
2 files changed, 7 insertions, 16 deletions
| diff --git a/bot/exts/moderation/silence.py b/bot/exts/moderation/silence.py index e6712b3b6..a942d5294 100644 --- a/bot/exts/moderation/silence.py +++ b/bot/exts/moderation/silence.py @@ -93,7 +93,7 @@ class Silence(commands.Cog):          await self.bot.wait_until_guild_available()          guild = self.bot.get_guild(Guild.id) -        self._verified_role = guild.get_role(Roles.verified) +        self._everyone_role = guild.default_role          self._mod_alerts_channel = self.bot.get_channel(Channels.mod_alerts)          self.notifier = SilenceNotifier(self.bot.get_channel(Channels.mod_log))          await self._reschedule() @@ -142,7 +142,7 @@ class Silence(commands.Cog):      async def _unsilence_wrapper(self, channel: TextChannel) -> None:          """Unsilence `channel` and send a success/failure message."""          if not await self._unsilence(channel): -            overwrite = channel.overwrites_for(self._verified_role) +            overwrite = channel.overwrites_for(self._everyone_role)              if overwrite.send_messages is False or overwrite.add_reactions is False:                  await channel.send(MSG_UNSILENCE_MANUAL)              else: @@ -152,14 +152,14 @@ class Silence(commands.Cog):      async def _set_silence_overwrites(self, channel: TextChannel) -> bool:          """Set silence permission overwrites for `channel` and return True if successful.""" -        overwrite = channel.overwrites_for(self._verified_role) +        overwrite = channel.overwrites_for(self._everyone_role)          prev_overwrites = dict(send_messages=overwrite.send_messages, add_reactions=overwrite.add_reactions)          if channel.id in self.scheduler or all(val is False for val in prev_overwrites.values()):              return False          overwrite.update(send_messages=False, add_reactions=False) -        await channel.set_permissions(self._verified_role, overwrite=overwrite) +        await channel.set_permissions(self._everyone_role, overwrite=overwrite)          await self.previous_overwrites.set(channel.id, json.dumps(prev_overwrites))          return True @@ -188,14 +188,14 @@ class Silence(commands.Cog):              log.info(f"Tried to unsilence channel #{channel} ({channel.id}) but the channel was not silenced.")              return False -        overwrite = channel.overwrites_for(self._verified_role) +        overwrite = channel.overwrites_for(self._everyone_role)          if prev_overwrites is None:              log.info(f"Missing previous overwrites for #{channel} ({channel.id}); defaulting to None.")              overwrite.update(send_messages=None, add_reactions=None)          else:              overwrite.update(**json.loads(prev_overwrites)) -        await channel.set_permissions(self._verified_role, overwrite=overwrite) +        await channel.set_permissions(self._everyone_role, overwrite=overwrite)          log.info(f"Unsilenced channel #{channel} ({channel.id}).")          self.scheduler.cancel(channel.id) @@ -207,7 +207,7 @@ class Silence(commands.Cog):              await self._mod_alerts_channel.send(                  f"<@&{Roles.admins}> Restored overwrites with default values after unsilencing "                  f"{channel.mention}. Please check that the `Send Messages` and `Add Reactions` " -                f"overwrites for {self._verified_role.mention} are at their desired values." +                f"overwrites for {self._everyone_role.mention} are at their desired values."              )          return True diff --git a/tests/bot/exts/moderation/test_silence.py b/tests/bot/exts/moderation/test_silence.py index 104293d8e..5c89a2f2a 100644 --- a/tests/bot/exts/moderation/test_silence.py +++ b/tests/bot/exts/moderation/test_silence.py @@ -117,15 +117,6 @@ class SilenceCogTests(unittest.IsolatedAsyncioTestCase):          self.bot.get_guild.assert_called_once_with(Guild.id)      @autospec(silence, "SilenceNotifier", pass_mocks=False) -    async def test_async_init_got_role(self): -        """Got `Roles.verified` role from guild.""" -        guild = self.bot.get_guild() -        guild.get_role.side_effect = lambda id_: Mock(id=id_) - -        await self.cog._async_init() -        self.assertEqual(self.cog._verified_role.id, Roles.verified) - -    @autospec(silence, "SilenceNotifier", pass_mocks=False)      async def test_async_init_got_channels(self):          """Got channels from bot."""          self.bot.get_channel.side_effect = lambda id_: MockTextChannel(id=id_) | 
