python - 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)
解决方案
推荐阅读
- c# - 序列化嵌套的json c#
- python - Why does a tkinter scale widget require a tkinter variable
- wordpress - 为什么“WP Search Suggest”插件只搜索产品数据而不是全部?
- angular - 以 PDF 格式下载时,画布图表模糊不清
- java - 如何将 BorderBehavior 与 ajax 重新渲染一起使用
- spring-integration - Spring Integration Java DSL:如何使用 channelMapping 方法路由到标题中名称的通道?
- swift - 我应该在这个闭包中捕获“tableView”吗?
- r - 如何通过增加顺序将向量列表拆分为子列表。
- android - 改造响应为真,但 serverDB 中没有数据获取
- cocoa - 如何将文本附加到 NSTextView 实例的请求中?