So, I think I got it to work exactly the way I wanted it to. Thanks to you both I've managed to combine both the script that counts the total bits, as well as the functionality to check the authenticity of the bits.

Code:
on *:text:*:#: {
  set -l %keywords Cheer Kappa Kreygasm SwiftRage PogChamp 4Head
  set -l %num 1
  while ($gettok(%keywords,%num,32)) {
    set -l %kw $v1
    noop $regex($1-,/ $+ %kw $+ (\d+) $+ /iSg)
    set -l %num2 1
    while ($regml(%num2)) {
      set -l $+(%,%kw) $calc($($+(%,%kw),2) + $v1)
      inc %num2
    }
    if ($($+(%,%kw),2) > 0) {
      IF ($msgtags(bits).key) {
        /echo -a $msgtags(display-name).key donated $($+(%,%kw),2) %kw cheers!
        writeini -n Cheers.ini $+($msgtags(display-name).key) %kw $calc($readini(Cheers.ini,$+($msgtags(display-name).key),%kw) + $($+(%,%kw),2))
      }
      else {
        echo -a Attempted to cheat the system
        writeini -n CheersFailed.ini $+($nick) %kw $calc($readini(CheersFailed.ini,$+($nick), %kw) + $($+(%,%kw),2))
      }
    }
    inc %num
  }
}


I've added PogChamp and 4Head to the keywords so I had a way to test the system. They're being registered to CheersFailed.ini while actual bits(Kappa, Kreygasm, SwiftRage or Cheer) get registered to Cheers.ini. For the purpose of testing, I've made it send an Echo aswell to explain what happened and how. It currently says [Username] donated [Amount] [Keyword] cheers!
So if I'd type Kappa1, it'll say "KevinSlice donated 1 Kappa cheers!"