invitetools

View Source
import urllib.request
import json


class InviteTools:
    """Main class for invitetools"""
    def __init__(self, invite_code):
        self.invite_code = invite_code
        self.invite_info = self.invite_info()
        """Raw JSON response from Discord's API"""
        self.name = self.name()
        """Name of the guild"""
        self.description = self.description()
        """Description of the guild"""
        self.id = self.id()
        """ID of the guild"""
        self.vanity_code = self.vanity_code()
        """Vanity URL code of the guild"""
        self.member_count = self.member_count()
        self.online_count = self.online_count()


    def invite_info(self):
        """Raw JSON response from Discord's API"""
        request = urllib.request.Request(
            "https://discord.com/api/v9/invites/{}?with_counts=true".format(self.invite_code)
        )
        request.add_header(
            "User-Agent",
            "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3"
        )
        response = urllib.request.urlopen(request)
        data = response.read().decode("utf-8")
        data = json.loads(data)
        return (
            data
        )

    def member_count(self):
        """Member count of the guild"""
        return (
            self.invite_info["approximate_member_count"]
        )

    def online_count(self):
        """Online member count of the guild"""
        return (
            self.invite_info["approximate_presence_count"]
        )

    def name(self):
        """Name of the guild"""
        return (
            self.invite_info["guild"]["name"]
        )

    def description(self):
        """Description of the guild"""
        return (
            self.invite_info["guild"]["description"]
        )

    def id(self):
        """ID of the guild"""
        return (
            self.invite_info["guild"]["id"]
        )

    def vanity_code(self):
        """Vanity URL code of the guild"""
        return (
            self.invite_info["guild"]["vanity_url_code"]
        )

    def icon(self, imagetype: str, size: int):
        """Icon of the guild, given an image type and size"""
        if imagetype not in ["png", "jpg", "gif", "webp", "jpeg"]:
            imagetype = "png"
        if size == 16:
            size = "?size=16"
        elif size == 32:
            size = "?size=32"
        elif size == 64:
            size = "?size=64"
        elif size == 128:
            size = "?size=128"
        elif size == 256:
            size = "?size=256"
        elif size == 512:
            size = "?size=512"
        elif size == 1024:
            size = "?size=1024"
        else:
            size = ""
        try:
            request = urllib.request.Request(
                f"https://cdn.discordapp.com/banners/{self.invite_info['guild']['id']}/{self.invite_info['guild']['icon']}{size}.{imagetype}"
            )
            request.add_header(
                "User-Agent",
                "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3"
            )
            response = urllib.request.urlopen(request)
            if response.getcode() == 200:
                return (
                    f"https://cdn.discordapp.com/banners/{self.invite_info['guild']['id']}/{self.invite_info['guild']['icon']}{size}.{imagetype}"
                )
            else:
                return None
        except urllib.error.HTTPError:
            return None

    def banner(self, imagetype: str, size: int):
        """Banner of the guild, given an image type and size"""
        if imagetype not in ["png", "jpg", "gif", "webp", "jpeg"]:
            imagetype = "png"
        if size == 16:
            size = "?size=16"
        elif size == 32:
            size = "?size=32"
        elif size == 64:
            size = "?size=64"
        elif size == 128:
            size = "?size=128"
        elif size == 256:
            size = "?size=256"
        elif size == 512:
            size = "?size=512"
        elif size == 1024:
            size = "?size=1024"
        else:
            size = ""
        try:
            request = urllib.request.Request(
                f"https://cdn.discordapp.com/banners/{self.invite_info['guild']['id']}/{self.invite_info['guild']['banner']}.{imagetype}{size}"
            )
            request.add_header(
                "User-Agent",
                "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3"
            )
            response = urllib.request.urlopen(request)
            if response.getcode() == 200:
                return (
                    f"https://cdn.discordapp.com/banners/{self.invite_info['guild']['id']}/{self.invite_info['guild']['banner']}.{imagetype}{size}"
                )
            else:
                return None
        except urllib.error.HTTPError:
            return None

    def splash(self, imagetype: str, size: int):
        """Splash of the guild, given an image type and size"""
        if imagetype not in ["png", "jpg", "gif", "webp", "jpeg"]:
            imagetype = "png"
        if size == 16:
            size = "?size=16"
        elif size == 32:
            size = "?size=32"
        elif size == 64:
            size = "?size=64"
        elif size == 128:
            size = "?size=128"
        elif size == 256:
            size = "?size=256"
        elif size == 512:
            size = "?size=512"
        elif size == 1024:
            size = "?size=1024"
        else:
            size = ""
        try:
            request = urllib.request.Request(
                f"https://cdn.discordapp.com/splashes/{self.invite_info['guild']['id']}/{self.invite_info['guild']['splash']}.{imagetype}{size}"
            )
            request.add_header(
                "User-Agent",
                "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3"
            )
            response = urllib.request.urlopen(request)
            if response.getcode() == 200:
                return (
                    f"https://cdn.discordapp.com/splashes/{self.invite_info['guild']['id']}/{self.invite_info['guild']['splash']}.{imagetype}{size}"
                )
            else:
                return None
        except urllib.error.HTTPError:
            return None
