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

如何用JS/Python机器人统计DISBOARD用户Bump命令使用次数?

如何用JS/Python机器人统计DISBOARD的Bump命令使用次数

完全可以通过JS或Python的Discord机器人实现这个需求,核心思路是监听Discord消息,识别DISBOARD机器人的Bump成功回复,关联发起命令的用户并统计次数。以下是具体实现方案:

用Discord.js实现(JavaScript)

  1. 前提准备:确保机器人在Discord开发者门户开启MessageContent意图,且在目标服务器拥有读取消息的权限。
  2. 核心逻辑:监听所有消息,筛选DISBOARD机器人(ID:302050872383242240)发送的Bump成功通知,提取@的发起用户并更新计数。
const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent
  ]
});

// 内存存储计数,重启会丢失,建议改用数据库持久化
const bumpCounts = {};

client.on('messageCreate', (message) => {
  // 过滤非DISBOARD机器人的消息
  if (message.author.id !== '302050872383242240') return;
  
  // 判断是否为Bump成功的通知(可根据DISBOARD最新消息调整关键词)
  if (message.content.includes('Bump done!')) {
    const user = message.mentions.users.first();
    if (!user) return;
    
    bumpCounts[user.id] = (bumpCounts[user.id] || 0) + 1;
    console.log(`${user.tag} 累计Bump ${bumpCounts[user.id]} 次`);
  }
});

client.login('你的机器人Token');

用discord.py实现(Python)

  1. 前提准备:安装依赖pip install discord.py,开启机器人的MessageContent意图,确保服务器权限正常。
  2. 核心逻辑与JS版本一致,通过监听消息统计有效Bump次数。
import discord
from discord.ext import commands

intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)

# 内存存储计数,建议改用SQLite/MySQL持久化
bump_counts = {}

@bot.event
async def on_message(message):
    if message.author.bot:
        # 定位DISBOARD机器人
        if message.author.id == 302050872383242240:
            # 判断Bump成功通知
            if 'Bump done!' in message.content:
                user = message.mentions[0] if message.mentions else None
                if user:
                    bump_counts[user.id] = bump_counts.get(user.id, 0) + 1
                    print(f"{user.name}#{user.discriminator} 累计Bump {bump_counts[user.id]} 次")
    await bot.process_commands(message)

bot.run('你的机器人Token')

注意事项

  • 持久化存储:示例用内存对象计数,重启机器人后数据会丢失,建议结合SQLite、MongoDB等数据库保存数据。
  • 关键词适配:DISBOARD的成功通知文案可能更新,需要根据实际消息内容调整判断条件。
  • 权限验证:确保机器人拥有读取频道消息的权限,且已开启消息内容意图,否则无法正常监听消息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 07:37:24