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

Discord Bot无法提及@Scrim角色问题求助

修复Discord Bot角色提及无提醒问题

问题原因

你当前代码里直接把scrimRole对象拼进消息字符串,Discord不会把它解析成能触发用户提醒的角色提及,只会显示普通的角色名称文本。要让角色提及生效,必须用<@&角色ID>的格式,Discord才能识别并向对应角色的用户推送提醒。

修复方案

把消息中拼接角色的部分替换为scrimRole.toString()(Discord.js会自动生成标准的角色提及格式),或者手动拼接<@&${scrimRole.id}>,两种方式都能实现可提醒的角色提及效果。

修复后的完整代码

client.on('interactionCreate', async (interaction) => {
  if (!interaction.isCommand()) return;

  if (interaction.commandName === 'scrim') {
    if (interaction.channelId !== '1039877126205210625') {
      return interaction.reply('Hãy sử dụng lệnh này trong kênh <#1039877126205210625>.');
    }
    const cooldownTime = 15 * 60 * 1000; // 15 phút
    const now = Date.now();
    const lastUsage = scrimCooldowns.get(interaction.user.id);

    if (lastUsage && now - lastUsage < cooldownTime) {
      const remainingTime = (cooldownTime - (now - lastUsage)) / 1000;
      await interaction.reply(`Bạn cần đợi thêm ${remainingTime.toFixed(0)} giây trước khi sử dụng lệnh này.`);
      return;
    }

    scrimCooldowns.set(interaction.user.id, now);

    // Lấy nội dung tùy chọn từ interaction
    const Clan = interaction.options.getString('message') || 'Không có nội dung';

    // Tìm và tag role "scrim"
    const scrimRole = interaction.guild.roles.cache.find(role => role.name === 'Scrim');
    if (scrimRole) {
      // 使用toString()生成正确的角色提及格式
      await interaction.reply(`Có clan đã yêu cầu 1 trận ${scrimRole.toString()} với nội dung: ${Clan}`);
      // 也可以手动拼接格式:await interaction.reply(`Có clan đã yêu cầu 1 trận <@&${scrimRole.id}> với nội dung: ${Clan}`);
    } else {
      await interaction.reply('Không tìm thấy role "Scrim".');
    }
  }
});

额外建议

  • 为避免角色名称修改导致查找失败,建议直接通过角色ID获取角色,比如interaction.guild.roles.cache.get('目标角色ID'),这种方式更稳定。
  • 确保你的Bot拥有发送消息和提及角色的权限,否则即使格式正确也无法触发提醒。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 15:52:30