gpt4 book ai didi

javascript - 获取文本小于 1024 个字符的 reddit 帖子

转载 作者:行者123 更新时间:2023-12-02 23:43:38 24 4
gpt4 key购买 nike

`我正在尝试将 reddit 帖子获取到我的 Discord 机器人上,但只想要帖子文本 < 1024 个字符的帖子,因为这是 RichEmbed 中 .addField 的限制。我该如何去做呢?

目前我有:

     const allowed = message.channel.nsfw ? body.data.children : 
body.data.children.filter(post => !post.data.over_18);

const postlength = body.data.children.filter(post =>
!post.data.selftext.length > 1024);
if (!postlength && !allowed.length)
return message.channel.send('It seems we are out of fresh memes!, Try again later.');

const randomnumber = Math.floor(Math.random() * allowed.length)
const embed = new Discord.RichEmbed()
.setColor(0x00A2E8)
.setTitle(allowed[randomnumber].data.title)
.setDescription("Posted by: " + allowed[randomnumber].data.author)
.addField("Post: ", allowed[randomnumber].data.selftext + allowed[randomnumber].data.selftext.length)
.setImage(allowed[randomnumber].data.url)
.addField("Other info:", "Up votes: " + allowed[randomnumber].data.ups + " / Comments: " + allowed[randomnumber].data.num_comments)
.setFooter("Memes provided by r/dankmemes")
message.channel.send(embed)

我的变量poSTLength是我尝试过滤掉reddit帖子的地方,但它似乎没有效果。

最佳答案

解决方案

你在做

filter(post => !post.data.selftext.length > 1024);

它将检查false是否大于1024。我假设您想要过滤并获取所有长度小于 1024 的帖子?

将代码更改为...

filter(post => post.data.selftext.length < 1024);
<小时/>

说明

当您在属性前添加感叹号!时,您将颠倒其真实性。如果不是的话,那么它就是真实

  • 空字符串
  • 0
  • 未定义
  • “假”

在您的情况下,您将反转一个不适合上述内容的字符串,因此除非长度实际上为 0,否则它将被转换为 false:

!post.data.selftext.length

关于javascript - 获取文本小于 1024 个字符的 reddit 帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55955004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com