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

使用discord.py开发可响应系统欢迎消息的机器人命令是否可行?

Discord.py 欢迎消息自动反应实现方案

该需求完全可以实现,以下是完整实现说明:

前置要求

  • 安装v2.0及以上版本的discord.py,安装命令:pip install discord.py
  • 前往Discord开发者平台的机器人管理页,开启Server Members Intent和Message Content Intent两个特权网关意图

实现代码

import discord
from discord.ext import commands

# 配置机器人所需权限
intents = discord.Intents.default()
intents.members = True
intents.message_content = True

# 初始化机器人,可自行修改命令前缀
bot = commands.Bot(command_prefix="!", intents=intents)

@bot.event
async def on_ready():
    print(f"已成功登录,当前机器人账号:{bot.user}")

# 监听所有消息,匹配系统欢迎消息后触发操作
@bot.event
async def on_message(message: discord.Message):
    # 跳过机器人自身发送的消息
    if message.author == bot.user:
        return
    # 匹配新成员加入时系统自动发送的欢迎消息
    if message.type == discord.MessageType.new_member:
        # 示例1:给欢迎消息添加挥手表情反应
        await message.add_reaction("👋")
        # 示例2:自动回复欢迎语
        await message.channel.send(f"欢迎{message.author.mention}加入服务器!")
    # 保留前缀命令处理能力,删除该行会导致自定义前缀命令失效
    await bot.process_commands(message)

# 替换为你自己的机器人Token后启动
bot.run("你的机器人Token")

常用自定义修改方式

  • 仅对指定频道的欢迎消息生效:在判断条件中添加if message.channel.id == 目标频道数字ID即可
  • 匹配管理员自定义发送的欢迎消息:将判断条件替换为关键词匹配即可,例如if "欢迎" in message.content and message.author.id == 管理员ID
  • 添加更多反应表情:重复调用await message.add_reaction("表情")即可,支持Unicode通用表情和服务器自定义表情

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:15:01