Discord Bot

作者 claude-office-skills9c4c7d5cd281MIT499 个星标收录于 2026年10月8日更新于 2026年10月8日仓库8个月前更新

Discord bot development - community management, moderation, notifications, and AI integration

AI 生成的概览

指导构建用于管理、社区运营、通知和 AI 对话功能的 Discord 机器人。

功能
该技能提供开发 Discord 机器人的参考模式与配置示例。内容涵盖机器人设置与意图、斜杠命令、自动管理规则、欢迎与角色系统、工单流程、通知嵌入消息、定时发布,以及 AI 对话或图像生成命令。它产出的是设计指导与示例配置,而非可直接运行的代码。
适用场景
适用于为社区服务器规划或记录 Discord 机器人的场景。适合管理自动化、新成员引导、通知发布以及添加 AI 辅助命令。
运行要求
不包含脚本,仅为说明性内容。按其中的设置指引操作需要 Discord 应用与机器人令牌、配置好的网关意图,可选地还需要名为 discord-mcp 的 MCP 服务器及其消息、频道和角色工具,以及用于 AI 或图像生成的外部服务。

Discord Bot

Build Discord bots for community management, moderation, notifications, and AI integration. Based on n8n's Discord workflow templates.

Overview

This skill covers:

  • Bot setup and configuration
  • Slash commands and interactions
  • Moderation automation
  • Notification workflows
  • AI-powered features

Bot Setup

Creating a Discord Bot

yaml
setup_steps:  1. create_application:      url: https://discord.com/developers/applications      action: "New Application"        2. create_bot:      section: "Bot"      action: "Add Bot"      copy: token        3. configure_intents:      enable:        - PRESENCE_INTENT        - SERVER_MEMBERS_INTENT        - MESSAGE_CONTENT_INTENT          4. invite_bot:      section: "OAuth2 > URL Generator"      scopes: [bot, applications.commands]      permissions: [based_on_needs]      generate: invite_link

Slash Commands

yaml
slash_commands:  - name: help    description: "Show bot help"      - name: ping    description: "Check bot latency"      - name: poll    description: "Create a poll"    options:      - name: question        type: STRING        required: true      - name: options        type: STRING        required: true          - name: remind    description: "Set a reminder"    options:      - name: time        type: STRING        required: true      - name: message        type: STRING        required: true

Moderation Bot

Auto-Moderation

yaml
auto_moderation:  spam_detection:    triggers:      - repeated_messages: 5_in_10_seconds      - mass_mentions: more_than_5      - link_spam: multiple_links_no_text    actions:      - delete_messages      - timeout: 5_minutes      - log_to_mod_channel        word_filter:    blocked_words: [list_of_words]    action:      - delete_message      - warn_user        link_filter:    allowed_domains: [youtube.com, github.com]    action: delete_if_not_allowed      raid_protection:    triggers:      - join_rate: 10_per_minute    actions:      - enable_verification      - notify_mods      - slow_mode: enable

Moderation Commands

yaml
mod_commands:  /warn:    permission: MODERATE_MEMBERS    action: |      1. Record warning      2. DM user with reason      3. Log to mod channel        /timeout:    permission: MODERATE_MEMBERS    options: [user, duration, reason]    action: |      1. Apply timeout      2. DM user      3. Log action        /ban:    permission: BAN_MEMBERS    options: [user, reason, delete_messages]    action: |      1. Ban user      2. Log to mod channel      3. Optional: post to #bans        /warnings:    permission: MODERATE_MEMBERS    action: show_user_warning_history

Community Features

Welcome System

yaml
welcome_system:  on_member_join:    actions:      - assign_role: "New Member"      - send_dm:          template: |            👋 Welcome to {server_name}!                        Here's how to get started:            1. Read #rules            2. Grab roles in #roles            3. Introduce yourself in #introductions                        Need help? Ask in #support                  - post_welcome:          channel: "#welcome"          template: |            🎉 Welcome {user_mention} to the server!                        They are member #{member_count}              on_member_leave:    channel: "#logs"    template: "{user} left the server. Duration: {time_since_join}"

Role Management

yaml
reaction_roles:  channel: "#roles"  message: |    React to get roles:        🎮 - Gamer    💻 - Developer    🎨 - Artist    📚 - Student      mappings:    "🎮": role_id_gamer    "💻": role_id_developer    "🎨": role_id_artist    "📚": role_id_student    level_roles:  system: xp_based  roles:    - level: 5      role: "Active Member"    - level: 10      role: "Regular"    - level: 25      role: "Veteran"    - level: 50      role: "Legend"

Ticket System

