discord-bot

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

INSTALLATION
npx skills add https://github.com/claude-office-skills/skills --skill discord-bot
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

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

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

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

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

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

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

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

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

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

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

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

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

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

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:

# Discord Welcome Bot

## Configuration

events:

- guildMemberAdd

- guildMemberRemove


## Welcome Message

// On member join

const 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

// Assign "New Member" role

await member.roles.add(newMemberRole);


## DM Welcome

// Send DM with server info

await member.send({

content: Welcome to ${guild.name}! Here's everything you need to know...,

embeds: [infoEmbed]

});


## n8n Workflow

trigger: Discord - On Member Join

actions:

- Discord - Send Channel Message (welcome)

- Discord - Add Role

- Discord - Send DM

- Google Sheets - Log new member

---

Discord Bot Skill - Part of Claude Office Skills

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills โ†’

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free ยท no credit card