如何使用discord.py从用户报名消息中提取指定的Team Name内容
Discord机器人提取报名队名实现方案
前置准备
- 首先在Discord开发者后台创建机器人应用,开启
Message Content Intent权限,否则机器人无法读取用户发送的普通消息内容 - 选用Python的discord.py库完成开发,直接用pip安装即可
核心实现逻辑
用户提交的报名消息格式固定,优先用正则表达式匹配提取Team Name内容,匹配容错率更高,能忽略用户输入时的多余空格、换行等问题。
示例代码
import discord import re # 配置机器人 Intents intents = discord.Intents.default() intents.message_content = True client = discord.Client(intents=intents) # 匹配Team Name的正则规则 team_name_pattern = r'Team Name:-\s*(.+)' @client.event async def on_ready(): print(f'机器人已登录,账号为 {client.user}') @client.event async def on_message(message): # 忽略机器人自己发的消息 if message.author == client.user: return # 尝试匹配报名消息里的队名 match_result = re.search(team_name_pattern, message.content) if match_result: team_name = match_result.group(1).strip() # 这里可以加你自己的后续逻辑,比如存储队名、回复用户报名成功等 await message.channel.send(f'已收到队伍报名:{team_name}') # 填入你自己的机器人Token运行 client.run('你的机器人Token')
相关参考
你可以查阅Discord官方开发者文档了解机器人权限、事件监听的基础规则,也可以参考discord.py库的官方文档查看消息处理相关的完整用法。
内容的提问来源于stack exchange,提问作者IDK
相关产品推荐
相关产品推荐

