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 從公開儲存庫中收錄這些內容。

檢舉或申請下架