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