首页 > 网名 正文
qq自动备注名字qq如何备注好友名字

时间:2023-05-18 作者:佚名

初识PyQQbot

QQBot 是一个用 python 实现的、基于腾讯 SmartQQ 协议的简单 QQ 机器人,可运行在 Linux 和 Windows 平台下,所有代码均集成在一个 [qqbot.py][code] 文件中,代码量仅 400 多行(不包括注释)。程序采用单线程的方式运行,且尽可能的减少了网络和登录错误(特别是所谓的 103 error )发生的概率。

PyQQbot的github项目地址为:

PyQQbot可以实现的功能:

1. 监控、收集QQ信息

2. 自动信息推送

3. 聊天机器人

4. 通过QQ远程控制电脑、智能家电

应用PyQQbot

1.安装

在 Python 2.7 下使用,用 pip 安装,安装命令:

$ pip install qqbot

验证是否安装成功,打开命令行输入qqbot -h

2.启动QQbot

在命令行输入: qqbot 。启动过程中会自动弹出二维码图片,需要用手机 QQ 客户端扫码并授权登录。

启动成功后,会将本次登录信息保存到本地文件中,下次启动时,可以输入:

qqbot -q qq号码

先尝试从本地文件中恢复登录信息(不需要手动扫码),只有恢复不成功或登录信息已过期时才会需要手动扫码登录。一般来说,保存的登录信息将在 2 ~ 3 天之后过期。

3.操作QQBot

找到.qqbot-tmp下的v2.0.conf文件,修改这个配置文件。

配置用户信息,如此我们可以使用命令:qqbot -u somebody,他直接调用的就是用户somebody的配置。如此,可以实现自动登录。

大家可以自己增加自己的用户配置信息

QQBot 启动后,会自动弹出一个控制台窗口( qterm 客户端)用来输入操作 QQBot 的命令,目前提供以下命令:

1) 帮助

help

2) 列出所有 好友/群/讨论组

list buddy|group|discuss

3) 向 好友/群/讨论组 发送消息

send buddy|group|discuss x|uin=x|qq=x|name=x|nick=x|mark=x message

4) 获取 好友/群/讨论组 的信息

get buddy|group|discuss x|uin=x|qq=x|name=x|nick=x|mark=x

5) 获取 群/讨论组 的成员

member group|discuss x|uin=x|qq=x|name=x|mark=x

6) 停止 QQBot

stop

7) 退出QQbot shell

quit

在 send/get/member 命令中,第三个参数可以是 好友/群/讨论组 的 名称/昵称/备注名/qq/uin 。

注意:如果系统中没有图形界面,则不会自动弹出控制台窗口,需要手动在另外的控制台中输入 “qterm [port]” 命令来打开 qterm 客户端。

QQBot 启动后,用另外一个 QQ 向本 QQ 发送 “qqbot --version” ,则 QQBot 会自动回复: “QQBo” 。(注:2.0.3之前的版本中,通过 QQ 消息发送以上 6 个命令也可以操作 QQBot , 2.0.4 版之后,为安全起见,去掉此功能,只保留一个 “qqbot --version” 的命令用来远程测试 QQBot 是否正常运行)。

私人订制QQ机器人

实现自己的 QQ 机器人非常简单,只需要生成一个 QQBot 对象并为其注册一个消息响应函数。

以上代码运行后,用另外一个 QQ 向本 QQ 发送消息 “-hello”,则会自动回复 “你好,我是 QQ 机器人”,发送消息 “-stop” 则会关闭 QQ 机器人,发送信息”你好”,也会回复“你好,我是QQ机器人”。

QQBot 对象收到一条 QQ 消息时,会新建一个 QQmessage 对象,之后将这个 QQMessage 对象以及自身传递给消息响应函数。

消息响应函数中的第一个参数为传递来的 QQBot 对象,也就是 myqqbot ,第二个参数是传递来的 QQMessage 对象,该对象主要有以下四个属性:

l me : QContact对象,消息发送者

l me : str 对象,消息发送成员的 uin,仅在该消息为 群/讨论组 消息时有效

l me : str 对象,消息发送成员的昵称,仅在该消息为 群/讨论组 消息时有效

l me : str 对象,消息内容

QQMessage 对象还提供一个 Reply 接口,可以给消息发送者回复消息,如:

me('你好,我是QQ机器人') # 相当于 bot.SendTo(me, '你好,我是QQ机器人')

