利用Python實現q群消息轟炸機

首先說一下寫這個腳本的原因吧: 為了在q群中搶活動名額,不斷的往q群中發自己的名字。

腳本是用Python寫的,調用了pywin32模塊,"pywin32是一個python庫,為python提供了訪問Windows API的擴展,提供了齊全的windows常量、接口、線程以及COM機制等等。"

關於pywin32的安裝就不多說了,使用anaconda直接一條命令安裝,關於自動發消息的操作實際上分為四步:

  1. 將要發送的消息複製到粘貼板中
  2. 獲取要發送的窗口句柄
  3. 粘貼消息到窗口中
  4. 模擬按下Enter鍵的操作發送消息

在代碼中也寫了詳細的註釋,很好理解的。直接上代碼把。

import win32gui
import win32con
import win32clipboard as w
# 時間模塊
import time
import datetime

# 發送的消息
msg = "Fuck"
# 窗口名字
name = "你看我叼嗎"
# 間隔時間ms
interval = 100
# 發送次數
total_times = 100


if __name__=='__main__':
# 將測試消息複製到剪切板中
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT, msg)
w.CloseClipboard()

# 獲取窗口句柄
handle = win32gui.FindWindow(None, name)

# 每隔interval時間發送一次qq消息
pre_time = int(round(time.time() * 1000))
times = 0
while True:
if times >= total_times:
break
cur_time = int(round(time.time() * 1000))
if (cur_time - pre_time) >= interval:
# 複製粘貼板中的消息
win32gui.SendMessage(handle, 770, 0, 0)
# 模式按下Enter鍵發送消息
win32gui.SendMessage(handle, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
print("發送", msg, "成功")
pre_time = cur_time
times += 1

效果如下所示:


分享到:


相關文章: