从json文件读取数据,然后写入嵌入内容?

时间:2019-04-04 01:14:07

标签: python python-3.5 discord discord.py

因此,我正在Discord机器人上开发一项新功能,该功能将告诉您服务器中的所有参与者(部落),而氏族信息存储在json文件中,尽管我想将其发送给用户send_message(),但始终返回此错误:discord.ext.commands.errors.CommandInvokeError:命令引发了异常:HTTPException:错误请求(状态码:400) 经过一些研究,这意味着消息中包含2000多个字符,我想知道我的代码有什么问题,欢迎提出任何建议,谢谢阅读。 #I_Love_问题排查

@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 :(得分:0)

我建议您仅向用户发送少量信息,以允许他们通过不同的命令获得更详细的信息或使他们在网页上查看

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)