<gh_stars>0
# coding: utf-8

"""
    Fates List

                 Current API: v2 beta 3             Default API: v2             API Docs: https://apidocs.fateslist.xyz             Enum Reference: https://apidocs.fateslist.xyz/structures/enums.autogen           # noqa: E501

    OpenAPI spec version: 0.3.0
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six

class Bot(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """
    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'user': 'BaseUser',
        'description': 'str',
        'tags': 'list[str]',
        'last_stats_post': 'datetime',
        'long_description_type': 'LongDescType',
        'long_description': 'str',
        'guild_count': 'int',
        'shard_count': 'int',
        'user_count': 'int',
        'shards': 'list[int]',
        'prefix': 'str',
        'library': 'str',
        'invite': 'str',
        'invite_link': 'str',
        'invite_amount': 'int',
        'owners': 'BotOwners',
        'features': 'list[str]',
        'state': 'BotState',
        'website': 'str',
        'support': 'str',
        'github': 'str',
        'css': 'str',
        'votes': 'int',
        'vanity': 'str',
        'donate': 'str',
        'privacy_policy': 'str',
        'nsfw': 'bool',
        'banner_card': 'str',
        'banner_page': 'str',
        'keep_banner_decor': 'bool'
    }

    attribute_map = {
        'user': 'user',
        'description': 'description',
        'tags': 'tags',
        'last_stats_post': 'last_stats_post',
        'long_description_type': 'long_description_type',
        'long_description': 'long_description',
        'guild_count': 'guild_count',
        'shard_count': 'shard_count',
        'user_count': 'user_count',
        'shards': 'shards',
        'prefix': 'prefix',
        'library': 'library',
        'invite': 'invite',
        'invite_link': 'invite_link',
        'invite_amount': 'invite_amount',
        'owners': 'owners',
        'features': 'features',
        'state': 'state',
        'website': 'website',
        'support': 'support',
        'github': 'github',
        'css': 'css',
        'votes': 'votes',
        'vanity': 'vanity',
        'donate': 'donate',
        'privacy_policy': 'privacy_policy',
        'nsfw': 'nsfw',
        'banner_card': 'banner_card',
        'banner_page': 'banner_page',
        'keep_banner_decor': 'keep_banner_decor'
    }

    def __init__(self, user=None, description=None, tags=None, last_stats_post=None, long_description_type=None, long_description=None, guild_count=None, shard_count=0, user_count=None, shards=None, prefix=None, library=None, invite=None, invite_link=None, invite_amount=None, owners=None, features=None, state=None, website=None, support=None, github=None, css=None, votes=None, vanity=None, donate=None, privacy_policy=None, nsfw=None, banner_card=None, banner_page=None, keep_banner_decor=None):  # noqa: E501
        """Bot - a model defined in Swagger"""  # noqa: E501
        self._user = None
        self._description = None
        self._tags = None
        self._last_stats_post = None
        self._long_description_type = None
        self._long_description = None
        self._guild_count = None
        self._shard_count = None
        self._user_count = None
        self._shards = None
        self._prefix = None
        self._library = None
        self._invite = None
        self._invite_link = None
        self._invite_amount = None
        self._owners = None
        self._features = None
        self._state = None
        self._website = None
        self._support = None
        self._github = None
        self._css = None
        self._votes = None
        self._vanity = None
        self._donate = None
        self._privacy_policy = None
        self._nsfw = None
        self._banner_card = None
        self._banner_page = None
        self._keep_banner_decor = None
        self.discriminator = None
        if user is not None:
            self.user = user
        if description is not None:
            self.description = description
        if tags is not None:
            self.tags = tags
        if last_stats_post is not None:
            self.last_stats_post = last_stats_post
        if long_description_type is not None:
            self.long_description_type = long_description_type
        if long_description is not None:
            self.long_description = long_description
        self.guild_count = guild_count
        if shard_count is not None:
            self.shard_count = shard_count
        self.user_count = user_count
        if shards is not None:
            self.shards = shards
        self.prefix = prefix
        self.library = library
        if invite is not None:
            self.invite = invite
        self.invite_link = invite_link
        self.invite_amount = invite_amount
        if owners is not None:
            self.owners = owners
        self.features = features
        self.state = state
        if website is not None:
            self.website = website
        if support is not None:
            self.support = support
        if github is not None:
            self.github = github
        if css is not None:
            self.css = css
        self.votes = votes
        self.vanity = vanity
        if donate is not None:
            self.donate = donate
        if privacy_policy is not None:
            self.privacy_policy = privacy_policy
        self.nsfw = nsfw
        if banner_card is not None:
            self.banner_card = banner_card
        if banner_page is not None:
            self.banner_page = banner_page
        if keep_banner_decor is not None:
            self.keep_banner_decor = keep_banner_decor

    @property
    def user(self):
        """Gets the user of this Bot.  # noqa: E501


        :return: The user of this Bot.  # noqa: E501
        :rtype: BaseUser
        """
        return self._user

    @user.setter
    def user(self, user):
        """Sets the user of this Bot.


        :param user: The user of this Bot.  # noqa: E501
        :type: BaseUser
        """

        self._user = user

    @property
    def description(self):
        """Gets the description of this Bot.  # noqa: E501


        :return: The description of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._description

    @description.setter
    def description(self, description):
        """Sets the description of this Bot.


        :param description: The description of this Bot.  # noqa: E501
        :type: str
        """

        self._description = description

    @property
    def tags(self):
        """Gets the tags of this Bot.  # noqa: E501


        :return: The tags of this Bot.  # noqa: E501
        :rtype: list[str]
        """
        return self._tags

    @tags.setter
    def tags(self, tags):
        """Sets the tags of this Bot.


        :param tags: The tags of this Bot.  # noqa: E501
        :type: list[str]
        """

        self._tags = tags

    @property
    def last_stats_post(self):
        """Gets the last_stats_post of this Bot.  # noqa: E501


        :return: The last_stats_post of this Bot.  # noqa: E501
        :rtype: datetime
        """
        return self._last_stats_post

    @last_stats_post.setter
    def last_stats_post(self, last_stats_post):
        """Sets the last_stats_post of this Bot.


        :param last_stats_post: The last_stats_post of this Bot.  # noqa: E501
        :type: datetime
        """

        self._last_stats_post = last_stats_post

    @property
    def long_description_type(self):
        """Gets the long_description_type of this Bot.  # noqa: E501


        :return: The long_description_type of this Bot.  # noqa: E501
        :rtype: LongDescType
        """
        return self._long_description_type

    @long_description_type.setter
    def long_description_type(self, long_description_type):
        """Sets the long_description_type of this Bot.


        :param long_description_type: The long_description_type of this Bot.  # noqa: E501
        :type: LongDescType
        """

        self._long_description_type = long_description_type

    @property
    def long_description(self):
        """Gets the long_description of this Bot.  # noqa: E501


        :return: The long_description of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._long_description

    @long_description.setter
    def long_description(self, long_description):
        """Sets the long_description of this Bot.


        :param long_description: The long_description of this Bot.  # noqa: E501
        :type: str
        """

        self._long_description = long_description

    @property
    def guild_count(self):
        """Gets the guild_count of this Bot.  # noqa: E501


        :return: The guild_count of this Bot.  # noqa: E501
        :rtype: int
        """
        return self._guild_count

    @guild_count.setter
    def guild_count(self, guild_count):
        """Sets the guild_count of this Bot.


        :param guild_count: The guild_count of this Bot.  # noqa: E501
        :type: int
        """
        if guild_count is None:
            raise ValueError("Invalid value for `guild_count`, must not be `None`")  # noqa: E501

        self._guild_count = guild_count

    @property
    def shard_count(self):
        """Gets the shard_count of this Bot.  # noqa: E501


        :return: The shard_count of this Bot.  # noqa: E501
        :rtype: int
        """
        return self._shard_count

    @shard_count.setter
    def shard_count(self, shard_count):
        """Sets the shard_count of this Bot.


        :param shard_count: The shard_count of this Bot.  # noqa: E501
        :type: int
        """

        self._shard_count = shard_count

    @property
    def user_count(self):
        """Gets the user_count of this Bot.  # noqa: E501


        :return: The user_count of this Bot.  # noqa: E501
        :rtype: int
        """
        return self._user_count

    @user_count.setter
    def user_count(self, user_count):
        """Sets the user_count of this Bot.


        :param user_count: The user_count of this Bot.  # noqa: E501
        :type: int
        """
        if user_count is None:
            raise ValueError("Invalid value for `user_count`, must not be `None`")  # noqa: E501

        self._user_count = user_count

    @property
    def shards(self):
        """Gets the shards of this Bot.  # noqa: E501


        :return: The shards of this Bot.  # noqa: E501
        :rtype: list[int]
        """
        return self._shards

    @shards.setter
    def shards(self, shards):
        """Sets the shards of this Bot.


        :param shards: The shards of this Bot.  # noqa: E501
        :type: list[int]
        """

        self._shards = shards

    @property
    def prefix(self):
        """Gets the prefix of this Bot.  # noqa: E501


        :return: The prefix of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._prefix

    @prefix.setter
    def prefix(self, prefix):
        """Sets the prefix of this Bot.


        :param prefix: The prefix of this Bot.  # noqa: E501
        :type: str
        """
        if prefix is None:
            raise ValueError("Invalid value for `prefix`, must not be `None`")  # noqa: E501

        self._prefix = prefix

    @property
    def library(self):
        """Gets the library of this Bot.  # noqa: E501


        :return: The library of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._library

    @library.setter
    def library(self, library):
        """Sets the library of this Bot.


        :param library: The library of this Bot.  # noqa: E501
        :type: str
        """
        if library is None:
            raise ValueError("Invalid value for `library`, must not be `None`")  # noqa: E501

        self._library = library

    @property
    def invite(self):
        """Gets the invite of this Bot.  # noqa: E501


        :return: The invite of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._invite

    @invite.setter
    def invite(self, invite):
        """Sets the invite of this Bot.


        :param invite: The invite of this Bot.  # noqa: E501
        :type: str
        """

        self._invite = invite

    @property
    def invite_link(self):
        """Gets the invite_link of this Bot.  # noqa: E501


        :return: The invite_link of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._invite_link

    @invite_link.setter
    def invite_link(self, invite_link):
        """Sets the invite_link of this Bot.


        :param invite_link: The invite_link of this Bot.  # noqa: E501
        :type: str
        """
        if invite_link is None:
            raise ValueError("Invalid value for `invite_link`, must not be `None`")  # noqa: E501

        self._invite_link = invite_link

    @property
    def invite_amount(self):
        """Gets the invite_amount of this Bot.  # noqa: E501


        :return: The invite_amount of this Bot.  # noqa: E501
        :rtype: int
        """
        return self._invite_amount

    @invite_amount.setter
    def invite_amount(self, invite_amount):
        """Sets the invite_amount of this Bot.


        :param invite_amount: The invite_amount of this Bot.  # noqa: E501
        :type: int
        """
        if invite_amount is None:
            raise ValueError("Invalid value for `invite_amount`, must not be `None`")  # noqa: E501

        self._invite_amount = invite_amount

    @property
    def owners(self):
        """Gets the owners of this Bot.  # noqa: E501


        :return: The owners of this Bot.  # noqa: E501
        :rtype: BotOwners
        """
        return self._owners

    @owners.setter
    def owners(self, owners):
        """Sets the owners of this Bot.


        :param owners: The owners of this Bot.  # noqa: E501
        :type: BotOwners
        """

        self._owners = owners

    @property
    def features(self):
        """Gets the features of this Bot.  # noqa: E501


        :return: The features of this Bot.  # noqa: E501
        :rtype: list[str]
        """
        return self._features

    @features.setter
    def features(self, features):
        """Sets the features of this Bot.


        :param features: The features of this Bot.  # noqa: E501
        :type: list[str]
        """
        if features is None:
            raise ValueError("Invalid value for `features`, must not be `None`")  # noqa: E501

        self._features = features

    @property
    def state(self):
        """Gets the state of this Bot.  # noqa: E501


        :return: The state of this Bot.  # noqa: E501
        :rtype: BotState
        """
        return self._state

    @state.setter
    def state(self, state):
        """Sets the state of this Bot.


        :param state: The state of this Bot.  # noqa: E501
        :type: BotState
        """
        if state is None:
            raise ValueError("Invalid value for `state`, must not be `None`")  # noqa: E501

        self._state = state

    @property
    def website(self):
        """Gets the website of this Bot.  # noqa: E501


        :return: The website of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._website

    @website.setter
    def website(self, website):
        """Sets the website of this Bot.


        :param website: The website of this Bot.  # noqa: E501
        :type: str
        """

        self._website = website

    @property
    def support(self):
        """Gets the support of this Bot.  # noqa: E501


        :return: The support of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._support

    @support.setter
    def support(self, support):
        """Sets the support of this Bot.


        :param support: The support of this Bot.  # noqa: E501
        :type: str
        """

        self._support = support

    @property
    def github(self):
        """Gets the github of this Bot.  # noqa: E501


        :return: The github of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._github

    @github.setter
    def github(self, github):
        """Sets the github of this Bot.


        :param github: The github of this Bot.  # noqa: E501
        :type: str
        """

        self._github = github

    @property
    def css(self):
        """Gets the css of this Bot.  # noqa: E501


        :return: The css of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._css

    @css.setter
    def css(self, css):
        """Sets the css of this Bot.


        :param css: The css of this Bot.  # noqa: E501
        :type: str
        """

        self._css = css

    @property
    def votes(self):
        """Gets the votes of this Bot.  # noqa: E501


        :return: The votes of this Bot.  # noqa: E501
        :rtype: int
        """
        return self._votes

    @votes.setter
    def votes(self, votes):
        """Sets the votes of this Bot.


        :param votes: The votes of this Bot.  # noqa: E501
        :type: int
        """
        if votes is None:
            raise ValueError("Invalid value for `votes`, must not be `None`")  # noqa: E501

        self._votes = votes

    @property
    def vanity(self):
        """Gets the vanity of this Bot.  # noqa: E501


        :return: The vanity of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._vanity

    @vanity.setter
    def vanity(self, vanity):
        """Sets the vanity of this Bot.


        :param vanity: The vanity of this Bot.  # noqa: E501
        :type: str
        """
        if vanity is None:
            raise ValueError("Invalid value for `vanity`, must not be `None`")  # noqa: E501

        self._vanity = vanity

    @property
    def donate(self):
        """Gets the donate of this Bot.  # noqa: E501


        :return: The donate of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._donate

    @donate.setter
    def donate(self, donate):
        """Sets the donate of this Bot.


        :param donate: The donate of this Bot.  # noqa: E501
        :type: str
        """

        self._donate = donate

    @property
    def privacy_policy(self):
        """Gets the privacy_policy of this Bot.  # noqa: E501


        :return: The privacy_policy of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._privacy_policy

    @privacy_policy.setter
    def privacy_policy(self, privacy_policy):
        """Sets the privacy_policy of this Bot.


        :param privacy_policy: The privacy_policy of this Bot.  # noqa: E501
        :type: str
        """

        self._privacy_policy = privacy_policy

    @property
    def nsfw(self):
        """Gets the nsfw of this Bot.  # noqa: E501


        :return: The nsfw of this Bot.  # noqa: E501
        :rtype: bool
        """
        return self._nsfw

    @nsfw.setter
    def nsfw(self, nsfw):
        """Sets the nsfw of this Bot.


        :param nsfw: The nsfw of this Bot.  # noqa: E501
        :type: bool
        """
        if nsfw is None:
            raise ValueError("Invalid value for `nsfw`, must not be `None`")  # noqa: E501

        self._nsfw = nsfw

    @property
    def banner_card(self):
        """Gets the banner_card of this Bot.  # noqa: E501


        :return: The banner_card of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._banner_card

    @banner_card.setter
    def banner_card(self, banner_card):
        """Sets the banner_card of this Bot.


        :param banner_card: The banner_card of this Bot.  # noqa: E501
        :type: str
        """

        self._banner_card = banner_card

    @property
    def banner_page(self):
        """Gets the banner_page of this Bot.  # noqa: E501


        :return: The banner_page of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._banner_page

    @banner_page.setter
    def banner_page(self, banner_page):
        """Sets the banner_page of this Bot.


        :param banner_page: The banner_page of this Bot.  # noqa: E501
        :type: str
        """

        self._banner_page = banner_page

    @property
    def keep_banner_decor(self):
        """Gets the keep_banner_decor of this Bot.  # noqa: E501


        :return: The keep_banner_decor of this Bot.  # noqa: E501
        :rtype: bool
        """
        return self._keep_banner_decor

    @keep_banner_decor.setter
    def keep_banner_decor(self, keep_banner_decor):
        """Sets the keep_banner_decor of this Bot.


        :param keep_banner_decor: The keep_banner_decor of this Bot.  # noqa: E501
        :type: bool
        """

        self._keep_banner_decor = keep_banner_decor

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(Bot, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, Bot):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other

# coding: utf-8

"""
    Fates List

                 Current API: v2 beta 3             Default API: v2             API Docs: https://apidocs.fateslist.xyz             Enum Reference: https://apidocs.fateslist.xyz/structures/enums.autogen           # noqa: E501

    OpenAPI spec version: 0.3.0
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six

