import os
from .user import fun_user
from .command import log
import json

async def fun_init_server(message, string_dir, client) :
    #STRING_DIR_NEW_S = os.path.abspath(os.path.join(sys.path[0], '..')) + '\\files\\servers'


    log(message, '[log][INIT] ####################')
    log(message, '[log][INIT] НАЧАЛО ИНИЦИАЛИЗАЦИИ')
    log(message, '[log][INIT] ####################')

    NEW_DIR = string_dir + '\\s_' + str(message.guild.id)
    os.mkdir(NEW_DIR)

    log(message, '[log][INIT] Создана папка сервера, %s' % NEW_DIR)

    DIR = NEW_DIR + '\\collections'
    os.mkdir(DIR)

    log(message, '[log][INIT] Создана папка для коллекций, %s' % DIR)

    DIR = NEW_DIR + '\\reactions'
    os.mkdir(DIR)

    log(message, '[log][INIT] Создана папка для реакций, %s' % DIR)

    DIR = NEW_DIR + '\\users'
    os.mkdir(DIR)

    log(message, '[log][INIT] Создана папка для файлов-пользователей, %s' % DIR)

    DIR = NEW_DIR + '\\voice_names'
    os.mkdir(DIR)

    log(message, '[log][INIT] Создана папка, %s' % DIR)

    file = open(NEW_DIR + '\\prefix.txt', encoding= 'utf-8', mode= 'w')
    file.write('=')
    file.close()

    log(message, '[log][INIT] Создан файл для префика, %s, ' % NEW_DIR + '\\prefix.txt' + ' префикс установлен на \"=\"' )

    file = open(NEW_DIR + '\\petrowitch-queue.txt', encoding= 'utf-8', mode= 'w')
    file.close()

    log(message, '[log][INIT] Создан файл для очереди воспроизведения, %s' % NEW_DIR + '\\petrowitch-queue.txt')    

    file = open(NEW_DIR + '\\petrowitch-mode.txt', encoding= 'utf-8', mode= 'w')
    file.write('0')
    file.close()

    log(message, '[log][INIT] Создан файл для управления модом петровича, %s' % NEW_DIR + '\\petrowitch-mode.txt' + ', мод установлен на  \"0\"' )    

    file = open(NEW_DIR + '\\command.json', encoding= 'utf-8', mode= 'w')
    _json = {
        'play' : 'p',
        'help' : 'h'
    }
    json.dump(_json, file, ensure_ascii=False)
    file.close()

    log(message, '[log][INIT] Создан файл для команд-синонимов, %s' % NEW_DIR + '\\command.json')  

    file = open(NEW_DIR + '\\sounds-queue.txt', encoding= 'utf-8', mode= 'w')
    file.close()



    log(message, '[log][INIT] БЫЛ ИНИЦИАЛИЗИРОВАН СЕРВЕР: %s' % str(message.guild.id))

    fun_init_user(message, NEW_DIR)
    
    await message.channel.send('```Пользователь был назначен ADM```')
    await message.channel.send('```Сервер был успешно инициализирован\nПрефикс был установлен: \'=\' ```')
    await message.channel.send('```Для вызова заглавного help-меню напишите \'help\' ```')


def fun_init_user(message, string_dir) :

    string_id = str(message.author.id)
    file_name = string_id + '.json'

    file = open(string_dir + '\\users\\' + file_name, mode= 'w', encoding= 'utf-8')
    dir_user = {
        'NAME' : message.author.name,
        'PERPETROS' : '0 %',
        'LABELS' : ['LABELS'],
        'DEPARTS' : ['DEPARTS'],
        'PERM' : 'ADMIN'
    }
    json.dump(dir_user, file)
    file.close()
    log(message, '[log][INIT] Был инициализирован пользователь на новом сервере с правами ADMIN: %s' % message.author.name)
import os
from .user import fun_user
from .command import log
import json

