做一個(gè)能自動(dòng)聊天的腳本(源碼分享)

大家好攻谁,我是公號(hào)3分鐘學(xué)堂的郭立員酌儒!今天帶來的是:做一個(gè)能自動(dòng)聊天的腳本(源碼分享)

關(guān)于這個(gè)問題呢,問的人多了寫篇文章吧勺疼!

不啰嗦直接看需求啊:

就像這樣 回復(fù)三句話

這個(gè)腳本要實(shí)現(xiàn)的功能就是回復(fù)3句話,每一句根據(jù)對(duì)方的內(nèi)容進(jìn)行回復(fù),讓聊天的人覺得在和“真人”說話榴啸。

要制作這類型的腳本我們要解決幾個(gè)問題:

怎么精準(zhǔn)的識(shí)別對(duì)方輸入的內(nèi)容。

如何匹配預(yù)先準(zhǔn)備好的話術(shù)庫(kù)轨淌,實(shí)現(xiàn)準(zhǔn)確回復(fù)迂烁。

匹配話術(shù)中,關(guān)鍵詞的優(yōu)先級(jí)和不同語(yǔ)境的判斷(這一點(diǎn)難度大递鹉,可以不用考慮)

先來看看我做的效果吧:

文章最底部有源碼

代碼主要分成了兩大塊:內(nèi)容識(shí)別和匹配話術(shù)

1.內(nèi)容識(shí)別主要是通過獲取xml碼盟步,然后提取里面說的內(nèi)容,這里我用的是截取法躏结,在我基礎(chǔ)教程第22課已經(jīng)講過了址芯,不會(huì)的朋友可以去看一下。提取之后要判斷話術(shù)是不是對(duì)方說的窜觉,判斷的依據(jù)是話術(shù)在不在聊天窗口的左邊。

2.匹配話術(shù)我用的是查找文本功能北专。

上圖是我做的話術(shù)庫(kù)禀挫,每一行由兩部分組成:關(guān)鍵詞---回復(fù)的內(nèi)容

通過判斷對(duì)方說的話中是不是包含話術(shù)庫(kù)中的關(guān)鍵詞,如果包含那么就回復(fù)對(duì)應(yīng)的內(nèi)容拓颓。

比如例子中语婴,對(duì)方說:干啥呢,我的話術(shù)庫(kù)中有“干啥”這個(gè)關(guān)鍵詞驶睦,那么對(duì)方說的話中包含了我這個(gè)關(guān)鍵詞砰左,那么就回復(fù)對(duì)應(yīng)的話術(shù):“能聊污污的那種嗎?”

這個(gè)話術(shù)庫(kù)理論上是可以做無數(shù)條話術(shù)的场航,但是實(shí)際當(dāng)中是做不到缠导,因?yàn)闀?huì)有互相干擾,還是拿我這個(gè)話術(shù)為例溉痢,第3句的關(guān)鍵詞是“好”僻造,這個(gè)關(guān)鍵詞如果對(duì)方回復(fù)的是你好,其實(shí)也是可以匹配成功的孩饼,這里我為了避免這個(gè)問題髓削,我把“你好”放到第一位,優(yōu)先匹配镀娶,但是如果話術(shù)特別多立膛,就沒法通過簡(jiǎn)單的排序解決這個(gè)問題了。這種就需要根據(jù)不同語(yǔ)境梯码,做多套話術(shù)庫(kù)了宝泵。(想想都覺得麻煩!)

下面是重點(diǎn)了忍些,文章底部我會(huì)把源碼復(fù)制上來鲁猩,但是很多朋友就喜歡復(fù)制源碼直接用,完全不考慮兼不兼容的問題罢坝,那我這個(gè)代碼用的時(shí)候需要注意些什么呢廓握?

如果你的設(shè)備是雷電模擬器搅窿,分辨率480*800 dpi 160,app是QQ隙券,那么恭喜你男应,可以直接無腦復(fù)制使用了。

如果不是上面我說的情況娱仔,那就要注意了沐飘。

第一個(gè)要修改的地方:

上圖中是兩個(gè)非常重要的參數(shù),獲取方法如下

提取聊天窗口的xml牲迫,然后查找到對(duì)方說的文字耐朴,注意圖中標(biāo)藍(lán)的代碼,我們單獨(dú)提出來盹憎,然后簡(jiǎn)單分一下行筛峭。

