2016-07-27 153 views
0

在我的MIRC腳本中,它被設置爲讀取一個文本文件,在這些文本文件中有符號「|」,後面跟着一個空格,似乎讀取「|」之前的所有內容都很好,但切割它在第一個空間右邊。任何幫助表示讚賞。MIRC,讀取文本文件時忽略「|」?

我使用

msg $nick $read(test.txt, n, 1) 

閱讀文本文件。

編輯::我試過所有開關導致同樣的事情。

編輯::這也告訴我在服務器窗口中的「未知命令」

編輯::做一個新的引擎收錄上傳腳本之後,它似乎仍然得到這個問題?這將完全只是切斷文本後剩下一個「&」或「|」

+0

這對我來說很好,試試看看你是否真的有'一些其他文字「在實際文件上。 –

+0

好吧,同一行內有多個「|」,來自文本文件的示例。 'abcd:26/07/2016 :: efgh :: ijklmn | opqrst | uvwxyz 2382' – skdfsfwse

+0

你確定你沒有使用'(test.txt,np,1)'嗎? –

回答

0

症狀是匹配到$read評價一個命令,結果將採取分離的命令集的場景被執行。

這可能是由於別名或事件。

嘗試第一/播放命令,這將來自第三行播放的文件,看它是否表現爲我們期望它是或不是每一行作爲一組命令的線,通過/分離
然後執行第二個/play命令查看應該如何發送到服務器。

這是設計來查看問題所在。

/play -axl3 echo test.txt
/play -exl3 test.txt

輸出應該是相同的,因爲我們用的線指望它顯示包括|

這將確保問題歸咎於其他損壞的別名或事件。

我們將執行以下操作,並且在每一步之後,您將測試您的代碼以查看它是否已解決。

  1. 測試,看看它的一個alias命名爲msg傷害了你,你的腳本命令轉換爲/!msg $nick$read(test.txt, n, 1)
  2. 通過禁用它們來檢查危險事件,如臭名昭着的INPUT或上升的盜匪PARSELINE
    如果問題解決,然後逐一返回事件找到有問題的事件並修復它。
+0

我目前在這裏使用這個腳本,它與parseline一起玩,我需要這個腳本才能讓我的整個IRC bot發揮作用。 HTTP://引擎收錄。com/8x0E0sAv – skdfsfwse

+0

請閱讀完整的答案,並告訴我問題到底在哪裏。 –

+0

我在劇本中沒有別名,戲劇給出了正確的輸出,我已經測試過除了我上面發佈的腳本之外沒有其他事件...我不理解你還想要我做什麼? – skdfsfwse

0

由於缺乏一個答覆/答案,我無法去解決它,我以

play -xl# $nick test.txt 

而不是

msg $nick $read(test.txt, n, 1) 
0

提出針對此問題的臨時修復我有幾乎相同的問題,並能解決它,使用相同的解決方案,試試這個:

您以前的腳本是:msg $nick $read(test.txt, n, 1) 現在去掉「味精$缺口」,並補充說,以區分帶有「味精$尼克空間中的文件──test.txt文件的每一行與行的其餘部分,即開頭:msg $nick Hey I see you are back | msg $nick Missed You!

然後你的腳本成爲:$read(test.txt, p)

^^希望是有道理的,但我發現原來的問題是雙重評估,因此,有時你會看到錯誤:未知的命令或沿着這些線的東西。