def clearrole(self, ctx):
"""Clears all self assigned roles from you, or the listed members
"""
message = ctx.message
server = message.server
db_roles = await self.database.get_all(server)
listed_roles = []
for role_id, alias in db_roles:
listed_roles.append(role_id)
members = await self._get_members_from_message(message)
for m in members:
member_roles = m.roles
for r in m.roles:
if r.id not in listed_roles:
member_roles.remove(r)
bot_message = await self.bot.say(
"This will clear all roles for: {0.mention}. Are you sure you want to do that? Y/N".format(m))
reply = await self.bot.wait_for_message(timeout=5.0, author=message.author)
if reply and reply.content.lower() in ["yes", "y"]:
try:
await self.bot.remove_roles(m, *member_roles)
except Forbidden:
await self.bot.say("Oops, something happened, I don't have permission to clear your roles.")
else:
await self.bot.delete_message(bot_message)
评论列表
文章目录