me 是一个 QContact 对象,该对象有以下属性:

l con : str 对象,联系人类型,可以为 'buddy', 'group', 'discuss' ,代表 好友/群/讨论组

l con : str 对象,联系人的 uin ,底层发消息要使用本数值,每次登录本数值可能会改变

l con : str 对象,联系人的 qq

l con : str 对象,联系人的名称

l con : str 对象,好友的昵称

l con : str 对象,好友或群的备注名

l con : dict 对象,群或讨论组的成员字典

还提供一个 GetMemberName 接口,可以通过成员的 uin 查询成员的网名:

con(memberUin) --> memberName, str object

QQbot对象的接口

QQBot 对象调用其 Login 方法登录成功后,提供 List/Get/SendTo/Send/On 五个接口,一般来说,只需要调用这五个接口就可以了,不必关心 QQBot 的内部细节。

(1) bot.List(ctype) --> [contact0, contact1, ..., ]

对应上面的 list 命令,示例:

>>> bot.List('buddy')

>>> bot.List('group')

>>> bot.List('discuss')

...

返回一个联系人对象(QContact对象)列表。

(2) bot.Get(ctype, *args, **kwargs) --> [contact0, contact1, ..., ]

对应上面的 get 命令,示例:

>>> bot.Get('buddy', 'jack')

>>> bot.Get('group', '1234556')

>>> bot.Get('buddy', 'qq=1235778')

>>> bot.Get('buddy', uin='1234768')

>>> bot.Get('discuss', name='disc-name')

>>> bot.Get('buddy', mark='jack')

第二个参数可以为联系人的 名称/昵称/备注名/qq/uin ,注意,这里返回的是一个 QContact 对象的列表,而不是返回一个 QContact 对象。

(3) bot.SendTo(contact, content) --> '向 xx 发消息成功'

向联系人发送消息。第一个参数为 QContact 对象,一般通过 Get 接口得到,第二个参数为消息内容。

(4) bot.Send(ctype, *args, **kwargs) --> ['向 xx 发消息成功', '向 xx 发消息成功...', ..., ]

对应上面的 send 命令,示例:

>>> bot.Send('buddy', 'jack', 'hello')

>>> bot.Send('group', '1234556', 'hello')

>>> bot.Send('buddy', 'qq=1235778', 'hello')

>>> bot.Send('buddy', uin='1234768', content='hello')

>>> bot.Send('discuss', name='disc-name', content='hello')

Send 接口的第一、二个参数和 Get 接口的一样,第三个参数为消息内容。上面的第一条语句相当于:

result = []

for contact in bot.Get('buddy', 'jack'):

re(contact, 'hello'))

return result

(5) bot.On(mtype, callback) --> callback

注册消息响应函数。第一个参数 mtype 为需要响应的消息的类型,一般来说,只需要响应 QQ 消息和 qterm 客户端消息, mtype 分别为 'qqmessage' 和 'termmessage' 。第二个参数 callback 为消息响应函数。

当 QQBot 收到这两种消息时,会新建一个 QQMessage 对象或 TermMessage 对象,连同 QQBot 对象本身一起传递给 callback 。这两种消息对象都有 content 属性和 Reply 接口,content 代表消息内容, Reply 接口可以向消息的发送者回复消息,对于 TermMessage 对象,消息发送者就是 qterm 客户端,注意,对于所有 TermMessage ,都必须调用一次 Reply ,否则 qterm 客户端会一直等待此回复消息。

图灵机器人

中文语境下智能度最高的机器人大脑图灵机器人

接下来解释大家自由发挥的时间了

在页面的最下面有个api接入,这是我们需要用到的内容。我们要使用这个api,来智能化我们之前私人订制的qq聊天机器人。

Python代码如下所示

请求方式

(1)接口地址

openapi/api

(2)请求方式

HTTP POST

(3)请求参数

请求参数格式为 json

参数是否必须长度示例说明
key必须321ca8089********736b8ce41591426(32 位)注册之后在机器人接入页面获得
Info必须1-30打招呼“你好”查天气“北京今天天气”请求内容,编码方式为utf-8
Userid上下文必须1-32bc123(支持 0-9,a-z,A-Z组合,不能包含特殊字符)开发者给自己的用户分配的唯一标志(对应自己的每一个用户)
Loc非必须1-30北京市中关村位置信息,请求跟地理位置相关的内容时使用,编码方式 UTF-8

