Browse Source

optimised the gss commands

tags/v1.3.0
roxie 6 years ago
parent
commit
07e91cf27d
3 changed files with 44 additions and 50 deletions
  1. +0
    -2
      checks.py
  2. +43
    -47
      cogs/gss.py
  3. +1
    -1
      config/servers.json

+ 0
- 2
checks.py View File

@@ -19,5 +19,3 @@ def is_owner_or_admin():
def is_nfsw_enabled():
return commands.check(lambda ctx: ServerConfig().load_config()[ctx.message.server.id]["nsfw"]["enabled"] == 1)

def is_gss():
return commands.check(lambda ctx: ctx.message.server.id == "393764974444675073")

+ 43
- 47
cogs/gss.py View File

@@ -1,88 +1,84 @@
import checks
import datetime
import requests
import load_config
from discord import utils
from discord.ext import commands
from discord.ext.commands import bot
from config.server_config import ServerConfig


def is_gss():
return commands.check(lambda ctx: ctx.message.server.id == "393764974444675073")

def is_not_nsfw_disabled():
def predicate(ctx):
role = utils.get(ctx.message.server.roles, id="397866388145831937")
return role not in ctx.message.author.roles
return commands.check(lambda ctx: predicate(ctx))

class GaySoundsShitposting():
def __init__(self, Bot):
self.bot = Bot
self.con = ServerConfig()
self.servers = self.con.servers
self.guild = self.bot.get_server("393764974444675073")
self.nsfw_image_role = utils.get(self.guild.roles, id="394941004043649036")
self.selfie_role = utils.get(self.guild.roles, id="394939389823811584")

def tatsumaki_api_call(self, member):
base = "https://api.tatsumaki.xyz/"
url = base + "guilds/" + self.guild.id + "/members/" + member.id + "/stats"
r = requests.get(url,headers={"Authorization":load_config.tat_token})
return r.json()

@checks.is_gss()
@is_gss()
@bot.command(pass_context=True)
async def selfieperms(self, ctx):
"""Requests the selfie perm role."""

member = ctx.message.author
server = ctx.message.server
set_role = "394939389823811584"
role_obj = None
required_score = int(self.servers[server.id]["gss"]["required_score"])
days = int(self.servers[server.id]["gss"]["required_days"])
logging = self.servers[server.id]["gss"]["log_channel"]

for role in server.roles:
if role.id == set_role:
role_obj = role
required_score = int(self.servers[self.guild.id]["gss"]["required_score"])
days = int(self.servers[self.guild.id]["gss"]["required_days"])
logging = self.servers[self.guild.id]["gss"]["log_channel"]
data = self.tatsumaki_api_call(member)

if role_obj in member.roles:
return await self.bot.say("You already have the {} role.".format(role_obj.name))

base = "https://api.tatsumaki.xyz/"
url = base + "guilds/" + server.id + "/members/" + member.id + "/stats"

r = requests.get(url,headers={"Authorization":load_config.tat_token})
data = r.json()
if self.selfie_role in member.roles:
await self.bot.remove_roles(member, self.selfie_role)
return await self.bot.say("You already had {}. It has now been removed.".format(self.selfie_role.name))

time = datetime.datetime.now() - ctx.message.author.joined_at

if time > datetime.timedelta(days=days) and int(data["score"]) >= required_score:
await self.bot.add_roles(member, role_obj)
await self.bot.say("You have now got the {} role".format(role_obj.name))
await self.bot.add_roles(member, self.selfie_role)
await self.bot.say("You have now have the {} role".format(self.selfie_role.name))
if logging:
return await self.bot.send_message(self.bot.get_channel(logging), content="{} has requested the {} role.".format(member.mention, role_obj.name))
return await self.bot.send_message(self.bot.get_channel(logging), content="{} has requested the {} role.".format(member.mention, self.selfie_role.name))
else:
return await self.bot.say(
"You do not meet the requirements for this role. You need at least {} score with <@!172002275412279296> and to have been in the server for {} days.".format(required_score, days)
)

@checks.is_gss()
@is_not_nsfw_disabled()
@is_gss()
@bot.command(pass_context=True)
async def nsfwperms(self, ctx):
"""Requests the NSFW Image Perm role."""

member = ctx.message.author
server = ctx.message.server
set_role = "394941004043649036"
role_obj = None
required_score = int(self.servers[server.id]["gss"]["required_score"])
days = int(self.servers[server.id]["gss"]["required_days"])
logging = self.servers[server.id]["gss"]["log_channel"]

for role in server.roles:
if role.id == set_role:
role_obj = role
required_score = int(self.servers[self.guild.id]["gss"]["required_score"])
days = int(self.servers[self.guild.id]["gss"]["required_days"])
logging = self.servers[self.guild.id]["gss"]["log_channel"]
data = self.tatsumaki_api_call(member)

if role_obj in member.roles:
return await self.bot.say("You already have the {} role.".format(role_obj.name))

base = "https://api.tatsumaki.xyz/"
url = base + "guilds/" + server.id + "/members/" + member.id + "/stats"

r = requests.get(url,headers={"Authorization":load_config.tat_token})
data = r.json()
if self.nsfw_image_role in member.roles:
await self.bot.remove_roles(member, self.nsfw_image_role)
return await self.bot.say("You already had {}. It has now been removed.".format(self.nsfw_image_role.name))

time = datetime.datetime.now() - ctx.message.author.joined_at

if time > datetime.timedelta(days=days) and int(data["score"]) >= required_score:
await self.bot.add_roles(member, role_obj)
await self.bot.say("You have now got the {} role".format(role_obj.name))
await self.bot.add_roles(member, self.nsfw_image_role)
await self.bot.say("You have now have the {} role".format(self.nsfw_image_role.name))
if logging:
return await self.bot.send_message(self.bot.get_channel(logging), content="{} has requested the {} role.".format(member.mention, role_obj.name))
return await self.bot.send_message(self.bot.get_channel(logging), content="{} has requested the {} role.".format(member.mention, self.nsfw_image_role.name))
else:
return await self.bot.say(
"You do not meet the requirements for this role. You need at least {} score with <@!172002275412279296> and to have been in the server for {} days.".format(required_score, days)

+ 1
- 1
config/servers.json View File

@@ -1 +1 @@
{"304048071963312130": {"greets": {"enabled": 0, "welcome-channel": "", "member-role": "", "custom-message": "hellow", "default-message": "Be sure to read the rules."}, "goodbyes": {"enabled": 0, "goodbye-channel": ""}, "self_assign": {"enabled": 0, "roles": []}, "twitch": {"enabled": 0, "twitch-channel": "", "whitelist": {"enabled": 0, "list": []}}, "mute": {"role": "", "admin-role": []}, "nsfw": {"enabled": 0, "channels": []}, "admin_role": {"role": ""}, "custom_commands": {"0": {"test": "\"testedit\"", "hello": "<:tingles:346838411639914506>", "benis": "\ud83c\udd71enis", "sophie": "<@136619052994002944>", "myra": "<@342213251372941312>", "roxieee": "<@!142735312626515979>", "customs": "\"\ud83d\udec3\"", "zzz": "\ud83d\udca4", "lewd!": "\ud83d\udea8 lewd! \ud83d\udea8"}, "1": {}}, "perm_roles": {"admin": [], "mod": []}, "gss": {"logging_channel": "339201847678074880", "required_days": "5", "required_score": "3000000", "log_channel": ""}}, "395632940328943616": {"greets": {"enabled": 0, "welcome-channel": "", "member-role": "", "custom-message": "", "default-message": "Be sure to read the rules."}, "goodbyes": {"enabled": 0, "goodbye-channel": ""}, "self_assign": {"enabled": 0, "roles": []}, "twitch": {"enabled": 0, "twitch-channel": "", "whitelist": {"enabled": 0, "list": []}}, "mute": {"role": ""}, "nsfw": {"enabled": 0, "channels": []}, "perm_roles": {"admin": [], "mod": []}, "custom_commands": {"0": {}, "1": {}}, "gss": {"log_channel": "", "required_days": "", "required_score": ""}}}
{"304048071963312130": {"greets": {"enabled": 0, "welcome-channel": "", "member-role": "", "custom-message": "hellow", "default-message": "Be sure to read the rules."}, "goodbyes": {"enabled": 0, "goodbye-channel": ""}, "self_assign": {"enabled": 0, "roles": []}, "twitch": {"enabled": 0, "twitch-channel": "", "whitelist": {"enabled": 0, "list": []}}, "mute": {"role": "", "admin-role": []}, "nsfw": {"enabled": 0, "channels": []}, "admin_role": {"role": ""}, "custom_commands": {"0": {"test": "\"testedit\"", "hello": "<:tingles:346838411639914506>", "benis": "\ud83c\udd71enis", "sophie": "<@136619052994002944>", "myra": "<@342213251372941312>", "roxieee": "<@!142735312626515979>", "customs": "\"\ud83d\udec3\"", "zzz": "\ud83d\udca4", "lewd!": "\ud83d\udea8 lewd! \ud83d\udea8"}, "1": {}}, "perm_roles": {"admin": [], "mod": []}, "gss": {"logging_channel": "339201847678074880", "required_days": "5", "required_score": "3000000", "log_channel": ""}}, "395632940328943616": {"greets": {"enabled": 0, "welcome-channel": "", "member-role": "", "custom-message": "", "default-message": "Be sure to read the rules."}, "goodbyes": {"enabled": 0, "goodbye-channel": ""}, "self_assign": {"enabled": 0, "roles": []}, "twitch": {"enabled": 0, "twitch-channel": "", "whitelist": {"enabled": 0, "list": []}}, "mute": {"role": ""}, "nsfw": {"enabled": 0, "channels": []}, "perm_roles": {"admin": [], "mod": []}, "custom_commands": {"0": {}, "1": {}}, "gss": {"log_channel": "", "required_days": "", "required_score": ""}}, "298647714302787595": {"greets": {"enabled": 0, "welcome-channel": "", "member-role": "", "custom-message": "", "default-message": "Be sure to read the rules."}, "goodbyes": {"enabled": 0, "goodbye-channel": ""}, "self_assign": {"enabled": 0, "roles": []}, "twitch": {"enabled": 0, "twitch-channel": "", "whitelist": {"enabled": 0, "list": []}}, "nsfw": {"enabled": 0, "channels": []}, "perm_roles": {"admin": [], "mod": []}, "custom_commands": {"0": {}, "1": {}}, "gss": {"log_channel": "", "required_days": "", "required_score": ""}}, "342276593009557514": {"greets": {"enabled": 0, "welcome-channel": "", "member-role": "", "custom-message": "", "default-message": "Be sure to read the rules."}, "goodbyes": {"enabled": 0, "goodbye-channel": ""}, "self_assign": {"enabled": 0, "roles": []}, "twitch": {"enabled": 0, "twitch-channel": "", "whitelist": {"enabled": 0, "list": []}}, "nsfw": {"enabled": 0, "channels": []}, "perm_roles": {"admin": [], "mod": []}, "custom_commands": {"0": {}, "1": {}}, "gss": {"log_channel": "", "required_days": "", "required_score": ""}}, "358418840872419328": {"greets": {"enabled": 0, "welcome-channel": "", "member-role": "", "custom-message": "", "default-message": "Be sure to read the rules."}, "goodbyes": {"enabled": 0, "goodbye-channel": ""}, "self_assign": {"enabled": 0, "roles": []}, "twitch": {"enabled": 0, "twitch-channel": "", "whitelist": {"enabled": 0, "list": []}}, "nsfw": {"enabled": 0, "channels": []}, "perm_roles": {"admin": [], "mod": []}, "custom_commands": {"0": {}, "1": {}}, "gss": {"log_channel": "", "required_days": "", "required_score": ""}}, "393764974444675073": {"greets": {"enabled": 0, "welcome-channel": "", "member-role": "", "custom-message": "", "default-message": "Be sure to read the rules."}, "goodbyes": {"enabled": 0, "goodbye-channel": ""}, "self_assign": {"enabled": 0, "roles": []}, "twitch": {"enabled": 0, "twitch-channel": "", "whitelist": {"enabled": 0, "list": []}}, "nsfw": {"enabled": 0, "channels": []}, "perm_roles": {"admin": [], "mod": []}, "custom_commands": {"0": {}, "1": {}}, "gss": {"log_channel": "", "required_days": "5", "required_score": "2000"}}}

Loading…
Cancel
Save