so by this, do you mean pasting that code into my script and wait for someone to gift a sub to see the results?
You are absolutely correct. Inserting these lines into your script as new lines between the "raw userhost" and the "if" statement which follows it. If you're queasy about doing this, make sure you have a backup copy of your script saved somewhere.
Once you know what the message itself and the attached tags all look like, that can affect the solution. If there is something else in the tag which identifies that this is #X of #Y gifts, that can be used to show only a single summary message.
Otherwise, it might be necessary to have a delayed response, after all the gift messages have been put into a temporary @window, where the script has written enough information that allows determining whether this is part of a series, or not.
That solution may not be perfect in rare cases. For example, I don't know how it would handle someone gifting 100 things at the same time, since sending you 100 userhost messages at the same time might flood you to the point the network would disconnect you, and to prevent this the network might have a way of spacing these messages apart, which means it might be handy to have the message contain the exact second when the message is received, so in my debug messages where I used -t that likely only shows hours:minutes, it could be useful to see the full seconds too, by replacing -t with $time
So the lines would change instead to:
if (!$window(@usernotice)) window -z @ @usernotice
echo 3 $time @usernotice nick $nick chan $chan tags: $msgtags
echo 4 $time @usernotice nick mesg: $1-