Browse Source

the whole of 1.2 because I fucking starting developing on master as was too much of a pussy to just change branches

tags/v1.2.0
roxie 6 years ago
parent
commit
c4e6c2478c
1 changed files with 92 additions and 0 deletions
  1. +92
    -0
      cogs/gss.py

+ 92
- 0
cogs/gss.py View File

@@ -0,0 +1,92 @@
import checks
import datetime
import requests
import load_config
from discord.ext.commands import bot
from config.server_config import ServerConfig


class GaySoundsShitposting():
def __init__(self, Bot):
self.bot = Bot
self.con = ServerConfig()
self.servers = self.con.servers

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

member = ctx.message.author
server = ctx.message.server
set_role = "394939389823811584"
role_obj = None
required_score = self.servers[server.id]["gss"]["required_score"]
days = 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

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()

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))
if logging:
return await self.bot.send_message(self.bot.get_channel(logging), content="{} has requested the {} role.".format(member.mention, role_obj.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()
@bot.command(pass_context=True)
async def nsfwperm(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

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()

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))
if logging:
return await self.bot.send_message(self.bot.get_channel(logging), content="{} has requested the {} role.".format(member.mention, role_obj.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)
)

def setup(Bot):
Bot.add_cog(GaySoundsShitposting(Bot))

Loading…
Cancel
Save