discord.py是否存在on_application_made事件?如何通过API处理服务器申请
Discord服务器申请加入的discord.py事件与交互方法
Discord支持将服务器设置为「申请加入」模式,用户提交申请后需管理员批准才能进入。在discord.py中,确实有对应的事件可以捕捉用户提交申请的动作,同时也提供了API方法来处理这些申请。
核心事件:on_guild_join_request
当用户提交服务器加入申请时,会触发on_guild_join_request事件,你可以通过这个事件实现通知管理员的需求,替代你示例中自定义的on_application_made事件。
示例代码
@bot.event async def on_guild_join_request(request): # 获取用于通知的频道 channel = bot.get_channel(123456789012345678) # 替换为你的目标频道ID # 发送通知并提及管理员角色 await channel.send(f"<@&987654321098765432> 有新的服务器加入申请!申请人:{request.user.name}#{request.user.discriminator}") # 可选:通过API直接处理申请(根据需求启用) # await request.approve(reason="自动批准符合规则的申请") # await request.deny(reason="不符合服务器准入规则")
关键说明
request参数是GuildJoinRequest对象,包含申请人的完整用户信息(request.user)、申请相关元数据- 机器人需要拥有「管理服务器」权限,才能正常接收该事件并执行批准/拒绝操作
- 调用
request.approve()或request.deny()可直接通过API完成申请处理,无需手动在Discord客户端操作
内容的提问来源于stack exchange,提问作者Craft User
相关产品推荐
相关产品推荐

