1
0
Fork 0
mirror of https://github.com/myned/modufur.git synced 2024-11-02 13:12:40 +00:00
modufur/src/main/misc/checks.py

71 lines
1.6 KiB
Python
Raw Normal View History

2017-09-24 15:05:28 +00:00
import asyncio
import json
import traceback
2017-10-13 02:26:22 +00:00
import discord
from discord import errors as err
2017-09-24 15:05:28 +00:00
from discord.ext import commands
from discord.ext.commands import errors as errext
2017-09-24 15:05:28 +00:00
2017-10-14 03:39:12 +00:00
from utils import utils as u
2017-09-24 15:05:28 +00:00
2017-10-14 03:39:12 +00:00
owner_id = u.config['owner_id']
listed_ids = u.config['listed_ids']
2017-09-24 15:05:28 +00:00
2017-10-13 02:26:22 +00:00
2017-09-24 15:05:28 +00:00
def is_owner():
async def predicate(ctx):
return ctx.message.author.id == owner_id
return commands.check(predicate)
2017-10-13 02:26:22 +00:00
2017-09-24 15:05:28 +00:00
def is_admin():
def predicate(ctx):
return ctx.message.author.guild_permissions.administrator
return commands.check(predicate)
2017-10-13 02:26:22 +00:00
2017-09-24 15:05:28 +00:00
def is_mod():
def predicate(ctx):
return ctx.message.author.guild_permissions.ban_members
return commands.check(predicate)
2017-10-13 02:26:22 +00:00
2017-10-02 19:20:50 +00:00
def is_listed():
def predicate(ctx):
return ctx.message.author.id in listed_ids
return commands.check(predicate)
2017-09-24 15:05:28 +00:00
2017-10-13 02:26:22 +00:00
2017-09-24 15:05:28 +00:00
def owner(ctx):
return ctx.message.author.id == owner_id
2017-10-13 02:26:22 +00:00
2017-09-24 15:05:28 +00:00
def admin(ctx):
return ctx.message.author.guild_permissions.administrator
2017-10-13 02:26:22 +00:00
2017-09-24 15:05:28 +00:00
def mod(ctx):
return ctx.message.author.guild_permissions.ban_members
2017-10-13 02:26:22 +00:00
2017-09-24 15:05:28 +00:00
def is_nsfw():
def predicate(ctx):
if isinstance(ctx.message.channel, discord.TextChannel):
return ctx.message.channel.is_nsfw()
return True
return commands.check(predicate)
2017-10-13 02:26:22 +00:00
2017-09-24 15:05:28 +00:00
def del_ctx():
async def predicate(ctx):
2017-10-15 03:40:56 +00:00
if ctx.me.permissions_in(ctx.channel).manage_messages is True and isinstance(ctx.message.channel, discord.TextChannel) and ctx.guild.id in u.settings['del_ctx']:
try:
await ctx.message.delete()
except err.NotFound:
pass
2017-09-24 15:05:28 +00:00
return True
return commands.check(predicate)