YiriAir

基于安卓模拟器和 UI 控件搜索的 QQ 消息自动收发框架。


Keywords
airtest, poco, qqbot
License
xpp
Install
pip install YiriAir==0.0.4

Documentation

YiriAir

YiriAir是一款基于安卓模拟器Airtest(Poco)的QQ消息自动收发框架。 在目前第三方协议基本不可用的状况下,这是较为可行的替代方案之一。


安装

本项目已在 PyPI 上发布:

pip install YiriAir

使用

YiriAir需要在安卓模拟器上运行QQ极速版,经个人测试,表现较好的模拟器是逍遥模拟器。(如果有闲置的安卓手机,也可以用真机代替模拟器。)

使用的模拟器或真机需要打开USB调试。在模拟器上运行QQ极速版之后,需要在运行框架之前提前登录QQ账号,确保每次开启应用时都是已登录状态。此外,还需要在设置中打开回车键发送消息,并且需要保证QQ每次启动后消息列表非空(可能会在之后的版本中优化)

将本项目的代码置于您的工程目录的子目录下,就可以在Python中引用本项目。

以下是使用样例:

from YiriAir import YiriAir, Devices

if __name__ == '__main__':
    yiri = YiriAir(Devices.XIAO_YAO) # 使用逍遥模拟器

    print('初始化完成。')

    @yiri.on_message()
    def on_message(msg, title): # msg是消息内容,title是当前对话的名称
        print('>>> ' + msg)
        if msg == '你好!':
            yiri.send_message('Hello World!')
            
    yiri.run()

YiriAir是框架的主要类,有一个初始化参数device,这个参数表示要连接的模拟器的地址(关于地址的格式,参看这里),在Devices中有一些可用的常量定义。

YiriAir.on_message是一个装饰器,可以注册处理消息的函数。

YiriAir.send_message是发送消息的方法。由于技术限制,目前仅支持向当前对话发送消息。

YiriAir.run是主循环,无限循环处理消息,必须在最后调用。


开源许可证

Airtest 版权归网易有限公司所有,本项目其他代码遵守:

GNU AFFERO GENERAL PUBLIC LICENSE version 3

其中部分要求:

  • (见 LICENSE 第 13 节) 尽管本许可协议有其他规定,但如果您修改本程序,则修改后的版本必须显着地为所有通过计算机网络与它进行远程交互的用户(如果您的版本支持这种交互)提供从网络服务器通过一些标准或惯用的软件复制方法免费访问相应的源代码的机会。
  • (见 LICENSE 第 4 节) 您可以免费或收费地传递这个项目的源代码或目标代码(即编译结果),但前提是提供明显的版权声明(您需要标注本 GitHub 项目地址)。

支持

本项目仍在开发阶段。如有问题,欢迎提出Issue