You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript实现Discord机器人的Meme梗图调用功能

实现步骤

1. 安装HTTP请求依赖

Node.js原生没有简便的HTTP请求方法,先安装node-fetch库用于调用接口:

npm install node-fetch@2

在你的机器人代码顶部引入依赖:

const fetch = require('node-fetch');
// discord.js v13及以上版本需要额外导入Embed构造类
const { MessageEmbed } = require('discord.js');

2. 修改命令逻辑

首先需要给你写命令逻辑所在的函数添加async关键字,否则无法用await处理异步请求,修改后的case代码如下:

case "Show me some memes":
  message.channel.send("MEMEY.....MEMEY.....MEMEY......\n")
  // 请求梗图API解析返回结果
  const res = await fetch("https://meme-api.herokuapp.com/gimme");
  const data = await res.json();
  // 构造Embed消息
  const memeEmbed = new MessageEmbed()
    .setTitle(data.title)
    .setColor("RANDOM")
    .setImage(data.url);
  // 发送Embed
  await message.channel.send({ embeds: [memeEmbed] });
  break;

版本适配说明

如果你使用的是discord.js v14及以上版本,Embed构造类更名,调整对应代码即可:

// 导入部分修改为
const { EmbedBuilder } = require('discord.js');
// 构造Embed部分修改为
const memeEmbed = new EmbedBuilder()
  .setTitle(data.title)
  .setColor("Random")
  .setImage(data.url);

另外需要确认你已经在Discord开发者后台的Bot设置页打开了Message Content Intent开关,否则机器人无法读取用户消息内容触发命令。

内容的提问来源于stack exchange,提问作者Captain Tiger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 11:18:03