跳转到内容

MIRC 脚本/进阶/文本匹配

来自维基教科书,自由的教科书

on TEXT

当您收到私人和/或频道消息时,on TEXT 事件会触发。

格式

on <level>:TEXT:<matchtext>:<*><?><#[,#]>:<commands>

示例

on 1:TEXT:*help*:#mirc,#irchelp:/msg $nick what is the problem?

on ACTION 和 on NOTICE 事件使用与 on TEXT 完全相同的格式,分别在动作和通知事件时触发。

匹配文本可以是通配符字符串,其中

*        matches any text
&        matches any word
text     matches if text contains only this word
text*    matches if text starts with this word
*text    matches if text ends with this word
*text*   matches if text contains this word anywhere

匹配文本也可以是正则表达式。请参见访问级别中的 $ 前缀部分。

可以使用以下方法指定此事件发生的 location:

?        for any private message
#        for any channel message
#mirc    for any messages on channel #mirc
*        for any private or channel messages

示例

on 1:TEXT:hello*:#:/msg $chan Welcome to $chan $nick!

这会在任何频道监听以 hello 开头的任何行,并欢迎在频道中说它的人。

on 1:TEXT:*cookie*:#food:/describe $chan gives $nick a cookie :)

这会在 #food 频道监听包含 cookie 的任何消息,并给发送它的人一个 cookie。

on 1:ACTION:moo:#:/msg $chan Aha, I see we have a cow among us.

这会在任何频道监听包含 moo 的动作,并相应地做出反应。

on 1:NOTICE:*:?:/msg $nick I am AFK, back in a moment!

这监听任何私人的通知,并用您离开键盘的消息进行回复。

为了获得更大的灵活性,您也可以使用变量代替 matchtext 和 channel 参数。

on 1:TEXT:%matchtext:%channel:/msg $nick You just said $1- on channel %channel

%matchtext 的值将与用户发送的任何文本匹配,%channel 的值将与发送消息的频道匹配。

注意:您不能通过对自己输入文本来测试这些事件。它们只能由其他人对频道或私信中说的话来触发。

华夏公益教科书