有時候讓了解放雙手,讓電腦來幫我們自動發一些我們想要發的訊息,挺省力的,比如說白天寫好了演講稿,晚上要在群里進行文字演講,那么我們就可以用腳本來實作自動復制、粘貼和發送文字的功能,從而解放我們自己,不用親自在電腦上反復干這個Ctrl C/Ctrl V這個累活兒,
還可以把定時多長時間后發送指定內容,這下子就不用坐在電腦前面到點了發彈幕了,

多長時間發1條訊息,又或者1秒發多少條資訊,都可自由設定,時間設得短的話,一秒發幾十條都沒問題,只是太快了會形成刷屏的效果…
今天就把這個技巧給大家分享一下,很簡單,沒有多少代碼,
一、效果
我們先來看一下效果,我這里設定的是4s后開始發送,間隔0.5s發一次,
用Python實作電腦自動發訊息,內容自定義,快慢均可
二、開發環境
- 系統:Windows10 64位
- Python版本:3.9
- Pycharm版本:2021.1.3
- 模塊(庫):os、time、pyautogui、pyperclip
三、關鍵步驟決議
實作的代碼檔案主要有兩個,目的分別是:獲取聊天視窗位置和實作自動發送訊息功能,用到的庫在上面已經提過了,在開始寫代碼之前,先把要用的庫先pip下載裝好,下面就不再說這個了,
1.獲取聊天視窗位置(原始碼1)
在我們發訊息之前,得需要知道聊天視窗的位置在哪,即滑鼠停留在哪里才能定位到聊天視窗的輸入界面,也就是滑鼠的x和y坐標是多少,
這里我用的是os、time和pyautogui這三個庫,獲取滑鼠的實時位置的:
try:
while True:
print("Press Ctrl-C to end")
x, y = pag.position() # 回傳滑鼠的坐標
posStr = "Position:" + str(x).rjust(4) + ',' + str(y).rjust(4)
print(posStr) # 列印坐標
time.sleep(0.2)
os.system('cls') # 清楚螢屏
except KeyboardInterrupt:
print('end....')
只要程式運行起來之后,每當我們移動滑鼠,滑鼠的x和y值就會自動發聲改變并列印出來,我們只需要把聊天視窗調出來,把滑鼠定位到聊天的視窗的輸入位置就能獲取到此時的x和y值,有了這個x和y值之后,我們才能告訴下面的發訊息程式要在哪里進行粘貼和推送,

當然了,獲取滑鼠位置的方式有很多種,你們也可以去嘗試一下其他方式的獲取,
2.實作自動發送訊息功能
在獲取了x和y的值之后,我們要做的當然是寫程式實作“復制文本→粘貼文本→發送訊息”,這里就需要用到 pyautogui 來控制鍵盤和滑鼠,用 pyperclip 來控制電腦進行復制和粘貼,以及用 time 這個庫進行一下時間的控制,
首先我們把需要發送的內容提前準備好,放在content里面,到時候直接拿來用就可以了,內容可以自定義修改,比如這樣的:
content = """
呼叫龍叔!
第二遍!
第三遍!
第四遍!
第五遍!
"""
我們在運行代碼之后需要切換到聊天界面,中間需要時間去手動做一下這個操作,所以在復制粘貼和發送代碼之前,我們需要留出一些時間給自己,我這里先設定了4s的時間延遲,當然也可以設定幾個小時之后開始發訊息,
time.sleep(4)
接下來就是怎么實作復制粘貼和發送了:
for line in list(content.split("\n"))*10:
if line:
pyautogui.click(669,687) #滑鼠點擊并定位到聊天視窗
pyperclip.copy(line) #復制該行
pyautogui.hotkey("ctrl","v") #粘貼,mac電腦則把ctrl換成command
pyautogui.typewrite("\n") #發送
time.sleep(5) #每次發完間隔5s
到了這里,所有的東西就已經完成了,如果覺得5s發送1條訊息太快,可以修改time.sleep(5)里面的5這個數值,比如說10s發一條訊息;如果你設定成0.01秒,那么就會是一個快速發訊息的刷屏效果了…
for回圈中的“*10”控制回圈次數,也就是讓它發10次文本的樣子,也可以設定不讓它回圈,把 list(content.split("\n"))*10 改成 content.split("\n") 即可,
大致的方法就是上面這些,需要原始碼可以私聊我,你們也可以去嘗試別的方式實作,說白了就是自動發訊息,實作方式有很多種,比如更高級一點的直接帶著xookie調api發送等等,以及按鍵精靈也是能實作這個功能,更多精彩,等你自己去挖掘了,
總結
這個腳本的本質是實作電腦自動發訊息,只是間隔時間的設定導致它也具備快速發訊息的功能,不僅僅是QQ,微信也是一樣能用,
基本的原理就是這樣了,你們還可以思考一下,如何在這個基礎上,讓程式在幾個小時之后啟動,間隔幾十分鐘發一次,徹底解放自己,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/294957.html
標籤:python
