def on_member_join(self, member):
if (member.server.id in self.settings) and not ("bots" in member.server.name.lower()):
try:
temp = self.settings[member.server.id]['joined']
except KeyError:
self.settings[member.server.id]['joined'] = 0
try:
self.settings[member.server.id]['joined'] += 1
self.save_settings()
if self.settings[member.server.id]['members'] != 0:
if (self.settings[member.server.id]['joined'] >= self.settings[member.server.id]['members']) and not (self.settings[member.server.id]['protected']):
self.settings[member.server.id]['protected'] = True
self.save_settings()
for channel in member.server.channels:
if (channel.id == self.settings[member.server.id]['channel']) and (self.settings[member.server.id]['channel'] != None):
await self.bot.send_message(channel, "Raid protect has been turned on, more than {} people joined within 8 seconds.".format(self.settings[member.server.id]['members']))
await asyncio.sleep(8)
self.settings[member.server.id]['joined'] = 0
self.save_settings()
except KeyError:
pass
try:
if self.settings[member.server.id]['protected']:
for channel in member.server.channels:
if channel.id != self.settings[member.server.id]['channel']:
perms = discord.PermissionOverwrite()
perms.read_messages = False
perms.send_messages = False
await self.bot.edit_channel_permissions(channel, member, perms)
else:
await self.bot.send_message(channel, "{}, you have been muted in every channel because raidprotect is on, if you are not here to raid just wait patiently and your permissions will be restored.".format(member.mention))
except KeyError:
return
评论列表
文章目录