当前位置: 首页 > 知识库问答 >
问题:

TypeError:Message类型的对象不可JSON序列化| discord。派克

闾丘成双
2023-03-14

我正在为我的不和谐机器人创建autovc命令,但我遇到了一些错误。代码:

@client.command()
async def autovc(ctx):
    def check(message):
        return message.author == ctx.author
    await ctx.send("Please enter the channel name you want to create?")
    c_name= await client.wait_for('message', check=check)
    await ctx.send("What would be the channel user limit?")
    c_limit= int((await client.wait_for('message', check=check)).content)
    await ctx.send("Please Enter the Category ID in which tha channel will be created.")
    guild = client.get_guild(852866665371926588)
    ctg= discord.utils.get(guild.categories, id=(int((await client.wait_for('message', check=check)).content)))
    await guild.create_voice_channel(name= c_name, category= ctg, user_limit= c_limit)

错误:

文件“C:\Users\illus\AppData\Local\Programs\Python\39\lib\site packages\discord\ext\commands\core.py”,第85行,在包装的ret=await coro(*args,**kwargs)文件“d:\BOT\test.py”,第30行,在autovc wait guild中。创建语音频道(name=c\u name,category=ctg,user\u limit=c\u limit)

文件“C:\Users\illus\AppData\Local\Programs\Python\39\lib\site packages\discord\guild.py”,第987行,位于create\u voice\u channel data=wait self中。在请求kwargs['data']=utils中创建_通道(名称、覆盖、ChannelType.voice、类别、reason=reason、**选项)文件“C:\Users\illus\AppData\Local\Programs\Python39\lib\site packages\discord\http.py”,第156行。to_json返回json第328行中的to_json(kwargs.pop('json'))文件“C:\Users\illus\AppData\Local\Programs\Python39\lib\site packages\discord\utils.py”。转储(obj,分隔符=(',',':'),确保ascii=True)文件“C:\Users\illus\AppData\Local\Programs\Python\Python39\lib\json\u init.py”,第234行,在转储中返回cls(文件“C:\Users\illus\AppData\Local\Programs\Python\Python 39\lib\json\encoder.py”,第199行,在encode chunks=self.iterencode(o,\u one\u shot=True)文件“C:\Users\illus\AppData\Local\Programs\Python\Python 39\lib\json\encoder.py”,第257行,在iterencode返回_iterencode(o,0)文件“C:\Users\illus\AppData\Local\Programs\Python\Python39\lib\json\encoder.py”的第179行中,默认情况下为raise TypeError(f'Object of type{o.class.name}”

TypeError:消息类型的对象不可JSON序列化

上述例外是以下例外的直接原因:

回溯(最近一次调用):文件“C:\Users\illus\AppData\Local\Programs\Python\Python39\lib\site packages\discord\ext\commands\bot.py”,第939行,在invoke Wait ctx中。命令调用(ctx)文件“C:\Users\illus\AppData\Local\Programs\Python39\lib\site packages\discord\ext\commands\core.py”,第863行,在调用等待注入(*ctx.args,**ctx.kwargs)文件“C:\Users\illus\AppData\Local\Programs\Python\Python39\lib\site packages\discord\ext\commands\core.py”,第94行,在包装中,从exc discord中引发CommandInvokeError(exc)。外部命令。错误。CommandInvokeError:Command引发异常:TypeError:消息类型的对象不可JSON序列化

共有1个答案

张高澹
2023-03-14

我认为这是因为你试图用消息对象而不是字符串来命名你的vc。不要将c_name作为name参数,请尝试将c_name.content,以便获得消息的实际内容。像这样:

await guild.create_voice_channel(name=c_name.content, category=ctg, user_limit=c_limit)

我还没有测试过,但我很确定这就是问题所在。

 类似资料:
  • 我有一个看起来很常见的问题,但到目前为止,我还没有找到一个适合我的解决方案。我想我只是错过了一些小事情,但我已经崩溃了,请求帮助。我正在尝试使用flask和pymongo获得json输出。 以下是控制台中使用print(结果)的对象: 当我试图返回时,我得到了错误: TypeError: ObjectId类型的对象不是JSON可序列化的 类联系人(资源): 我试过bson。json_util建议。

  • 我正在尝试将文件从mongoDB读取到本地。 我的代码如下:STRING=“myLocalPath”PATH=STRING.json 我得到错误-对象类型'ObjectId'是不是JSON序列化...请建议。

  • 我有一个api,我正在尝试使用Flask Pymongo存储/发布一个用户对象。 但是,我得到了以下错误 文件“/home/kay/.local/share/virtualenvs/server-iT4jZt3h/lib/python3.7/site-packages/flask/json/i│ 尼特。py”,第321行,在jsonify中 │ 转储(数据,缩进=缩进,分隔符=分隔符)“\n”,│

  • 问题内容: 我使用Python Flask Restful API遇到问题,并且数据进入Elasticsearch,当我用Postman发布新数据时,问题是: TypeError:“ Response”类型的对象不可JSON序列化 你能帮助我吗? 模型: 视图: 错误: 编辑:我发现了问题。它在def post(self,people_id)方法中: 新队: 问题答案: 这可以简单地通过以下方式完

  • 我有以下用于序列化查询集的代码: 下面是我的 我需要将其序列化。但它说无法序列化

  • 我有一个存储店铺名称和每日销售额的数据框架。我尝试使用下面的Python脚本将其插入Salesforce。 但是,我收到以下错误: 下面,是数据框的视图。 我使用以下代码将其插入Salesforce。 当执行上面的最后一行时,我得到了错误。 我该如何解决这个问题?