我目前正在学习如何使用python制作 discord机器人。但是我被困在刚开始的时候。我的漫游器没有响应。
它没有显示错误。机器人还在不和谐的服务器中在线显示。
但是当我运行guild.member_count
时,它会显示正确的成员数。但是,当我尝试通过guild.members
获取成员的信息时,它只会在列表中显示我的机器人。
此外,如果我尝试通过await member.create_dm()
中的on_member_join()
发送消息,则不会发送任何消息。
我还授予了机器人 administrator 权限,以查看其权限是否存在某些问题,但仍然相同。
下面是我的代码:
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)