#   class InviteTools:
View Source
class InviteTools:
    """Main class for invitetools"""
    def __init__(self, invite_code):
        self.invite_code = invite_code
        self.invite_info = self.invite_info()
        """Raw JSON response from Discord's API"""
        self.name = self.name()
        """Name of the guild"""
        self.description = self.description()
        """Description of the guild"""
        self.id = self.id()
        """ID of the guild"""
        self.vanity_code = self.vanity_code()
        """Vanity URL code of the guild"""
        self.member_count = self.member_count()
        self.online_count = self.online_count()


    def invite_info(self):
        """Raw JSON response from Discord's API"""
        request = urllib.request.Request(
            "https://discord.com/api/v9/invites/{}?with_counts=true".format(self.invite_code)
        )
        request.add_header(
            "User-Agent",
            "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3"
        )
        response = urllib.request.urlopen(request)
        data = response.read().decode("utf-8")
        data = json.loads(data)
        return (
            data
        )

    def member_count(self):
        """Member count of the guild"""
        return (
            self.invite_info["approximate_member_count"]
        )

    def online_count(self):
        """Online member count of the guild"""
        return (
            self.invite_info["approximate_presence_count"]
        )

    def name(self):
        """Name of the guild"""
        return (
            self.invite_info["guild"]["name"]
        )

    def description(self):
        """Description of the guild"""
        return (
            self.invite_info["guild"]["description"]
        )

    def id(self):
        """ID of the guild"""
        return (
            self.invite_info["guild"]["id"]
        )

    def vanity_code(self):
        """Vanity URL code of the guild"""
        return (
            self.invite_info["guild"]["vanity_url_code"]
        )

    def icon(self, imagetype: str, size: int):
        """Icon of the guild, given an image type and size"""
        if imagetype not in ["png", "jpg", "gif", "webp", "jpeg"]:
            imagetype = "png"
        if size == 16:
            size = "?size=16"
        elif size == 32:
            size = "?size=32"
        elif size == 64:
            size = "?size=64"
        elif size == 128:
            size = "?size=128"
        elif size == 256:
            size = "?size=256"
        elif size == 512:
            size = "?size=512"
        elif size == 1024:
            size = "?size=1024"
        else:
            size = ""
        try:
            request = urllib.request.Request(
                f"https://cdn.discordapp.com/banners/{self.invite_info['guild']['id']}/{self.invite_info['guild']['icon']}{size}.{imagetype}"
            )
            request.add_header(
                "User-Agent",
                "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3"
            )
            response = urllib.request.urlopen(request)
            if response.getcode() == 200:
                return (
                    f"https://cdn.discordapp.com/banners/{self.invite_info['guild']['id']}/{self.invite_info['guild']['icon']}{size}.{imagetype}"
                )
            else:
                return None
        except urllib.error.HTTPError:
            return None

    def banner(self, imagetype: str, size: int):
        """Banner of the guild, given an image type and size"""
        if imagetype not in ["png", "jpg", "gif", "webp", "jpeg"]:
            imagetype = "png"
        if size == 16:
            size = "?size=16"
        elif size == 32:
            size = "?size=32"
        elif size == 64:
            size = "?size=64"
        elif size == 128:
            size = "?size=128"
        elif size == 256:
            size = "?size=256"
        elif size == 512:
            size = "?size=512"
        elif size == 1024:
            size = "?size=1024"
        else:
            size = ""
        try:
            request = urllib.request.Request(
                f"https://cdn.discordapp.com/banners/{self.invite_info['guild']['id']}/{self.invite_info['guild']['banner']}.{imagetype}{size}"
            )
            request.add_header(
                "User-Agent",
                "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3"
            )
            response = urllib.request.urlopen(request)
            if response.getcode() == 200:
                return (
                    f"https://cdn.discordapp.com/banners/{self.invite_info['guild']['id']}/{self.invite_info['guild']['banner']}.{imagetype}{size}"
                )
            else:
                return None
        except urllib.error.HTTPError:
            return None

    def splash(self, imagetype: str, size: int):
        """Splash of the guild, given an image type and size"""
        if imagetype not in ["png", "jpg", "gif", "webp", "jpeg"]:
            imagetype = "png"
        if size == 16:
            size = "?size=16"
        elif size == 32:
            size = "?size=32"
        elif size == 64:
            size = "?size=64"
        elif size == 128:
            size = "?size=128"
        elif size == 256:
            size = "?size=256"
        elif size == 512:
            size = "?size=512"
        elif size == 1024:
            size = "?size=1024"
        else:
            size = ""
        try:
            request = urllib.request.Request(
                f"https://cdn.discordapp.com/splashes/{self.invite_info['guild']['id']}/{self.invite_info['guild']['splash']}.{imagetype}{size}"
            )
            request.add_header(
                "User-Agent",
                "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3"
            )
            response = urllib.request.urlopen(request)
            if response.getcode() == 200:
                return (
                    f"https://cdn.discordapp.com/splashes/{self.invite_info['guild']['id']}/{self.invite_info['guild']['splash']}.{imagetype}{size}"
                )
            else:
                return None
        except urllib.error.HTTPError:
            return None

