Я пытаюсь создать систему профилирования discord.py, но мой бот не будет писать в файл json - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь настроить систему профилей на своем сервере разногласий.Он задает все вопросы, но не записывает в файл JSON.У бота есть все данные ролей, установленные в переменной, однако это заняло бы слишком много места, поэтому я не показывал это в блоке кода ниже.

Я поместил операторы печати и все оникроме последней работы.

await ctx.send("What Is Your Name?")
    def check(m):
        return isinstance(m.channel, discord.abc.PrivateChannel) and m.author.id == ctx.author.id
    print("sends user message1")

    name = await bot.wait_for("message", check=check)
    await ctx.send("What Are You Looking For?, If You Wish To Leave This Blank, type None")
    pref = await bot.wait_for("message", check=check)
    if "none" in pref.content.lower():
        pref = "N/A"
    await ctx.send("What Are Your Hobbies?")
    hob = await bot.wait_for("message", check=check)
    await ctx.send("Tell Us A Bit About Yourself!(100 Character Max)")
    bio = await bot.wait_for("message", check=check)
    if len(bio.content) > 100:
        await ctx.send("Your BIO Is Too Long!, 100 Characters Max!, Redo This Command!")
        return

    # Age
    if eighteen in member.roles:
        age = "18"
    if nineteen in member.roles:
        age = "19"
    if twenty in member.roles:
        age = "20"
    if t1 in member.roles:
        age = "21"
    if t2 in member.roles:
        age = "22"
    if t3 in member.roles:
        age = "23"
    if t4 in member.roles:
        age = "24"
    if t5 in member.roles:
        age = "25"
    if t6 in member.roles:
        age = "26"
    if t7 in member.roles:
        age = "27"
    if t8 in member.roles:
        age = "28"
    if t9 in member.roles:
        age = "29"
    if thirty in member.roles:
        age = "30"
    if th1 in member.roles:
        await user.send("What Is Your Age?")
        age = await bot.wait_for("message", check=check)

    #Gender
    if female in member.roles:
        gender = "Female"
    if male in member.roles:
        gender = "Male"
    if tranf in member.roles:
        gender = "Trans-Female"

    if gen in member.roles:
        gender = "GenderFluid"
    if nonb in member.roles:
        gender = "Nonbinary"
    if tranm in member.roles:
        gender = "Trans-Male"
    #Dating Status
    if singl in member.roles:
        stat = "Single"
    if taken in member.roles:
        stat = "Taken"
    if notsea in member.roles:
        stat = "Not Searching"
    if compl in member.roles:
        stat = "It's Complicated"
    if poly in member.roles:
        stat = "Polyamorous"
    if searching in member.roles:
        stat = "searching"
    #sexuality
    if hetero in member.roles:
        orient = "Heterosexual"
    if homo in member.roles:
        orient = "Homosexual"
    if asexual in member.roles:
        orient = "Asexual"
    if demiromant in member.roles:
        orient = "DemiRomantic"
    if demisex in member.roles:
        orient = "Demisexual"
    if bi in member.roles:
        orient = "Bisexual"
    if curious in member.roles:
        orient = "Bi-Curious"
    if aro in member.roles:
        orient = "Aromantic"
    if preff in member.roles:
        orient = "Prefers Female/Feminine"
    if prefm in member.roles:
        orient = "Prefers Male/Masculine"
    if pan in member.roles:
        orient = "Pansexual"

    #Location
    if us in member.roles:
        loc = "United States"
    if latin in member.roles:
        loc = "Latin America"
    if asia in member.roles:
        loc = "Asia"
    if canada in member.roles:
        loc = "Canada"
    if europe in member.roles:
        loc = "Europe"
    if africa in member.roles:
        loc = "Africa"
    if middle in member.roles:
        loc = "Middle East"
    if oceania in member.roles:
        loc = "Oceania"
    #DM Status
    if closed in member.roles:
        dm = "DM's Closed"
    if open1 in member.roles:
        dm = "DM's Open"
    if ask in member.roles:
        dm = "Ask To DM"
    #F I N I S H E D
    data = {"name": name,
            "preference": pref,
            "hobbies": hob,
            "bio": bio,
            "Age": age,
            "status": stat,
            "orientation": orient,
            "location": loc,
            "DM Status": dm
           }
    dic = {f"{ctx.author.id}": data}

    path = os.path.join("/home/PRbot/DataBoi/", "profiles.json")
    with open(path, "w") as write:
        json.dump(dic, write)
        json.dump(data, write)
    await ctx.send("Your Profile Has Been Saved!")
...