【问题标题】:How to send images using an api with discord.js如何使用带有 discord.js 的 api 发送图像
【发布时间】:2021-10-29 15:48:48
【问题描述】:

我正在尝试创建一个简单的不和谐机器人,它使用特定命令发送带有图像的随机口袋妖怪名称。我成功发送了图像和名称,但只发送了其中一个。 这是我正在使用的代码

 var random= Math.floor( Math.random() * 800 ) <br> 
function getPoke() {<br>
 return fetch("https://pokeapi.co/api/v2/pokemon/" + random)  
.then( res => {   <br>
    return res.json()   <br>
   }
)
<br>
   .then(data => {<br>
return data ["name"] +data["sprites"]["front_default"]<br>
   }
)
<br>
}
  if (msg.content === "$poke") {  <br>
    getPoke().then (pokemon=> msg.channel.send ( pokemon) );

如果我只尝试 -

return data["sprites"]["front_default"]

它在聊天中发送图像。 请帮忙

【问题讨论】:

  • 有什么问题?似乎没有一个明确的问题。

标签: javascript discord.js


【解决方案1】:

在做

返回数据["name"] +data["sprites"]["front_default"]

将名称和 URL 一起返回,或将它们组合起来。

我认为您可能希望返回名称和 URL,并且彼此相邻有一个空格,因此您需要在它们之间留一个空格。

您可以通过 return `${data.name} ${data.sprites.front_default}` return data.name + " " + data.sprites.front_default 来解决此问题。

【讨论】:

  • 谢谢。这是可行的,但有一个小问题它还返回图像的 url
  • @ArchitDandavate 除非您下载图像并将其附加或嵌入您的消息,否则您无法摆脱它。我建议您进行嵌入,它还可以使您的图像看起来不错。
  • 在使用api的时候怎么使用embed image 至于我正常的消息我可以直接添加文件参数并转发链接
  • @ArchitDandavate 我会将图像作为缩略图添加到嵌入中。您可以在此处和此处查看 discord.js 嵌入。
【解决方案2】:

我通过 ->

解决了这个问题
 var random= Math.floor( Math.random() * 800 )
function getPoke() {
 return fetch("https://pokeapi.co/api/v2/pokemon/" + random)  
.then( res => {   
    return res.json()  
   }
)

   .then(data => {
return data ["name"]
   }
)

}
  if (msg.content === "$poke") {
getPoke().then(poek => msg.channel.send(poek,{
  files:[
    'https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/'+random+'.png'
  ]
}

).then(
  random=Math.floor(Math.random() *898)
));
}

【讨论】:

    猜你喜欢
    • 2021-11-06
    • 1970-01-01
    • 2020-10-28
    • 2022-07-08
    • 1970-01-01
    • 2018-05-19
    • 2022-01-25
    • 1970-01-01
    • 2021-10-31
    相关资源
    最近更新 更多