async def fun_init_server(message, string_dir, client) :
    #STRING_DIR_NEW_S = os.path.abspath(os.path.join(sys.path[0], '..')) + '\\files\\servers'


    log(message, '[log][INIT] ####################')
    log(message, '[log][INIT] НАЧАЛО ИНИЦИАЛИЗАЦИИ')
    log(message, '[log][INIT] ####################')

    NEW_DIR = string_dir + '\\s_' + str(message.guild.id)
    os.mkdir(NEW_DIR)

    log(message, '[log][INIT] Создана папка сервера, %s' % NEW_DIR)

    DIR = NEW_DIR + '\\collections'
    os.mkdir(DIR)

    log(message, '[log][INIT] Создана папка для коллекций, %s' % DIR)

    DIR = NEW_DIR + '\\reactions'
    os.mkdir(DIR)

    log(message, '[log][INIT] Создана папка для реакций, %s' % DIR)

    DIR = NEW_DIR + '\\users'
    os.mkdir(DIR)

    log(message, '[log][INIT] Создана папка для файлов-пользователей, %s' % DIR)

    DIR = NEW_DIR + '\\voice_names'
    os.mkdir(DIR)

    log(message, '[log][INIT] Создана папка, %s' % DIR)

    file = open(NEW_DIR + '\\prefix.txt', encoding= 'utf-8', mode= 'w')
    file.write('=')
    file.close()

    log(message, '[log][INIT] Создан файл для префика, %s, ' % NEW_DIR + '\\prefix.txt' + ' префикс установлен на \"=\"' )

    file = open(NEW_DIR + '\\petrowitch-queue.txt', encoding= 'utf-8', mode= 'w')
    file.close()

    log(message, '[log][INIT] Создан файл для очереди воспроизведения, %s' % NEW_DIR + '\\petrowitch-queue.txt')    

    file = open(NEW_DIR + '\\petrowitch-mode.txt', encoding= 'utf-8', mode= 'w')
    file.write('0')
    file.close()

    log(message, '[log][INIT] Создан файл для управления модом петровича, %s' % NEW_DIR + '\\petrowitch-mode.txt' + ', мод установлен на  \"0\"' )    

    file = open(NEW_DIR + '\\command.json', encoding= 'utf-8', mode= 'w')
    _json = {
        'play' : 'p',
        'help' : 'h'
    }
    json.dump(_json, file, ensure_ascii=False)
    file.close()

    log(message, '[log][INIT] Создан файл для команд-синонимов, %s' % NEW_DIR + '\\command.json')  

    file = open(NEW_DIR + '\\sounds-queue.txt', encoding= 'utf-8', mode= 'w')
    file.close()



    log(message, '[log][INIT] БЫЛ ИНИЦИАЛИЗИРОВАН СЕРВЕР: %s' % str(message.guild.id))

    fun_init_user(message, NEW_DIR)
    
    await message.channel.send('```Пользователь был назначен ADM```')
    await message.channel.send('```Сервер был успешно инициализирован\nПрефикс был установлен: \'=\' ```')
    await message.channel.send('```Для вызова заглавного help-меню напишите \'help\' ```')


def fun_init_user(message, string_dir) :

    string_id = str(message.author.id)
    file_name = string_id + '.json'

    file = open(string_dir + '\\users\\' + file_name, mode= 'w', encoding= 'utf-8')
    dir_user = {
        'NAME' : message.author.name,
        'PERPETROS' : '0 %',
        'LABELS' : ['LABELS'],
        'DEPARTS' : ['DEPARTS'],
        'PERM' : 'ADMIN'
    }
    json.dump(dir_user, file)
    file.close()
    log(message, '[log][INIT] Был инициализирован пользователь на новом сервере с правами ADMIN: %s' % message.author.name)
#STRING_DIR_NEW_S = os.path.abspath(os.path.join(sys.path[0], '..')) + '\\files\\servers' ####################') ####################')