class Bot(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """
    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'user': 'BaseUser',
        'description': 'str',
        'tags': 'list[str]',
        'last_stats_post': 'datetime',
        'long_description_type': 'LongDescType',
        'long_description': 'str',
        'guild_count': 'int',
        'shard_count': 'int',
        'user_count': 'int',
        'shards': 'list[int]',
        'prefix': 'str',
        'library': 'str',
        'invite': 'str',
        'invite_link': 'str',
        'invite_amount': 'int',
        'owners': 'BotOwners',
        'features': 'list[str]',
        'state': 'BotState',
        'website': 'str',
        'support': 'str',
        'github': 'str',
        'css': 'str',
        'votes': 'int',
        'vanity': 'str',
        'donate': 'str',
        'privacy_policy': 'str',
        'nsfw': 'bool',
        'banner_card': 'str',
        'banner_page': 'str',
        'keep_banner_decor': 'bool'
    }

    attribute_map = {
        'user': 'user',
        'description': 'description',
        'tags': 'tags',
        'last_stats_post': 'last_stats_post',
        'long_description_type': 'long_description_type',
        'long_description': 'long_description',
        'guild_count': 'guild_count',
        'shard_count': 'shard_count',
        'user_count': 'user_count',
        'shards': 'shards',
        'prefix': 'prefix',
        'library': 'library',
        'invite': 'invite',
        'invite_link': 'invite_link',
        'invite_amount': 'invite_amount',
        'owners': 'owners',
        'features': 'features',
        'state': 'state',
        'website': 'website',
        'support': 'support',
        'github': 'github',
        'css': 'css',
        'votes': 'votes',
        'vanity': 'vanity',
        'donate': 'donate',
        'privacy_policy': 'privacy_policy',
        'nsfw': 'nsfw',
        'banner_card': 'banner_card',
        'banner_page': 'banner_page',
        'keep_banner_decor': 'keep_banner_decor'
    }

    def __init__(self, user=None, description=None, tags=None, last_stats_post=None, long_description_type=None, long_description=None, guild_count=None, shard_count=0, user_count=None, shards=None, prefix=None, library=None, invite=None, invite_link=None, invite_amount=None, owners=None, features=None, state=None, website=None, support=None, github=None, css=None, votes=None, vanity=None, donate=None, privacy_policy=None, nsfw=None, banner_card=None, banner_page=None, keep_banner_decor=None):  # noqa: E501
        """Bot - a model defined in Swagger"""  # noqa: E501
        self._user = None
        self._description = None
        self._tags = None
        self._last_stats_post = None
        self._long_description_type = None
        self._long_description = None
        self._guild_count = None
        self._shard_count = None
        self._user_count = None
        self._shards = None
        self._prefix = None
        self._library = None
        self._invite = None
        self._invite_link = None
        self._invite_amount = None
        self._owners = None
        self._features = None
        self._state = None
        self._website = None
        self._support = None
        self._github = None
        self._css = None
        self._votes = None
        self._vanity = None
        self._donate = None
        self._privacy_policy = None
        self._nsfw = None
        self._banner_card = None
        self._banner_page = None
        self._keep_banner_decor = None
        self.discriminator = None
        if user is not None:
            self.user = user
        if description is not None:
            self.description = description
        if tags is not None:
            self.tags = tags
        if last_stats_post is not None:
            self.last_stats_post = last_stats_post
        if long_description_type is not None:
            self.long_description_type = long_description_type
        if long_description is not None:
            self.long_description = long_description
        self.guild_count = guild_count
        if shard_count is not None:
            self.shard_count = shard_count
        self.user_count = user_count
        if shards is not None:
            self.shards = shards
        self.prefix = prefix
        self.library = library
        if invite is not None:
            self.invite = invite
        self.invite_link = invite_link
        self.invite_amount = invite_amount
        if owners is not None:
            self.owners = owners
        self.features = features
        self.state = state
        if website is not None:
            self.website = website
        if support is not None:
            self.support = support
        if github is not None:
            self.github = github
        if css is not None:
            self.css = css
        self.votes = votes
        self.vanity = vanity
        if donate is not None:
            self.donate = donate
        if privacy_policy is not None:
            self.privacy_policy = privacy_policy
        self.nsfw = nsfw
        if banner_card is not None:
            self.banner_card = banner_card
        if banner_page is not None:
            self.banner_page = banner_page
        if keep_banner_decor is not None:
            self.keep_banner_decor = keep_banner_decor

    @property
    def user(self):
        """Gets the user of this Bot.  # noqa: E501


        :return: The user of this Bot.  # noqa: E501
        :rtype: BaseUser
        """
        return self._user

    @user.setter
    def user(self, user):
        """Sets the user of this Bot.


        :param user: The user of this Bot.  # noqa: E501
        :type: BaseUser
        """

        self._user = user

    @property
    def description(self):
        """Gets the description of this Bot.  # noqa: E501


        :return: The description of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._description

    @description.setter
    def description(self, description):
        """Sets the description of this Bot.


        :param description: The description of this Bot.  # noqa: E501
        :type: str
        """

        self._description = description

    @property
    def tags(self):
        """Gets the tags of this Bot.  # noqa: E501


        :return: The tags of this Bot.  # noqa: E501
        :rtype: list[str]
        """
        return self._tags

    @tags.setter
    def tags(self, tags):
        """Sets the tags of this Bot.


        :param tags: The tags of this Bot.  # noqa: E501
        :type: list[str]
        """

        self._tags = tags

    @property
    def last_stats_post(self):
        """Gets the last_stats_post of this Bot.  # noqa: E501


        :return: The last_stats_post of this Bot.  # noqa: E501
        :rtype: datetime
        """
        return self._last_stats_post

    @last_stats_post.setter
    def last_stats_post(self, last_stats_post):
        """Sets the last_stats_post of this Bot.


        :param last_stats_post: The last_stats_post of this Bot.  # noqa: E501
        :type: datetime
        """

        self._last_stats_post = last_stats_post

    @property
    def long_description_type(self):
        """Gets the long_description_type of this Bot.  # noqa: E501


        :return: The long_description_type of this Bot.  # noqa: E501
        :rtype: LongDescType
        """
        return self._long_description_type

    @long_description_type.setter
    def long_description_type(self, long_description_type):
        """Sets the long_description_type of this Bot.


        :param long_description_type: The long_description_type of this Bot.  # noqa: E501
        :type: LongDescType
        """

        self._long_description_type = long_description_type

    @property
    def long_description(self):
        """Gets the long_description of this Bot.  # noqa: E501


        :return: The long_description of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._long_description

    @long_description.setter
    def long_description(self, long_description):
        """Sets the long_description of this Bot.


        :param long_description: The long_description of this Bot.  # noqa: E501
        :type: str
        """

        self._long_description = long_description

    @property
    def guild_count(self):
        """Gets the guild_count of this Bot.  # noqa: E501


        :return: The guild_count of this Bot.  # noqa: E501
        :rtype: int
        """
        return self._guild_count

    @guild_count.setter
    def guild_count(self, guild_count):
        """Sets the guild_count of this Bot.


        :param guild_count: The guild_count of this Bot.  # noqa: E501
        :type: int
        """
        if guild_count is None:
            raise ValueError("Invalid value for `guild_count`, must not be `None`")  # noqa: E501

        self._guild_count = guild_count

    @property
    def shard_count(self):
        """Gets the shard_count of this Bot.  # noqa: E501


        :return: The shard_count of this Bot.  # noqa: E501
        :rtype: int
        """
        return self._shard_count

    @shard_count.setter
    def shard_count(self, shard_count):
        """Sets the shard_count of this Bot.


        :param shard_count: The shard_count of this Bot.  # noqa: E501
        :type: int
        """

        self._shard_count = shard_count

    @property
    def user_count(self):
        """Gets the user_count of this Bot.  # noqa: E501


        :return: The user_count of this Bot.  # noqa: E501
        :rtype: int
        """
        return self._user_count

    @user_count.setter
    def user_count(self, user_count):
        """Sets the user_count of this Bot.


        :param user_count: The user_count of this Bot.  # noqa: E501
        :type: int
        """
        if user_count is None:
            raise ValueError("Invalid value for `user_count`, must not be `None`")  # noqa: E501

        self._user_count = user_count

    @property
    def shards(self):
        """Gets the shards of this Bot.  # noqa: E501


        :return: The shards of this Bot.  # noqa: E501
        :rtype: list[int]
        """
        return self._shards

    @shards.setter
    def shards(self, shards):
        """Sets the shards of this Bot.


        :param shards: The shards of this Bot.  # noqa: E501
        :type: list[int]
        """

        self._shards = shards

    @property
    def prefix(self):
        """Gets the prefix of this Bot.  # noqa: E501


        :return: The prefix of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._prefix

    @prefix.setter
    def prefix(self, prefix):
        """Sets the prefix of this Bot.


        :param prefix: The prefix of this Bot.  # noqa: E501
        :type: str
        """
        if prefix is None:
            raise ValueError("Invalid value for `prefix`, must not be `None`")  # noqa: E501

        self._prefix = prefix

    @property
    def library(self):
        """Gets the library of this Bot.  # noqa: E501


        :return: The library of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._library

    @library.setter
    def library(self, library):
        """Sets the library of this Bot.


        :param library: The library of this Bot.  # noqa: E501
        :type: str
        """
        if library is None:
            raise ValueError("Invalid value for `library`, must not be `None`")  # noqa: E501

        self._library = library

    @property
    def invite(self):
        """Gets the invite of this Bot.  # noqa: E501


        :return: The invite of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._invite

    @invite.setter
    def invite(self, invite):
        """Sets the invite of this Bot.


        :param invite: The invite of this Bot.  # noqa: E501
        :type: str
        """

        self._invite = invite

    @property
    def invite_link(self):
        """Gets the invite_link of this Bot.  # noqa: E501


        :return: The invite_link of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._invite_link

    @invite_link.setter
    def invite_link(self, invite_link):
        """Sets the invite_link of this Bot.


        :param invite_link: The invite_link of this Bot.  # noqa: E501
        :type: str
        """
        if invite_link is None:
            raise ValueError("Invalid value for `invite_link`, must not be `None`")  # noqa: E501

        self._invite_link = invite_link

    @property
    def invite_amount(self):
        """Gets the invite_amount of this Bot.  # noqa: E501


        :return: The invite_amount of this Bot.  # noqa: E501
        :rtype: int
        """
        return self._invite_amount

    @invite_amount.setter
    def invite_amount(self, invite_amount):
        """Sets the invite_amount of this Bot.


        :param invite_amount: The invite_amount of this Bot.  # noqa: E501
        :type: int
        """
        if invite_amount is None:
            raise ValueError("Invalid value for `invite_amount`, must not be `None`")  # noqa: E501

        self._invite_amount = invite_amount

    @property
    def owners(self):
        """Gets the owners of this Bot.  # noqa: E501


        :return: The owners of this Bot.  # noqa: E501
        :rtype: BotOwners
        """
        return self._owners

    @owners.setter
    def owners(self, owners):
        """Sets the owners of this Bot.


        :param owners: The owners of this Bot.  # noqa: E501
        :type: BotOwners
        """

        self._owners = owners

    @property
    def features(self):
        """Gets the features of this Bot.  # noqa: E501


        :return: The features of this Bot.  # noqa: E501
        :rtype: list[str]
        """
        return self._features

    @features.setter
    def features(self, features):
        """Sets the features of this Bot.


        :param features: The features of this Bot.  # noqa: E501
        :type: list[str]
        """
        if features is None:
            raise ValueError("Invalid value for `features`, must not be `None`")  # noqa: E501

        self._features = features

    @property
    def state(self):
        """Gets the state of this Bot.  # noqa: E501


        :return: The state of this Bot.  # noqa: E501
        :rtype: BotState
        """
        return self._state

    @state.setter
    def state(self, state):
        """Sets the state of this Bot.


        :param state: The state of this Bot.  # noqa: E501
        :type: BotState
        """
        if state is None:
            raise ValueError("Invalid value for `state`, must not be `None`")  # noqa: E501

        self._state = state

    @property
    def website(self):
        """Gets the website of this Bot.  # noqa: E501


        :return: The website of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._website

    @website.setter
    def website(self, website):
        """Sets the website of this Bot.


        :param website: The website of this Bot.  # noqa: E501
        :type: str
        """

        self._website = website

    @property
    def support(self):
        """Gets the support of this Bot.  # noqa: E501


        :return: The support of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._support

    @support.setter
    def support(self, support):
        """Sets the support of this Bot.


        :param support: The support of this Bot.  # noqa: E501
        :type: str
        """

        self._support = support

    @property
    def github(self):
        """Gets the github of this Bot.  # noqa: E501


        :return: The github of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._github

    @github.setter
    def github(self, github):
        """Sets the github of this Bot.


        :param github: The github of this Bot.  # noqa: E501
        :type: str
        """

        self._github = github

    @property
    def css(self):
        """Gets the css of this Bot.  # noqa: E501


        :return: The css of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._css

    @css.setter
    def css(self, css):
        """Sets the css of this Bot.


        :param css: The css of this Bot.  # noqa: E501
        :type: str
        """

        self._css = css

    @property
    def votes(self):
        """Gets the votes of this Bot.  # noqa: E501


        :return: The votes of this Bot.  # noqa: E501
        :rtype: int
        """
        return self._votes

    @votes.setter
    def votes(self, votes):
        """Sets the votes of this Bot.


        :param votes: The votes of this Bot.  # noqa: E501
        :type: int
        """
        if votes is None:
            raise ValueError("Invalid value for `votes`, must not be `None`")  # noqa: E501

        self._votes = votes

    @property
    def vanity(self):
        """Gets the vanity of this Bot.  # noqa: E501


        :return: The vanity of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._vanity

    @vanity.setter
    def vanity(self, vanity):
        """Sets the vanity of this Bot.


        :param vanity: The vanity of this Bot.  # noqa: E501
        :type: str
        """
        if vanity is None:
            raise ValueError("Invalid value for `vanity`, must not be `None`")  # noqa: E501

        self._vanity = vanity

    @property
    def donate(self):
        """Gets the donate of this Bot.  # noqa: E501


        :return: The donate of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._donate

    @donate.setter
    def donate(self, donate):
        """Sets the donate of this Bot.


        :param donate: The donate of this Bot.  # noqa: E501
        :type: str
        """

        self._donate = donate

    @property
    def privacy_policy(self):
        """Gets the privacy_policy of this Bot.  # noqa: E501


        :return: The privacy_policy of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._privacy_policy

    @privacy_policy.setter
    def privacy_policy(self, privacy_policy):
        """Sets the privacy_policy of this Bot.


        :param privacy_policy: The privacy_policy of this Bot.  # noqa: E501
        :type: str
        """

        self._privacy_policy = privacy_policy

    @property
    def nsfw(self):
        """Gets the nsfw of this Bot.  # noqa: E501


        :return: The nsfw of this Bot.  # noqa: E501
        :rtype: bool
        """
        return self._nsfw

    @nsfw.setter
    def nsfw(self, nsfw):
        """Sets the nsfw of this Bot.


        :param nsfw: The nsfw of this Bot.  # noqa: E501
        :type: bool
        """
        if nsfw is None:
            raise ValueError("Invalid value for `nsfw`, must not be `None`")  # noqa: E501

        self._nsfw = nsfw

    @property
    def banner_card(self):
        """Gets the banner_card of this Bot.  # noqa: E501


        :return: The banner_card of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._banner_card

    @banner_card.setter
    def banner_card(self, banner_card):
        """Sets the banner_card of this Bot.


        :param banner_card: The banner_card of this Bot.  # noqa: E501
        :type: str
        """

        self._banner_card = banner_card

    @property
    def banner_page(self):
        """Gets the banner_page of this Bot.  # noqa: E501


        :return: The banner_page of this Bot.  # noqa: E501
        :rtype: str
        """
        return self._banner_page

    @banner_page.setter
    def banner_page(self, banner_page):
        """Sets the banner_page of this Bot.


        :param banner_page: The banner_page of this Bot.  # noqa: E501
        :type: str
        """

        self._banner_page = banner_page

    @property
    def keep_banner_decor(self):
        """Gets the keep_banner_decor of this Bot.  # noqa: E501


        :return: The keep_banner_decor of this Bot.  # noqa: E501
        :rtype: bool
        """
        return self._keep_banner_decor

    @keep_banner_decor.setter
    def keep_banner_decor(self, keep_banner_decor):
        """Sets the keep_banner_decor of this Bot.


        :param keep_banner_decor: The keep_banner_decor of this Bot.  # noqa: E501
        :type: bool
        """

        self._keep_banner_decor = keep_banner_decor

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(Bot, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, Bot):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other
# coding: utf-8 Fates List                   Current API: v2 beta 3             Default API: v2             API Docs: https://apidocs.fateslist.xyz             Enum Reference: https://apidocs.fateslist.xyz/structures/enums.autogen           # noqa: E501      OpenAPI spec version: 0.3.0          Generated by: https://github.com/swagger-api/swagger-codegen.git # noqa: F401 NOTE: This class is auto generated by the swagger code generator program.      Do not edit the class manually. Attributes:       swagger_types (dict): The key is attribute name                             and the value is attribute type.       attribute_map (dict): The key is attribute name                             and the value is json key in definition. # noqa: E501 Bot - a model defined in Swagger # noqa: E501 Gets the user of this Bot.  # noqa: E501           :return: The user of this Bot.  # noqa: E501         :rtype: BaseUser Sets the user of this Bot.           :param user: The user of this Bot.  # noqa: E501         :type: BaseUser Gets the description of this Bot.  # noqa: E501           :return: The description of this Bot.  # noqa: E501         :rtype: str Sets the description of this Bot.           :param description: The description of this Bot.  # noqa: E501         :type: str Gets the tags of this Bot.  # noqa: E501           :return: The tags of this Bot.  # noqa: E501         :rtype: list[str] Sets the tags of this Bot.           :param tags: The tags of this Bot.  # noqa: E501         :type: list[str] Gets the last_stats_post of this Bot.  # noqa: E501           :return: The last_stats_post of this Bot.  # noqa: E501         :rtype: datetime Sets the last_stats_post of this Bot.           :param last_stats_post: The last_stats_post of this Bot.  # noqa: E501         :type: datetime Gets the long_description_type of this Bot.  # noqa: E501           :return: The long_description_type of this Bot.  # noqa: E501         :rtype: LongDescType Sets the long_description_type of this Bot.           :param long_description_type: The long_description_type of this Bot.  # noqa: E501         :type: LongDescType Gets the long_description of this Bot.  # noqa: E501           :return: The long_description of this Bot.  # noqa: E501         :rtype: str Sets the long_description of this Bot.           :param long_description: The long_description of this Bot.  # noqa: E501         :type: str Gets the guild_count of this Bot.  # noqa: E501           :return: The guild_count of this Bot.  # noqa: E501         :rtype: int Sets the guild_count of this Bot.           :param guild_count: The guild_count of this Bot.  # noqa: E501         :type: int # noqa: E501 Gets the shard_count of this Bot.  # noqa: E501           :return: The shard_count of this Bot.  # noqa: E501         :rtype: int Sets the shard_count of this Bot.           :param shard_count: The shard_count of this Bot.  # noqa: E501         :type: int Gets the user_count of this Bot.  # noqa: E501           :return: The user_count of this Bot.  # noqa: E501         :rtype: int Sets the user_count of this Bot.           :param user_count: The user_count of this Bot.  # noqa: E501         :type: int # noqa: E501 Gets the shards of this Bot.  # noqa: E501           :return: The shards of this Bot.  # noqa: E501         :rtype: list[int] Sets the shards of this Bot.           :param shards: The shards of this Bot.  # noqa: E501         :type: list[int] Gets the prefix of this Bot.  # noqa: E501           :return: The prefix of this Bot.  # noqa: E501         :rtype: str Sets the prefix of this Bot.           :param prefix: The prefix of this Bot.  # noqa: E501         :type: str # noqa: E501 Gets the library of this Bot.  # noqa: E501           :return: The library of this Bot.  # noqa: E501         :rtype: str Sets the library of this Bot.           :param library: The library of this Bot.  # noqa: E501         :type: str # noqa: E501 Gets the invite of this Bot.  # noqa: E501           :return: The invite of this Bot.  # noqa: E501         :rtype: str Sets the invite of this Bot.           :param invite: The invite of this Bot.  # noqa: E501         :type: str Gets the invite_link of this Bot.  # noqa: E501           :return: The invite_link of this Bot.  # noqa: E501         :rtype: str Sets the invite_link of this Bot.           :param invite_link: The invite_link of this Bot.  # noqa: E501         :type: str # noqa: E501 Gets the invite_amount of this Bot.  # noqa: E501           :return: The invite_amount of this Bot.  # noqa: E501         :rtype: int Sets the invite_amount of this Bot.           :param invite_amount: The invite_amount of this Bot.  # noqa: E501         :type: int # noqa: E501 Gets the owners of this Bot.  # noqa: E501           :return: The owners of this Bot.  # noqa: E501         :rtype: BotOwners Sets the owners of this Bot.           :param owners: The owners of this Bot.  # noqa: E501         :type: BotOwners Gets the features of this Bot.  # noqa: E501           :return: The features of this Bot.  # noqa: E501         :rtype: list[str] Sets the features of this Bot.           :param features: The features of this Bot.  # noqa: E501         :type: list[str] # noqa: E501 Gets the state of this Bot.  # noqa: E501           :return: The state of this Bot.  # noqa: E501         :rtype: BotState Sets the state of this Bot.           :param state: The state of this Bot.  # noqa: E501         :type: BotState # noqa: E501 Gets the website of this Bot.  # noqa: E501           :return: The website of this Bot.  # noqa: E501         :rtype: str Sets the website of this Bot.           :param website: The website of this Bot.  # noqa: E501         :type: str Gets the support of this Bot.  # noqa: E501           :return: The support of this Bot.  # noqa: E501         :rtype: str Sets the support of this Bot.           :param support: The support of this Bot.  # noqa: E501         :type: str Gets the github of this Bot.  # noqa: E501           :return: The github of this Bot.  # noqa: E501         :rtype: str Sets the github of this Bot.           :param github: The github of this Bot.  # noqa: E501         :type: str Gets the css of this Bot.  # noqa: E501           :return: The css of this Bot.  # noqa: E501         :rtype: str Sets the css of this Bot.           :param css: The css of this Bot.  # noqa: E501         :type: str Gets the votes of this Bot.  # noqa: E501           :return: The votes of this Bot.  # noqa: E501         :rtype: int Sets the votes of this Bot.           :param votes: The votes of this Bot.  # noqa: E501         :type: int # noqa: E501 Gets the vanity of this Bot.  # noqa: E501           :return: The vanity of this Bot.  # noqa: E501         :rtype: str Sets the vanity of this Bot.           :param vanity: The vanity of this Bot.  # noqa: E501         :type: str # noqa: E501 Gets the donate of this Bot.  # noqa: E501           :return: The donate of this Bot.  # noqa: E501         :rtype: str Sets the donate of this Bot.           :param donate: The donate of this Bot.  # noqa: E501         :type: str Gets the privacy_policy of this Bot.  # noqa: E501           :return: The privacy_policy of this Bot.  # noqa: E501         :rtype: str Sets the privacy_policy of this Bot.           :param privacy_policy: The privacy_policy of this Bot.  # noqa: E501         :type: str Gets the nsfw of this Bot.  # noqa: E501           :return: The nsfw of this Bot.  # noqa: E501         :rtype: bool Sets the nsfw of this Bot.           :param nsfw: The nsfw of this Bot.  # noqa: E501         :type: bool # noqa: E501 Gets the banner_card of this Bot.  # noqa: E501           :return: The banner_card of this Bot.  # noqa: E501         :rtype: str Sets the banner_card of this Bot.           :param banner_card: The banner_card of this Bot.  # noqa: E501         :type: str Gets the banner_page of this Bot.  # noqa: E501           :return: The banner_page of this Bot.  # noqa: E501         :rtype: str Sets the banner_page of this Bot.           :param banner_page: The banner_page of this Bot.  # noqa: E501         :type: str Gets the keep_banner_decor of this Bot.  # noqa: E501           :return: The keep_banner_decor of this Bot.  # noqa: E501         :rtype: bool Sets the keep_banner_decor of this Bot.           :param keep_banner_decor: The keep_banner_decor of this Bot.  # noqa: E501         :type: bool Returns the model properties as a dict Returns the string representation of the model For `print` and `pprint` Returns true if both objects are equal Returns true if both objects are not equal