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

discord.py中基于Cogs的欢迎消息无法发送问题求助

排查Discord机器人欢迎消息失效问题

看了你的代码和描述,我梳理出几个大概率导致问题的点,咱们一步步来排查:

1. 一眼就能看到的拼写错误

你在Embed的描述里把channel拼成了chanenl!这个低级错误会直接触发异常,但如果你的日志没配置到位,控制台就不会输出错误信息。赶紧把这行代码修正:

welcomeem = discord.Embed(title = f"Hey there {member.name}!", description = f"Welcome to {channel.guild.name}! Have a fun time here in TigerNinja's server!")

2. 未启用服务器成员意图(Discord API强制要求)

Discord的on_member_join事件必须依赖服务器成员意图才能触发,如果你没开启这个权限,机器人根本收不到成员加入的通知:

  • 先去Discord开发者门户,找到你的机器人应用,在「Privileged Gateway Intents」里开启「Server Members Intent」
  • 然后在初始化机器人的代码里加上意图配置:
intents = discord.Intents.default()
intents.members = True
# 如果用commands.Bot的话
bot = commands.Bot(command_prefix='t.', intents=intents)

3. 确认Cog是否正确加载

别忽略这个基础问题——你有没有把这个包含监听器的Cog正确加载到机器人里?比如在主文件里要写:

await bot.load_extension('你的Cog文件名')  # 替换成实际的文件名,不带.py后缀

要是Cog没加载,这个on_member_join监听器根本不会运行。

4. 频道权限与ID检查

  • 核对828481599057166356这个频道ID是否正确,有没有输错数字
  • 确保机器人在目标频道拥有发送消息和嵌入链接的权限,缺权限的话消息发不出去,也不会主动报错

5. 配置日志,让错误显形

你说控制台没输出错误,大概率是没配置日志系统。在代码开头加上这段,就能看到所有异常信息了:

import logging
logging.basicConfig(level=logging.INFO)

以后不管是拼写错误、权限问题还是其他bug,都会在控制台清晰展示,方便排查。

先从拼写错误和成员意图这两个最常见的问题入手检查,应该能快速解决你的问题!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 18:22:46