"x" is but a dummy value for a global variable "%twitter.updated". The variable itself is a marker that you're now waiting for "line no. two". If this variable had been set, the script will echo the next line and thereafter unset the variable.
Anyway, here's another idea. It should work more robust (i.e. also for intersecting messages and for multiple channels / server connections).
; I guess you start with an on text event
; change the "#" if your current script is set to a specific channel.
on *:text:*:#: {
; set local variable "<connection ID><channelname><nick>" (repeated use below)
var %i = $cid $+ $chr(1) $+ $chan $+ $chr(1) $+ $nick
; no item "<connection ID><channelname><nick>" found in a "twitterupdates" hash table
if (!$hget(twitterupdates,%i)) {
; message starts with key term "Twitter Update -"
if ($strip($1-3) === Twitter Update -) {
; add that item to the hash table. After a time frame of 20 seconds, the item will unset itself (just to play safe)
; the item's data equals the no. of remaining lines to echo (for example two lines)
hadd -mu20 twitterupdates %i 2
; and echo the current line to your channel
echo #newbox $1-
}
}
; such an item had already been set (thus the current line of text is a "successive" line)
else {
; decrease the item's value (= remaining lines) by one / unset the item if the value equals one
$iif(($hget(twitterupdates,%i) > 1),hdec,hdel) twitterupdates %i
; and echo the line to your channel
echo #newbox $1-
}
}
Note that I did not test this one...