Properly check for permissions. Updated README

This commit is contained in:
Twentysix 2016-01-03 04:19:26 +01:00
parent 01a69d2ebc
commit 6e3fa6b73f
2 changed files with 31 additions and 16 deletions

View File

@ -11,7 +11,7 @@ See the [command list](#general-commands) for an even better idea of what this b
### I don't even know what I'm looking at. How do I install this?
Do not panic. Follow these steps:
- Download the bot and unpack it.
- [Install Python](https://www.python.org/downloads/). This bot needs 3.5.1 32bit or superior.
- [Install Python](https://www.python.org/downloads/). This bot needs 3.5.1 32bit or superior. Remember to check "Add python to path".
- [Install Git](https://git-scm.com/download/win), don't forget to check "Use Git from the Windows Command Prompt"
- Open the start menu, type cmd, right click and open the command prompt as admin. Now, do:
```

15
red.py
View File

@ -668,9 +668,13 @@ async def checkFilter(message): #WIP
if message.server.id in badwords:
for word in badwords[message.server.id]:
if msg.find(word.lower()) != -1:
if canDeleteMessages(message):
await client.delete_message(message)
logger.info("Message eliminated.")
return True
else:
logger.info("Couldn't delete message. I need permissions.")
return False
return False
async def checkRegex(message): #WIP
@ -679,9 +683,13 @@ async def checkRegex(message): #WIP
for pattern in badwords_regex[message.server.id]:
rr = re.search(pattern, msg, re.I | re.U)
if rr != None:
if canDeleteMessages(message):
await client.delete_message(message)
logger.info("Message eliminated. Regex: " + pattern)
return True
else:
logger.info("Couldn't delete message. I need permissions.")
return False
return False
async def twitchCheck(message):
@ -731,6 +739,7 @@ async def playVideo(message):
await client.send_message(message.channel, "{} `Invalid link.`".format(message.author.mention))
return False
stopMusic()
if canDeleteMessages(message):
await client.send_message(message.channel, "`Playing youtube video {} requested by {}`".format(id, message.author.name))
await client.delete_message(message)
musicPlayer = client.voice.create_ytdl_player('https://www.youtube.com/watch?v=' + id, options=youtube_dl_options)
@ -1081,6 +1090,7 @@ async def reloadSettings(message):
async def cleanup(message):
if isMemberAdmin(message):
if canDeleteMessages(message):
msg = message.content.split()
if len(msg) == 2:
if msg[1].isdigit():
@ -1091,6 +1101,8 @@ async def cleanup(message):
await client.send_message(message.channel, "`!cleanup [number]`")
else:
await client.send_message(message.channel, "`!cleanup [number]`")
else:
await client.send_message(message.channel, "`I need permissions to delete messages.`")
else:
await client.send_message(message.channel, "`I don't take orders from you.`")
@ -1103,6 +1115,9 @@ def isMemberAdmin(message):
else:
return False
def canDeleteMessages(message):
return message.channel.permissions_for(message.server.me).can_manage_messages
################################################
async def customCommand(message):