Main class for invitetools

#   InviteTools(invite_code)
View Source
    def __init__(self, invite_code):
        self.invite_code = invite_code
        self.invite_info = self.invite_info()
        """Raw JSON response from Discord's API"""
        self.name = self.name()
        """Name of the guild"""
        self.description = self.description()
        """Description of the guild"""
        self.id = self.id()
        """ID of the guild"""
        self.vanity_code = self.vanity_code()
        """Vanity URL code of the guild"""
        self.member_count = self.member_count()
        self.online_count = self.online_count()
#   def invite_info(self):
View Source
    def invite_info(self):
        """Raw JSON response from Discord's API"""
        request = urllib.request.Request(
            "https://discord.com/api/v9/invites/{}?with_counts=true".format(self.invite_code)
        )
        request.add_header(
            "User-Agent",
            "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3"
        )
        response = urllib.request.urlopen(request)
        data = response.read().decode("utf-8")
        data = json.loads(data)
        return (
            data
        )

Raw JSON response from Discord's API

#   def name(self):
View Source
    def name(self):
        """Name of the guild"""
        return (
            self.invite_info["guild"]["name"]
        )

Name of the guild

#   def description(self):
View Source
    def description(self):
        """Description of the guild"""
        return (
            self.invite_info["guild"]["description"]
        )

Description of the guild

#   def id(self):
View Source
    def id(self):
        """ID of the guild"""
        return (
            self.invite_info["guild"]["id"]
        )

ID of the guild

#   def vanity_code(self):
View Source
    def vanity_code(self):
        """Vanity URL code of the guild"""
        return (
            self.invite_info["guild"]["vanity_url_code"]
        )

Vanity URL code of the guild

#   def member_count(self):
View Source
    def member_count(self):
        """Member count of the guild"""
        return (
            self.invite_info["approximate_member_count"]
        )

