termux实现自动刷QQ福气袋

最近QQ开启了个玩游戏送福气袋活动

游戏规则,游戏时间大于5s,积分不为0,则有几率获得红包。每个人可以领120。我在想一个人实现的话得玩多久,太浪费时间了,作为自动化的先驱(码农),就想到用代码来实现这一流程。

环境和工具:

termux(python3、Pillow)
请添加图片描述

windows macOS 实现看这里
git源码直通(两个版本都有)

部分代码

注释较全,有问题可以留言
#!/data/data/com.termux/files/usr/bin/python
# coding:utf-8
"""
   2019年1月28日 刷QQ 福气袋活动脚本
   LYM
   
   程序思路:游戏规则,游戏时间大于5s,积分不为0,则有几率获得红包。
        据此,天降福运活动。分别点击底部三个按钮,等等游戏结束即可。
   其中,代码中出现的数据均以 屏幕为20*1440的手机为例
"""
from PIL import Image
import sys
import time
import subprocess

#封装subprocess.call, AOP思想,为满足不同使用者的需求
def shell(str):
    subprocess.call(str ,shell=True)

#传入坐标x,y,在屏幕的位置,单位为百分比   
def click(x, y):
    x = round(x * width)
    y = round(y * height)
    shell("input tap " + str(x) +" " + str(y))
    
#获取手机屏幕分辨率
shell("/system/bin/screencap -p /sdcard/screen.png")
img = Image.open("/sdcard/screen.png")
width = img.width           #宽
height = img.height         #高
shell("rm -rf /sdcard/screen.png")

blessingCount = 0 #记录已经领了多少次福气袋,QQ这次活动120次封顶,到了120 就不用继续运行了
'''
手动打开活动界面,若想实现自动化,参考以下两行
(am start -n com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity
点击福字)

等待5s,点击天降福运
等待5s,点击开始游戏
等待1s,依次点击下面三个按钮
等待12s,游戏结束
if 出现福气袋
    点击分享福袋
    等待2s,选择分享给谁(点击最近的第一个联系人或群聊)
    等待2s,点击发送福气袋
    等待2s,点击开启福气袋
    等待2s,点击去获取福袋 --> line 39
else 
    点击再来一局 --> line 41
'''

#打开活动页面
#手动打开,代码略...



#等待5s,点击天降福运
def click_tjfy():
    time.sleep(5)
    #坐标在(0.9,0.736)* 分辨率处
    click(0.9, 0.736)

#等待5s,点击开始游戏    
def click_start():
    time.sleep(5)
    click(0.5, 0.88)

#等待1s,依次点击下面三个按钮    
def click_bottom3():
    time.sleep(1)
    click(0.16, 0.94)
    time.sleep(1)
    click(0.5, 0.94)
    time.sleep(1)
    click(0.83, 0.94)
    
#等待12s,游戏结束
def wait_to_end():
    time.sleep(12)

#判断是否出现福气袋:经观察对比,如果出现福气袋,左上角像素只可能为(47,5,6)或(50,8,9)。   
def has_blessing():
    shell("/system/bin/screencap -p /sdcard/screen.png")
    img = Image.open("/sdcard/screen.png")

    for i in range(50,100):
        for j in range(50,100):
            totalColor = img.getpixel((i,j))[0] + img.getpixel((i,j))[1] + img.getpixel((i,j))[2] #如(251, 188, 86, 255),前三个分别为r,g,b
            if totalColor > 80:
                return False
    return True

#点击分享福袋
def click_share():
    click(0.5, 0.7)

#等待2s,点击最近的第一个联系人或群聊
def select_who_to_share():
    time.sleep(2)
    click(0.5, 0.43)     #最近的第一个
    #click(0.5, 0.5)    #最近的第二个
    
#等待2s,点击发送福气袋
def send_blessing():
    time.sleep(2)
    click(0.7, 0.78)
    
#等待2s,点击开启福气袋
def open_blessing():
    time.sleep(2)
    click(0.55, 0.74)
    
#等待2s,点击去获取福袋
def go_to_get_blessing():
    time.sleep(2)
    click(0.7, 0.8) 
    
#点击再来一局     
def click_restart():
    click(0.5, 0.72)


    
if __name__=="__main__":
    #等待5s,点击天降福运
    click_tjfy()
   
    #等待5s,点击开始游戏    
    click_start()

    while(True):
        #等待1s,依次点击下面三个按钮    
        click_bottom3()
        
        #等待12s,游戏结束
        wait_to_end()

        #判断是否出现福气袋:经观察对比,如果出现福气袋,左上角像素只可能为(47,5,6)或(50,8,9)。   
        if has_blessing():
        
            #点击分享福袋
            click_share()

            #等待2s,点击最近的第一个联系人或群聊
            select_who_to_share()
       
            #等待2s,点击发送福气袋
            send_blessing()
        
            #等待2s,点击开启福气袋
            open_blessing()
            blessingCount = blessingCount + 1
            if blessingCount > 120:
                shell("rm -rf /sdcard/screen.png")#删掉截图,释放占用的空间
                sys.exit()
       
            #等待2s,点击去获取福袋
            go_to_get_blessing()
            
            #等待5s,点击天降福运
            click_tjfy()
   
            #等待5s,点击开始游戏    
            click_start()
            
        else:
            #点击再来一局     
            click_restart()
    


  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用Python实现自动抖音,你需要先准备好一些工具和环境。首先,你需要安装Python 3.7.7,并且安装adb(Android Debug Bridge)和uiautomatorviewer。可以通过访问官方网站https://developer.android.google.***www.cnblogs.com/corsacsherry/p/10609339.html 的指导安装uiautomatorviewer。接下来,将手机通过USB连接到电脑上,并在手机上开启开发者选项和USB调试。在电脑上运行adb devices -l命令来查看已连接的设备。打开UIAutomatorViewer连接手机即可。然后,使用pip工具安装uiautomator2库,命令为pip install --pre -U uiautomator2。接着,给设备安装atx-agent,命令为python -m uiautomator2 init。确保设备已打开并允许安装uiautomator.apk。接下来,可以编写主程序来实现自动抖音。可以使用不同的定位方式来定位抖音的位置,比如通过text、resourceid、classname或description。然后,使用uiautomator2库中的方法来实现滑动视频等操作。最后,通过点击运行即可开始自动抖音的过程。 总结来说,要使用Python实现自动抖音,你需要安装Python和相关工具,连接手机到电脑上,并编写脚本来控制手机进行相关操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python+uiautomator2实现自动抖音视频](https://blog.csdn.net/qq_33235529/article/details/116228152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Python骚操作—自动抖音](https://blog.csdn.net/wade1203/article/details/105108614)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值