@@ -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") |
@@ -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 @@ | |||
{"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"}}} |