# noinspection DuplicatedCode
from core.dict_object import DictObject


# Copy this file to ./conf/##bot_name##.py,
# template.config.py provides a copy without any comments,
# for easier and faster editing.
# and change the settings provided below.

# This file is used for Code Completion or Type Hinting. DO NOT DELETE IT.
# This file is used for Code Completion or Type Hinting. DO NOT DELETE IT.


class BotConfig:
    username = ""
    password = ""
    character = ""
    # This should be a list of CharID's. For some Reason I didnt like the idea of sticking to Names...
    # Dont ask me why :P
    superadmin = []

    # Only MariaDB is supported, please supply the details used for the bot data.
    database = DictObject({
        "type": "mariadb",
        "username": "",
        "password": "",
        "host": "",
        "port": 3306,
        "name": ""})

    # IGNCore supports splitting of the DB; If you're hosting multiple bots, its generally a good idea to fill
    # this section with additional details. every mariadb user used by bots (e.g. the one above)
    # will need update, delete and insert permissions in this database.
    #
    # If you only host one bot, and because of that dont need to split the database,
    # please remove this section entirely.
    # START #
    shared_db = DictObject({
        "type": "mariadb",
        "username": "",
        "password": "",
        "host": "",
        "port": 3306,
        "name": ""
    })
    # END #

    # In this section you can add some slaves to the bot.
    # They serve as a buddylist expander, and tells may get sent through them. (Tells which are known to be spammy)
    slaves = [
        # {"username": "account_name", "password": "password", "character": "character_name"},
    ]

    # You will need to edit this section, if you're hosting a bot for RK6, or any other server than RK5.
    server = DictObject({
        "dimension": "5",
        "host": "chat.d1.funcom.com",
        "port": 7105
    })

    # Here the module paths are configured.
    #
    # Supported paths:
    # modules/core - Contains the core modules. They provide commands which are necessary to run the bot.
    # modules/onlinebot - Contains modules useful for bots running between multiple orgs; for example, Alliances.
    # modules/orgbot - Provides modules specifically for org bots.
    # modules/raidbot - Provides Raidbot functionality. For example Massinvites, Masstells, Tower stuff, and Raids.
    # modules/standard - Here are modules useful in all bot types; For Example loot tables, item database, and so on.
    module_paths = [
        "modules/core",
        "modules/standard",
        "modules/raidbot"
    ]

    # DO NOT TOUCH THIS LINE
    slaves = [DictObject(x) for x in slaves]