Skip to content
Browse files

[modEvents] Refactor to talk/whisper/emote filtering and display.

- Event_UserTalk, Event_UserEmote, and Event_WhisperFromUser now process
  the events in the same order:
  1. filter (+ special filter settings for WhisperFromUser)
  2. catch phrases
  3. flash window
  4. display to screen (+ whisper panel and whisper windows for WhisperFromUser)
  5. channel password (for WhisperFromUser)
  6. vote command votes
  7. mail !inbox (for WhisperFromUser)
  8. command processing (for UserTalk and WhisperFromUser)
  9. set last whisper (for WhisperFromUser)
  10. scripting call

- Filtering using message filters and user blocks now affects all steps
  above except the scripting call, the same way in all three events.
  * Fixes windows flashing when receiving a blocked whisper.
  * Fixes catching phrases from blocked messages.
  * Fixes votes being tallied from blocked messages.
  * Fixes channel password being accepted from blocked messages.
  * Fixes command processing occuring from blocked messages.
  * Fixes blocked whispers (message filter only) setting the "last whisper" value.

- Event_UserEmote no longer applies the scripting trigger back-fix.
  Command processing should be under Event_UserTalk anyway.

- Event_UserEmote now does vote command vote counting ("/me yes" and "/me no" should count).

- Event_WhisperFromUser's special filters are now treated more like
  message filters and user blocks:

    "Show mutual friend alerts" setting is treated exactly like a
    filter and only the scripting call will see them when it is off.

    "Show extra server messages" setting behavior changed for
    Email Service whisper:
    - When ON, the Email Service whisper is shown but not processed
      (it is displayed to screen and whisper panel [Whisper Windows are skipped]
      and passed to scripting)
    - When OFF, the Email Service whisper is hidden and not processed
      [it is only passed to scripting]

  * Fixes mutual friend alerts and Email Service whisper never making it to scripting when filtered.
  * Fixes Email Service whisper causing flashes and being over-processed when visible.
  • Loading branch information...
nmbook committed Oct 31, 2017
1 parent 21612e8 commit f61bcf3044cf7a05fdc2bb06e21da809ef1a5f3b
Showing with 152 additions and 130 deletions.
  1. +2 −2 trunk/frmChat.frm
  2. +150 −128 trunk/modEvents.bas
@@ -4891,9 +4891,9 @@ Sub ClearChatScreen(Optional ByVal ClearOption As Integer = 3)
rtbChat.Text = vbNullString
' add a sensical cleared message
If ClearOption And 2 Then
AddChat RTBColors.InformationText, "Chat window cleared."
AddChat RTBColors.ConsoleText, ">> Chat window cleared."
AddChat RTBColors.InformationText, "Chat and whisper windows cleared."
AddChat RTBColors.ConsoleText, ">> Chat and whisper windows cleared."
End If
End If

0 comments on commit f61bcf3

Please sign in to comment.
You can’t perform that action at this time.