yaml
ticket_system:  create_ticket:    trigger: button_click OR /ticket    action:      - create_channel: "ticket-{user}-{number}"      - set_permissions: [user, support_team]      - send_initial_message:          template: |            🎫 **Support Ticket**                        User: {user_mention}            Created: {timestamp}                        Please describe your issue and a team member will assist you shortly.                        React with ✅ to close this ticket.              close_ticket:    trigger: reaction OR /close    action:      - save_transcript: to_logs_channel      - delete_channel: after_5_seconds      - dm_user: transcript_link

Notification Workflows

n8n Integration

yaml
workflow: "Discord Notifications"
triggers:  github_release:    action:      channel: "#releases"      embed:        title: "🚀 New Release: {version}"        description: "{release_notes}"        color: 0x00ff00        fields:          - name: "Download"            value: "[Link]({download_url})"              twitch_live:    action:      channel: "#streams"      message: "@everyone {streamer} is now live!"      embed:        title: "{stream_title}"        image: "{thumbnail}"          youtube_video:    action:      channel: "#videos"      embed:        title: "{video_title}"        description: "{description}"        thumbnail: "{thumbnail}"

Scheduled Posts

yaml
scheduled_posts:  daily_question:    schedule: "10am daily"    channel: "#daily-discussion"    template: |      🤔 **Question of the Day**            {random_question}            Share your thoughts below! 👇        weekly_recap:    schedule: "Sunday 6pm"    channel: "#announcements"    template: |      📊 **Weekly Server Recap**            New members: {new_members}      Messages: {message_count}      Most active channel: {top_channel}      Top contributor: {top_user}            Thanks for being part of our community! ❤️

AI Integration

AI Chat Bot

yaml
ai_bot:  trigger: mention OR dm    configuration:    model: gpt-4    system_prompt: |      You are a helpful Discord bot assistant.      - Be friendly and use Discord-appropriate language      - Use emojis naturally      - Keep responses concise      - Help with server-related questions        features:    - conversation_memory: per_channel    - rate_limiting: 10_per_minute    - content_filter: enabled      commands:    /ask:      description: "Ask the AI a question"      action: ai_response          /summarize:      description: "Summarize recent messages"      action: summarize_channel_history

Image Generation

yaml
image_generation:  command: /imagine    options:    - prompt: STRING (required)    - style: CHOICE [realistic, anime, cartoon, abstract]    - size: CHOICE [square, portrait, landscape]      workflow:    1. receive_command    2. send_generating_message    3. call_dalle_api    4. send_result_with_buttons:        - Regenerate        - Upscale        - Variations

Embeds & Components

Rich Embed

yaml
embed:  title: "Server Information"  description: "Welcome to our community!"  color: 0x5865F2  # Discord blurple    thumbnail:    url: "{server_icon}"      fields:    - name: "📊 Members"      value: "{member_count}"      inline: true    - name: "💬 Channels"      value: "{channel_count}"      inline: true    - name: "🎭 Roles"      value: "{role_count}"      inline: true    - name: "📅 Created"      value: "{creation_date}"      inline: false        footer:    text: "Last updated"    icon_url: "{bot_avatar}"      timestamp: "{current_time}"

Button Components

yaml
buttons:  row_1:    - type: button      style: primary      label: "Accept Rules"      custom_id: "accept_rules"          - type: button      style: secondary      label: "View Rules"      custom_id: "view_rules"        row_2:    - type: button      style: link      label: "Website"      url: "https://example.com"          - type: button      style: danger      label: "Leave"      custom_id: "leave_confirm"

Output Example

Request: "Create a Discord welcome bot"

Output:

markdown
# Discord Welcome Bot
## Configuration
```yamlevents:  - guildMemberAdd  - guildMemberRemove

Welcome Message

javascript
// On member joinconst welcomeEmbed = {  title: '👋 Welcome to the Server!',  description: `Hey ${member.user}, welcome to **${guild.name}**!`,  color: 0x00ff00,  fields: [    { name: '📜 Rules', value: 'Check <#rules-channel>', inline: true },    { name: '🎭 Roles', value: 'Get roles in <#roles>', inline: true },    { name: '💬 Chat', value: 'Say hi in <#general>', inline: true }  ],  thumbnail: { url: member.user.displayAvatarURL() },  footer: { text: `Member #${guild.memberCount}` }};
welcomeChannel.send({ embeds: [welcomeEmbed] });

Auto-Role

javascript
// Assign "New Member" roleawait member.roles.add(newMemberRole);

DM Welcome

javascript
// Send DM with server infoawait member.send({  content: `Welcome to ${guild.name}! Here's everything you need to know...`,  embeds: [infoEmbed]});

n8n Workflow

yaml
trigger: Discord - On Member Joinactions:  - Discord - Send Channel Message (welcome)  - Discord - Add Role  - Discord - Send DM  - Google Sheets - Log new member

---
*Discord Bot Skill - Part of Claude Office Skills*

来源与署名

来源:claude-office-skills/skills位于discord-bot提交9c4c7d5

许可证: MIT

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架