on *:text:!*list &:*:{ this matches !<anything here>list<space><something here>
on *:TEXT:!dare*:#:{ this matches !dare<anything here>

!darelist only matches the 2nd event, the first event needs a word following it. try replacing with on *:text:!*list*:*:{