核心原理
QQ机器人测颜值的本质,并不是真的用AI进行复杂的图像识别和分析(虽然也可以这样做),而是基于关键词触发,然后随机返回一个预设的结果。

(图片来源网络,侵删)
工作流程是这样的:
- 用户触发:用户发送指令,测颜值”、“颜值分析”、“看看我帅不”等。
- 机器人接收:QQ机器人监听到消息,识别出包含关键词的内容。
- 随机生成结果:机器人从一个包含各种“颜值分数”和“评语”的列表中,随机选择一个组合。
- 返回结果:机器人将随机生成的结果(文字、图片或两者)发送回聊天。
实现方法(以Python + NoneBot2框架为例)
这是目前最主流、最灵活的QQ机器人开发框架之一,我们将用这个框架来实现测颜值功能。
第1步:环境准备
- 安装Python:确保你的电脑上安装了Python 3.8或更高版本。
- 安装NoneBot2:在命令行中运行以下命令安装。
pip install nb-cli
- 创建机器人项目:使用nb-cli创建一个新的机器人项目。
nb create my_bot
按照提示选择你想要的适配器(如OneBot v11,这是QQ机器人最常用的协议)。
第2步:编写测颜值插件
在创建的项目中,你会看到一个plugins文件夹,在这个文件夹里创建一个新的Python文件,比如叫beauty.py。

(图片来源网络,侵删)
代码实现 (beauty.py):
import random
from nonebot import on_command
from nonebot.adapters.onebot.v11 import Message, MessageSegment
from nonebot.matcher import Matcher
from nonebot.params import CommandArg
# 定义一个命令触发器,用户发送 "/测颜值" 或 ".测颜值" 时触发
beauty_matcher = on_command("测颜值", aliases={"颜值分析", "看看我"}, priority=10, block=True)
# 预设的颜值分数和评语库
# 为了增加趣味性,可以分几个档次
results = {
# 惊为天人级别
95: [
"我的天!你是从天上下凡的神仙吗?颜值天花板级别的存在!",
"帅/美得惊天动地,建议立刻出道!",
"AI都为你献上膝盖,这颜值已经超出了我的计算范围!"
],
# 帅/美得惊人
85: [
"哇!这颜值,走在路上绝对是焦点!",
"帅/美得很有攻击性,请小心你的小心脏!",
"颜值爆表!今天的你也是宇宙第一帅/美!"
],
# 比较有魅力
75: [
"颜值很不错哦,很有辨识度!",
"属于耐看型,越看越有味道!",
"你的帅气/美丽是毋庸置疑的!"
],
# 帅/美得刚刚好
65: [
"颜值在线,气质出众!",
"标准的帅哥/美女一枚!",
"清爽干净,看着就很舒服!"
],
# 普通但可爱
55: [
"颜值中等偏上,很有亲和力!",
"你身上有种独特的可爱气质!",
"整体感觉很舒服,是个好人!"
],
# 需要努力
45: [
"颜值有待发掘,但气质很棒!",
"你笑起来很好看,多笑笑吧!",
"内在美才是真的美,你一定很善良!"
],
# 惊喜(搞笑)档位
10: [
"嗯... 我看到了一颗冉冉升起的...喜剧之星?",
"你的幽默感比颜值更突出!",
"建议转型做搞笑博主,绝对火!"
],
# 随机分数评语(可以放一些通用的话)
"random": [
"颜值评分:{score}分。{comment}",
"经过AI大数据分析,你的颜值是:{score}分。{comment}",
"叮!颜值报告出炉:{score}分。{comment}"
]
}
@beauty_matcher.handle()
async def handle_beauty(matcher: Matcher, args: Message = CommandArg()):
# 获取用户发送的图片(如果有)
img_url = args.extract_image_urls()
# 随机选择一个分数和对应的评语
score = random.choice(list(results.keys()))
if score == "random":
# 如果是random,再随机一个分数
score = random.randint(0, 100)
comment = random.choice(results["random"]).format(score=score, comment=random.choice(results.get(score, ["是个有趣的人!")]))
else:
comment = random.choice(results[score])
# 构建回复消息
reply = Message()
# 如果用户发了图片,先回复图片(表示“正在分析”)
if img_url:
reply.append(MessageSegment.image(img_url[0]))
# 可以加个“正在分析...”的文本
reply.append("正在分析你的颜值...\n")
# 添加最终的评语
reply.append(comment)
# 发送回复
await matcher.send(reply)
第3步:运行机器人
- 在项目根目录下,配置你的QQ机器人连接信息(通常是扫码登录)。
- 运行机器人:
nb run
- 现在在你的QQ里发送
/测颜值或颜值分析,机器人就会给你一个随机的颜值评分和评语了!
创意玩法和扩展
基础的测颜值功能已经很棒了,但我们可以让它更有趣:
增加图片识别(进阶版)
如果你想实现“真的”看图测颜值,可以接入第三方AI图像识别API。
- 思路:当用户发送图片时,机器人将图片上传到支持颜值打分的AI服务(如百度AI、腾讯AI等,通常需要注册并获取API Key),获取AI返回的分数,再结合你的评语库进行回复。
- 注意:这需要额外的成本(API调用通常收费),并且实现起来更复杂,需要处理网络请求和API响应。
增加更多互动
- @指定用户:修改命令为
/测颜值 @某人,机器人会分析被@的用户。 - 连续测颜值:如果同一个用户短时间内多次触发,可以给出一些有趣的“警告”,“别测了,再测你就飘了!”
- 排行榜功能:记录每个用户的颜值分数,定期生成一个“颜值排行榜”。
增加更多元素
- 生成“颜值证书”:使用PIL库或在线API,将生成的分数和评语制作成一张精美的图片(证书)发送给用户,仪式感满满!
- 增加“运势”或“人品”测试:可以扩展功能,
/测人品,同样使用随机结果库。 - 角色扮演:让机器人扮演一个“算命大师”或“AI鉴定师”的角色,用更夸张的语气来回复。
注意事项
- 娱乐为主:一定要明确告知用户,这只是一个娱乐功能,结果完全随机,切勿当真,以免引起不必要的误会或伤害他人自尊。
- 尊重他人:避免在公共群聊中随意@他人进行测试,尤其是当结果可能带有“负面”评语时(即使是开玩笑),要尊重他人感受。
- 遵守规则:确保你的机器人不违反QQ的使用条款,不要发送违规内容。
希望这份详细的指南能帮助你成功搭建一个有趣的QQ颜值测试机器人!祝你玩得开心!

(图片来源网络,侵删)
标签: qq机器人精准颜值测试方法 qq机器人测颜值准确技巧 qq机器人高精度颜值分析
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。