чтение данных из файла JSON, а затем запись в код для вставки? - PullRequest
0 голосов
/ 04 апреля 2019

Итак, я работал над новой функцией на диссон-боте, которая сообщала бы вам обо всех сторонах (кланах) на сервере, а информация о клане хранится в файле json, но я бы хотел отправить ее пользователю send_message (), но продолжает возвращать эту ошибку: discord.ext.commands.errors.CommandInvokeError: Команда вызвала исключение: HTTPException: BAD REQUEST (код состояния: 400) после небольшого исследования это означает, что в сообщении содержится более 2000 символов, и мне было интересно, что не так с моим кодом, любые предложения приветствуются, спасибо, что прочитали это. # I_Love_Troubleshooting

@client.command(pass_context=True)
async def partylist(ctx):
    user = ctx.message.author
    await partylist(user)


async def partylist(user):
    partylist = discord.Embed(
        colour = discord.Colour.orange()
    )
    partylist.set_author(name="Parties")
    with open(url2, 'r') as w:
        file = json.load(w)
        for item in file:
            partylist.add_field(name=item,value="",inline=False)
    w.close()
    await client.say(user,embed=partylist)

#This is the json file
{"clan2": {"Members": "ShareYourGraves#9977"}, "clan1": {"Members": "||CATENARY||#9105,"}}

1 Ответ

0 голосов
/ 05 апреля 2019

Я предлагаю вам просто отправить ограниченное количество информации пользователям, чтобы они могли получать более подробную информацию с помощью различных команд или сделать так, чтобы они просматривали ее на веб-странице

data={"clan2": {"Members": "ShareYourGraves#9977"}, "clan1": {"Members": "||CATENARY||#9105,"}}

async def send_data(user):
    emb=discord.Embed(title='Data')
    clans=[name for name in data]
    emb.add_field(name='clan names',value=" ,".join(clans))
    await bot.send_message(user,embed=emb) 
...