返回数据格式

Code说明
100000文本类
200000链接类
302000新闻类

(1)文本类

字段

说明

Code

文本类表示码

Text

结果

(2)链接类

字段说明
Code文本类表示码
Text提示语
url链接地址

(3)新闻类

字段说明
Code文本类表示码
Text提示语
List信息列表
List>article列表中具体数据的新闻标题
List>source列表中具体数据的新闻来源
List>icon列表中具体数据的新闻图片
List>detailurl列表中具体数据的新闻详情链接

详细内容可以参考:doc/download/API-Guide

本文信息为网友自行发布旨在分享与大家阅读学习,文中的观点和立场与本站无关,如对文中内容有异议请联系处理。

本文链接:https://www.paituo.cc/wangming/984021.html

  • 相关阅读

    〈qq不给我备注名字〉qq备注不了好友名字怎么回事

    qq不给我备注名字,qq备注不了好友名字怎么回事,手机qq不显示备注名字相关介绍,“上级下达了几个扶持政策, 你明天有时间吗? 过来我办公室坐一下。” 给“领导”帮忙竟被骗 11月23日10时许 黄岛公安分局泊里派出所 接到辖区某村委工作人员常先生报案 称被人冒用“领导”的名义添加

    qq备注好友名字大全、qq如何备注好友名字

    qq备注好友名字大全,qq如何备注好友名字,qq备注不了好友名字怎么回事相关介绍,茶我给所有列表的人备注都是真实名字,包括我的家人。回复 ⋅ 2条回复41 是前闺蜜是吴亦凡的粉丝,于是在她威逼利诱下,我把她的备注改成了吴亦凡老婆回复 ⋅ 1条回复30 用我老公给我备注:胖-huhu

    “qq名字备注怎么发“qq如何备注好友名字

    qq名字备注怎么发,qq如何备注好友名字,qq备注怎么改名字相关介绍,男友给你这3种“QQ备注”?摆明是个直男,真的是可气又好笑! 现在很多女生对于自己的感情都是有些非常美好的规划,尤其是想要找到一个长相非常帅气并且对自己又好的男生。所以在平时大部分的女生对于一些直男都

    qq备注好友名字大全、qq备注不了好友名字怎么回事

    qq备注好友名字大全,qq备注不了好友名字怎么回事,qq如何备注好友名字相关介绍,工具:手机、QQ 1.首先,我们登陆我们自己的qq,在手机上登陆以后,我们点击上面的联系人的这个按钮;如下图: 2.单击选择联系人后,我们需要单击选择群聊这个按钮;如下图: 3.找到需要去修改个备注的

    〔qq给别人备注名字〕qq备注不了好友名字怎么回事…

    qq给别人备注名字,qq备注不了好友名字怎么回事,qq给别人备注名字好听相关介绍,1.宝宝 其实对于女生来说,是很喜欢这个称呼的, 所以呢如果自己的男票这样称呼自己女孩子都是很开心的,但是呢女生也可以这样称呼自己的男票哦,虽然是男孩子,在外面展现的都是坚强的一面,但其实,男孩子有的

    怎么在备注qq名字、qq如何备注好友名字…

    怎么在备注qq名字,qq如何备注好友名字,qq怎么给备注名字相关介绍,最近,微信已经上线了备注群聊名称功能。用户可通过群聊设置的“备注”功能修改,“备注后的群聊名称仅自己可见”。 修改后,群聊备注名称将会替代原有的群聊名称在消息列表显示。在群聊界面中,原群聊名称则会以较

    qq备注名字前缀qq如何备注好友名字…

    qq备注名字前缀,qq如何备注好友名字,qq分组备注前缀相关介绍,这个就很简单啦~ 你只要复制以下这个图案 然后跟他说“这是一个很神奇图片,不同手机显示不一样” 他就会带着好奇心,截图给你看并问你是啥? 学到了吗? 学到了点个赞或者关注再走呗 谢谢!

    『QQ备注的名字会变红』qq如何备注好友名字…

    QQ备注的名字会变红,qq如何备注好友名字,qq备注名字变成红色了相关介绍,【注意!行程卡“沈阳市”的颜色又变了!到底咋回事?】中高风险区域地市名称行程卡不再标红 沈阳的亲们还记得不?前一阵自己的通信行程卡里沈阳市变红了!今天不少小伙伴们发现行程卡里的沈阳市颜色又变成黑色了!