Python 微信机器人:itchat库识别消息来源于群聊还是个人

简介: Python 微信机器人:itchat库识别消息来源于群聊还是个人

实现原理:

我们把群里收到的消息和个人接收到的消息都打印出来发现群里的消息会多个 ActualNickName 字段,所以我们直接检测有没有这个字段就好了。

我还选择了触发条件,就是如果谁@我了 ,我才回复。

def tuling_reply(msg):
  # print(msg)
  # 判断消息来源是群里还是个人
  if 'ActualNickName' in msg:
    # 判断是否有人@我
    if msg['isAt']:
      reply=get_response(msg['Text'])
    else:
      # 如果没有人@我,就返回空
      reply=""
  else:   
    reply=get_response(msg['Text'])
  return reply

如果我想选择群聊触发条件可以这么做,如果想找自己聊天,每次都@会很麻烦,因为会自动弹出东西,我们可以来自己定义。

比如当消息里包含#号,#号很少有人用,我就回复。

re.sub('#','',msg['Text'])

这句话可以去掉消息里的#号,提取出内容,提前是要导入 re 库哦!

import re
def tuling_reply(msg):
  # print(msg)
  # 判断消息来源是群里还是个人
  if 'ActualNickName' in msg:
    # 判断是否包含#号
    if '#' in msg['Text']:
      reply=get_response(re.sub('#','',msg['Text']))# 去掉#号
    else:
      # 如果没有人@我,就返回空
      reply=""
  else:   
    reply=get_response(msg['Text'])
  return reply

如果只想接受指定群的聊天可以用这个判断:

msg.User["NickName"]=='群名字'

:消息开头包括空格没关系,图灵机器人会自动过滤掉前面的空格!

喜欢的点个赞❤吧!


目录
相关文章
|
1天前
|
数据可视化 数据挖掘 数据处理
statsmodels, Python 统计分析工具库!
statsmodels, Python 统计分析工具库!
7 1
|
1天前
|
机器学习/深度学习 数据挖掘 API
pymc,一个灵活的的 Python 概率编程库!
pymc,一个灵活的的 Python 概率编程库!
4 1
|
1天前
|
关系型数据库 数据库连接 数据库
asqlcell,一个超强的 Python 库!
asqlcell,一个超强的 Python 库!
14 7
|
1天前
|
开发者 Python
six,一个神奇的 Python 版本兼容工具库!
six,一个神奇的 Python 版本兼容工具库!
11 4
|
1天前
|
自然语言处理 算法 Python
lida,一个超级厉害的 Python 库!
lida,一个超级厉害的 Python 库!
12 3
|
1天前
|
数据处理 API Python
aiofiles,一个超酷的 Python 异步编程库!
aiofiles,一个超酷的 Python 异步编程库!
9 1
|
1天前
|
人工智能 算法 调度
uvloop,一个强大的 Python 异步IO编程库!
uvloop,一个强大的 Python 异步IO编程库!
10 2
|
1天前
|
人工智能 API 数据安全/隐私保护
oauthlib,一个强大的 Python 身份校验库!
oauthlib,一个强大的 Python 身份校验库!
9 1
|
2天前
|
机器学习/深度学习 存储 监控
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
10 0
|
2天前
|
API 调度 开发者
Python中的并发编程:使用asyncio库实现异步IO
传统的Python编程模式中,使用多线程或多进程实现并发操作可能存在性能瓶颈和复杂性问题。而随着Python 3.5引入的asyncio库,开发者可以利用异步IO来更高效地处理并发任务。本文将介绍如何利用asyncio库实现异步IO,提升Python程序的并发性能。

热门文章

最新文章