Python TIM自动发送消息脚本

0x01 思路

思路是这样的

从message.txt里获取消息内容,从people.txt里获取发送对象的列表

通过win32gui库的函数来获得窗口句柄,使窗口最大化,以便确定搜索框的位置,然后模拟键鼠操作打开与目标的会话,通过剪贴板粘贴消息内容,模拟键鼠操作再发送出去

0x02 获取消息内容

# 从message.txt里获取消息内容
def message_get():
    with open('./message.txt', encoding='UTF-8') as f1:
        message = f1.readlines()
        for msg in message:
            return msg


# 从people.txt里获取发送对象列表
def people_get():
    with open('./people.txt', encoding='UTF-8') as f2:
        people = f2.readlines()
        return people

0x03 剪贴板操作

其实用模拟键鼠操作慢慢复制也可以,但效率非常低,看了几篇文章感觉还是放进剪贴板后发消息模拟键盘Ctrl+V效率高一点

def copy(text):
    # 打开剪贴板
    clip.OpenClipboard()
    # 清空剪贴板
    clip.EmptyClipboard()
    # 设置剪贴板内容
    clip.SetClipboardData(win32con.CF_UNICODETEXT, text)
    # 关闭剪贴板
    clip.CloseClipboard()

0x04 发送消息

这里是通过窗口标题获取窗口句柄,然后激活打开窗口以及让窗口最大化

窗口最大化后好友的搜索框位置是固定的,消息内容框也大致在那个区域

def TIM_send(title, p, num):
    try:
        # 通过窗口标题获取窗口句柄
        handle = win32gui.FindWindow(None, title.strip('\n'))
        # print("窗口句柄是:{}".format(handle))
        # 激活打开窗口
        win32gui.SetForegroundWindow(handle)
        # 窗口最大化
        win32gui.ShowWindow(handle, win32con.SW_MAXIMIZE)
    except Exception as e:
        print("窗口句柄获取失败:{}".format(e))

接下来是打开与好友的会话

鼠标移到搜索框->点击一下->Ctrl+V->enter->成功打开与好友的会话

记得中间需要time.sleep(),秒数看心情(事实上看网速,等整个窗口打开在进行操作,不然消息发到别的地方容易社死)

def TIM_send(title, p, num):
    
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值