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

discord.py报错:'Bot' object has no attribute 'get' 求助

问题解决方案

核心错误修复

你的代码中出现AttributeError: 'Bot' object has no attribute 'get',是因为错误调用了获取频道的方法:

  • 错误写法:client.get.channel(828249420784205824)
  • 正确写法:client.get_channel(828249420784205824)
    get_channel是Bot类的方法,而非属性,必须通过括号调用。

其他必改问题

  1. 事件名称错误:on_member_leave不是discord.py的标准事件,成员离开服务器时触发的事件是on_member_remove,需修改事件装饰器。
  2. 成员意图开启:即使代码中使用了Intents.all(),仍需在Discord开发者门户的机器人设置中开启Server Members Intent,否则on_member_join和on_member_remove事件不会被触发。

修正后的完整代码

import discord
from discord.ext import commands
from discord.ext.commands import has_permissions

intents = discord.Intents.all()
client = commands.Bot(command_prefix='.', intents=intents)

@client.event
async def on_ready():
    await client.change_presence(activity=discord.Game(name="chess with your mum"))
    print("Bot is ready")

@client.event
async def on_member_join(member):
    channel = client.get_channel(828249420784205824)
    await channel.send(f'{member} dolaczyl do serwera!') # English: "joined the server!"

@client.event
async def on_member_remove(member):
    channel = client.get_channel(828249420784205824)
    await channel.send(f'{member} opuscil serwer!') # English: "left the server!"

@client.command()
@has_permissions(ban_members=True)
async def ban(ctx, member : discord.Member, *, reason=None):
    await member.ban(reason=reason)
    await ctx.send(f'Uzytkownik {member} dostal bana!') # English: "got banned"

@client.command()
@has_permissions(kick_members=True)
async def kick(ctx, member : discord.Member, *, reason=None):
    await member.kick(reason=reason)
    await ctx.send(f'Uzytkownik {member} zostal wyrzucony!') # English: "got kicked"

client.run('TOKEN')

额外注意事项

  • 确认机器人账号拥有目标频道的消息发送权限。
  • 若目标频道为私有频道,需将机器人添加至该频道的权限组并授予发送消息权限。

内容的提问来源于stack exchange,提问作者Max Żukowski

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 12:10:18