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

如何使用discord.js实现用户在top.gg投票后机器人发送私信?

实现top.gg投票后自动私信用户的完整方案(discord.js v12)

首先修正你初始代码的语法问题:const Discord = require(discord.js); 缺少字符串引号,要改为const Discord = require('discord.js');

前置准备

你需要提前安装所有需要的依赖包,执行命令:
npm install discord.js@12 @top-gg/sdk express
同时提前准备好三个参数:

  • 你的Discord机器人登录令牌
  • top.gg机器人管理页生成的API令牌
  • 自定义的top.gg Webhook验证密钥(和top.gg后台填的保持一致即可)

完整实现代码

const Discord = require('discord.js');
const client = new Discord.Client();
const Topgg = require("@top-gg/sdk");
const express = require('express');
const app = express();

// 替换为你自己的实际参数
const TOPGG_API_TOKEN = '你的top.gg API令牌';
const TOPGG_WEBHOOK_SECRET = '你自定义的webhook验证密钥';
const BOT_TOKEN = '你的Discord机器人登录令牌';
const LISTEN_PORT = 3000; // 监听端口可自行修改

// 初始化top.gg webhook监听器
const voteWebhook = new Topgg.Webhook(TOPGG_WEBHOOK_SECRET);

// 处理top.gg推送的投票事件
app.post('/topgg-vote', voteWebhook.listener(async (voteData) => {
  try {
    // 拉取投票用户的Discord用户对象
    const voter = await client.users.fetch(voteData.user);
    if (!voter) return;
    // 发送感谢私信,内容可自行修改
    await voter.send(`感谢你为机器人投票!你可以每天投票一次,投票后可解锁专属使用权益哦😊`);
    console.log(`已向投票用户 ${voter.tag} 发送感谢私信`);
  } catch (error) {
    console.log(`向用户${voteData.user}发送私信失败:${error.message}`);
  }
}));

// 启动webhook监听服务
app.listen(LISTEN_PORT, () => {
  console.log(`Top.gg投票监听服务已启动,端口:${LISTEN_PORT}`);
});

// 机器人上线事件
client.on('ready', () => {
  console.log(`机器人已登录:${client.user.tag}`);
  // 可选:每30分钟向top.gg同步一次机器人的服务器数量
  const topggApi = new Topgg.Api(TOPGG_API_TOKEN);
  setInterval(() => {
    topggApi.postStats({
      serverCount: client.guilds.cache.size
    });
  }, 1800000);
});

// 登录机器人
client.login(BOT_TOKEN);

后续配置说明

  • 你需要到top.gg机器人管理后台的Webhook配置页,填写你的服务公网地址:http://你的公网IP:端口/topgg-vote,同时填入和代码一致的Webhook密钥
  • 若用户关闭了服务器私信权限、或者拉黑了机器人,会触发发送失败的捕获逻辑,不会导致机器人崩溃
  • 运行环境的Node.js版本需要高于12.0.0,否则会出现兼容性问题

内容的提问来源于stack exchange,提问作者Maulana Ali

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:15:04