MIRC,在读取文本文件时忽略“|”?
Posted
技术标签:
【中文标题】MIRC,在读取文本文件时忽略“|”?【英文标题】:MIRC, Ignoring " | " when reading a text file? 【发布时间】:2016-07-27 00:49:55 【问题描述】:在我的 MIRC 脚本中,它被设置为读取一个文本文件,在这些文本文件中有符号“|”后跟一个空格,似乎可以读取“|”之前的所有内容,但是在第一个空格处将其切断。任何帮助表示赞赏。
我正在使用
msg $nick $read(test.txt, n, 1)
读取文本文件。
编辑:: 我尝试了所有导致相同结果的开关。
编辑:: 它还在服务器窗口中告诉我“未知命令”
编辑:: 在制作了一个新的 pastebin 上传脚本后,它似乎仍然存在这个问题?它将完全切断“&”或“|”之后的其余文本
【问题讨论】:
对我来说效果很好,尝试检查实际文件中是否真的有some text | some other text
。
好吧,同一行中有多个“|”,这是文本文件中的示例。 abcd : 26/07/2016 ::efgh:: ijklmn | opqrst | uvwxyz 2382
你确定你没有使用(test.txt, np, 1)
吗?
@OrelEraki 是的...我确定。你能重现我的情况吗?让我更具体地说明返回给我的内容...abcd : 26/07/2016 ::efgh:: ijklmn | opqrst
在任意窗口写入://echo -ag $read(test.txt, n, 1)
,是否显示整行?
【参考方案1】:
症状与 $read
被评估为命令的场景匹配,结果将分隔符作为要执行的命令集。
这可能是由于别名或事件造成的。
尝试第一个 /play 命令,该命令将从第 3 行开始播放文件,以查看它的行为是否与我们预期的一样,或者将每一行作为一组命令,分开由 / 然后执行第二个 /play 命令来查看它应该如何发送到服务器。
这是为了找出问题所在。
/play -axl3 echo test.txt /play -exl3 test.txt
输出应该和我们预期的一样,显示的行包括 |。
这将确保问题归咎于其他损坏的别名或事件。
我们将执行以下操作,在每个步骤之后您将测试您的代码以查看它是否已解决。
-
通过将脚本命令转换为
/!msg $nick$read(test.txt, n, 1)
来测试一个名为 msg
的 alias
是否会伤害您。
通过禁用它们来检查危险事件,例如臭名昭著的 INPUT 或崛起的强盗 PARSELINE。如果问题已解决,则将事件一一返回找到有问题的事件并修复它。
【讨论】:
我目前在这里使用这个脚本,它使用解析线,我需要这个才能让我的整个 IRC 机器人运行。 pastebin.com/8x0E0sAv 请阅读完整的答案并告诉我问题出在哪里。 我的脚本中没有别名,play 给出了正确的输出,除了我在上面发布的那个脚本之外,我已经测试了它没有其他事件......我不明白你还想要什么我该怎么办? 好吧,在重读了很多次希望找到解决方案之后,我只能说当我使用你展示给我的两种方式玩时,它们都显示了正确的文字。 您想要捕捉private message
或describe
吗?如果是这样,您的事件应该是 :ACTION:
而不是 :TEXT:
。【参考方案2】:
由于缺乏响应/答案,我无法解决它,我已通过使用临时修复此问题
play -xl# $nick test.txt
而不是
msg $nick $read(test.txt, n, 1)
【讨论】:
【参考方案3】:我遇到了几乎相同的问题并且能够使用相同的解决方案解决它,试试这个:
您之前的脚本是:msg $nick $read(test.txt, n, 1)
现在删除 'msg $nick' 并将其添加到 text.txt 文件中每一行的开头,并在 'msg $nick' 和该行的其余部分之间留一个空格,即:msg $nick Hey I see you are back | msg $nick Missed You!
那么你的脚本就变成了:$read(test.txt, p)
^^ 希望这是有道理的,但我发现原来的问题是双重评估,因此为什么有时你会看到错误:未知命令或类似的东西。
【讨论】:
以上是关于MIRC,在读取文本文件时忽略“|”?的主要内容,如果未能解决你的问题,请参考以下文章