【问题标题】:reading data from json file then writing into an embed?从json文件读取数据然后写入嵌入?
【发布时间】:2019-08-25 15:37:26
【问题描述】:

所以我正在开发一个不和谐机器人的新功能,它会告诉你服务器中的所有各方(部落),部落信息存储在一个 json 文件中,但我想将它发送给用户send_message(),但它一直返回此错误:discord.ext.commands.errors.CommandInvokeError:命令引发异常:HTTPException:BAD REQUEST(状态代码: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,"}}

【问题讨论】:

    标签: python python-3.5 discord discord.py


    【解决方案1】:

    我建议你只向用户发送有限的信息,让他们通过不同的命令获得更详细的信息或让他们在网页上查看它

    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) 
    

    【讨论】:

    • ummmm 好像不行,还是说嵌入太大了
    • 按照建议,您应该考虑按允许的数量分批发送,如果您希望一次显示所有内容,请制作一个网页供用户查看。每条消息的最大字符数为2000
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多