找到resource-id后面的內(nèi)容com.tencent.mobileqq:id/chat_item_content_layout

這個(gè)就是第一個(gè)參數(shù),當(dāng)然不同app這個(gè)內(nèi)容是不一樣的陪每。

bounds后面有4個(gè)數(shù)字影晓,要第一個(gè)數(shù)字53,這個(gè)是第二個(gè)參數(shù)檩禾。

第二處要修改的是:

這兩個(gè)坐標(biāo)是為了激活輸入框和點(diǎn)擊發(fā)送按鈕的挂签,用的時(shí)候要根據(jù)自己的app,單獨(dú)用抓抓獲取對(duì)應(yīng)的坐標(biāo)盼产。

還有一些小細(xì)節(jié)要注意饵婆,我的話術(shù)庫(kù)是從第2行開始用的,因?yàn)榈谝恍杏形谋绢^戏售,默認(rèn)讀取會(huì)多一個(gè)問號(hào)啦辐,為了省事所以文字是從第2行開始,如果用我的代碼你也要把第一行空著蜈项。另外就是話術(shù)庫(kù)的路徑了芹关,我這里是雷電模擬器的共享路徑,你如果用在其他設(shè)備紧卒,改為對(duì)應(yīng)的路徑侥衬。

最后就是代碼了:

Import "shanhai.lua"

Dim hs=file.readlines("/sdcard/pictures/話術(shù)庫(kù).txt")

Do

dim m=識(shí)別內(nèi)容("com.tencent.mobileqq:id/chat_item_content_layout","53")

If Len(m) > 0 Then

For i = 1 To UBOUND(hs)

Dim x=split(hs(i),"---")

TracePrint x(0)

If InStr(1, m, x(0))>0 Then

TracePrint "我要回復(fù)的內(nèi)容是:"&x(1)

Delay 200

Tap 143, 739

Delay 300

InputText x(1)

Delay 200

Tap 450, 737

Exit for

End If

Next

Else

TracePrint "對(duì)方還沒有說話"

End If

Loop

Function 識(shí)別內(nèi)容(s,z)

Dim m=shanhai.getuixml()

Dim arr=split(m,s)

dim n=ubound(arr)

Dim x=utf8.InStrRev(arr(n-1),"text",-1)

Dim y=utf8.len(arr(n-1))

Dim k=utf8.mid(arr(n-1),x+6,y-x-20)

Dim d=utf8.InStrRev(m,k,-1)

Dim t=utf8.instr(d,m,"]")

If Len(k) > 0 Then

Dim a=utf8.mid(m,d+y-x-20,t-d)

If InStr(1, a, "["&z) > 0 Then

TracePrint "對(duì)方說的話是:"&k

識(shí)別內(nèi)容=k

Else

TracePrint "我說的話:"&k

識(shí)別內(nèi)容=""

End If

End If

End Function

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市跑芳,隨后出現(xiàn)的幾起案子轴总,更是在濱河造成了極大的恐慌,老刑警劉巖博个,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怀樟,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡盆佣,警方通過查閱死者的電腦和手機(jī)往堡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門械荷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人虑灰,你說我怎么就攤上這事吨瞎。” “怎么了穆咐?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵颤诀,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我对湃,道長(zhǎng)崖叫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任拍柒,我火速辦了婚禮归露,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘斤儿。我一直安慰自己,他們只是感情好恐锦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布往果。 她就那樣靜靜地躺著,像睡著了一般一铅。 火紅的嫁衣襯著肌膚如雪陕贮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天潘飘,我揣著相機(jī)與錄音肮之,去河邊找鬼。 笑死卜录,一個(gè)胖子當(dāng)著我的面吹牛戈擒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播艰毒,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼筐高,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了丑瞧?” 一聲冷哼從身側(cè)響起柑土,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎绊汹,沒想到半個(gè)月后稽屏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡西乖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年狐榔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了坛增。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡荒叼,死狀恐怖轿偎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情被廓,我是刑警寧澤坏晦,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站嫁乘,受9級(jí)特大地震影響昆婿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蜓斧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一仓蛆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧挎春,春花似錦看疙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至脚线,卻和暖如春搁胆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背邮绿。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工渠旁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人船逮。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓顾腊,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親挖胃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子投慈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容