Member count of the guild

#   def online_count(self):
View Source
    def online_count(self):
        """Online member count of the guild"""
        return (
            self.invite_info["approximate_presence_count"]
        )

Online member count of the guild

#   def icon(self, imagetype: str, size: int):
View Source
    def icon(self, imagetype: str, size: int):
        """Icon of the guild, given an image type and size"""
        if imagetype not in ["png", "jpg", "gif", "webp", "jpeg"]:
            imagetype = "png"
        if size == 16:
            size = "?size=16"
        elif size == 32:
            size = "?size=32"
        elif size == 64:
            size = "?size=64"
        elif size == 128:
            size = "?size=128"
        elif size == 256:
            size = "?size=256"
        elif size == 512:
            size = "?size=512"
        elif size == 1024:
            size = "?size=1024"
        else:
            size = ""
        try:
            request = urllib.request.Request(
                f"https://cdn.discordapp.com/banners/{self.invite_info['guild']['id']}/{self.invite_info['guild']['icon']}{size}.{imagetype}"
            )
            request.add_header(
                "User-Agent",
                "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3"
            )
            response = urllib.request.urlopen(request)
            if response.getcode() == 200:
                return (
                    f"https://cdn.discordapp.com/banners/{self.invite_info['guild']['id']}/{self.invite_info['guild']['icon']}{size}.{imagetype}"
                )
            else:
                return None
        except urllib.error.HTTPError:
            return None

Icon of the guild, given an image type and size

#   def banner(self, imagetype: str, size: int):
View Source
    def banner(self, imagetype: str, size: int):
        """Banner of the guild, given an image type and size"""
        if imagetype not in ["png", "jpg", "gif", "webp", "jpeg"]:
            imagetype = "png"
        if size == 16:
            size = "?size=16"
        elif size == 32:
            size = "?size=32"
        elif size == 64:
            size = "?size=64"
        elif size == 128:
            size = "?size=128"
        elif size == 256:
            size = "?size=256"
        elif size == 512:
            size = "?size=512"
        elif size == 1024:
            size = "?size=1024"
        else:
            size = ""
        try:
            request = urllib.request.Request(
                f"https://cdn.discordapp.com/banners/{self.invite_info['guild']['id']}/{self.invite_info['guild']['banner']}.{imagetype}{size}"
            )
            request.add_header(
                "User-Agent",
                "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3"
            )
            response = urllib.request.urlopen(request)
            if response.getcode() == 200:
                return (
                    f"https://cdn.discordapp.com/banners/{self.invite_info['guild']['id']}/{self.invite_info['guild']['banner']}.{imagetype}{size}"
                )
            else:
                return None
        except urllib.error.HTTPError:
            return None

Banner of the guild, given an image type and size

#   def splash(self, imagetype: str, size: int):
View Source
    def splash(self, imagetype: str, size: int):
        """Splash of the guild, given an image type and size"""
        if imagetype not in ["png", "jpg", "gif", "webp", "jpeg"]:
            imagetype = "png"
        if size == 16:
            size = "?size=16"
        elif size == 32:
            size = "?size=32"
        elif size == 64:
            size = "?size=64"
        elif size == 128:
            size = "?size=128"
        elif size == 256:
            size = "?size=256"
        elif size == 512:
            size = "?size=512"
        elif size == 1024:
            size = "?size=1024"
        else:
            size = ""
        try:
            request = urllib.request.Request(
                f"https://cdn.discordapp.com/splashes/{self.invite_info['guild']['id']}/{self.invite_info['guild']['splash']}.{imagetype}{size}"
            )
            request.add_header(
                "User-Agent",
                "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3"
            )
            response = urllib.request.urlopen(request)
            if response.getcode() == 200:
                return (
                    f"https://cdn.discordapp.com/splashes/{self.invite_info['guild']['id']}/{self.invite_info['guild']['splash']}.{imagetype}{size}"
                )
            else:
                return None
        except urllib.error.HTTPError:
            return None

Splash of the guild, given an image type and size