Matching the word "subscribe" is not going to work for gifted subs. The system message is "User1 gifted a $4.99 sub to User2!"

I think it makes much more sense to just read the RAW data being sent from Twitch in your case. More info can be found here. Note that as of this writing the official Twitch docs linked here don't have the "subgift" message tag documented yet, but I did cover the new tags in a previous thread on here already.

Two examples. I prefer the first one because it will match exactly the following message tags in "msg-id": sub, resub, or subgift. The second example would work by matching the word "sub" in the "msg-id" tag because they all have "sub" in the tag.

Code:
RAW USERNOTICE:*: {
  IF (($1 == #CHANNELNAME) && (($msgtags(msg-id).key == sub) || ($msgtags(msg-id).key == resub) || ($msgtags(msg-id).key == subgift))) {
    MSG $1 Wooo! SUB HYPE!!! Nice one !!! INSERT EMOTES HERE
  }
}


Code:
RAW USERNOTICE:*: {
  IF (($1 == #CHANNELNAME) && (sub isin $msgtags(msg-id).key)) {
    MSG $1 Wooo! SUB HYPE!!! Nice one !!! INSERT EMOTES HERE
  }
}


Using the message tags you can figure out how to make your bot say things like "User1 just subscribed with a Tier 1 Sub!" Etc.