首页 > 解决方案 > Discord 机器人无法正常工作

问题描述

我目前正在学习如何使用 python 制作一个不和谐的机器人。但我一开始就卡住了。我的机器人没有响应

它没有显示错误。同样在不和谐服务器中,机器人在线显示。

但是当我运行guild.member_count它时,它会显示正确的成员数量。但是当我尝试通过 获取成员的信息时guild.members,它只会在列表中显示我的机器人。

此外,如果我尝试通过await member.create_dm()in发送消息on_member_join(),它不会发送任何消息。

此外,我还授予了机器人管理员权限,以查看其权限是否存在问题,但仍然相同。

下面是我的代码:

import discord

TOKEN = <MyToken> # I have replaced this with my actual token in the actual code

client = discord.Client()

@client.event
async def on_ready():
    guild = discord.utils.get(client.guilds, name=GUILD)
    print(
        f"{client.user} is connected to Discord!\n"
        f"Connected to {guild.name} (id: {guild.id}, members-count: {guild.member_count})"
        )
    members = '\n - '.join([member.name for member in guild.members])
    print(f'Guild Members:\n - {members}')


@client.event
async def on_member_join(member):
    await member.create_dm()
    await member.dm_channel.send(
        f"Hello {member.name}, Welcome to the test discord server!"
    )
    print(f"Welcomed {member.name}.\n")

client.run(TOKEN)

标签: pythondiscordbotsdiscord.py

解决方案


它只是在列表中显示我的机器人。

请参阅网关意图上的此页面

它不发送任何消息

尝试使用

await member.send(...)

推荐阅读