How to configure an alert in Textual when someone joins a channel

Suppose you’re staff in a support channel which isn’t very frequented by other users, and you want Textual to make a sound and show a notification (i.e. trigger a highlight) whenever someone joins that support channel.

As of today (Oct 14th 2016), Textual lacks such a feature. The chat filter can trigger some actions when certain things happen, like user joins channel #foo, but notifications/highlights are no selectable action there.

So I came up with a workaround, kind of an ugly hack, but it does the job. Here’s how it works:

Textual has a hidden command called /fakerawdata, which – surprise – fakes raw data. This means it will fake incoming raw IRC traffic and make Textual act accordingly. We will use it to create a fake message by the joining user that contains our nickname, so a highlight will be triggered.

  1. Go to Help -> Advanced and check Enable developer mode – without this, the /fakerawdata command does not work
  2. Go to Preferences -> Add-Ons -> Chat Filter and click the + in the lower left to create a new filter
  3. on the Filter tab, give the filter a name (example: watch joins on #foo), then copy paste this into the Filter Action field:
    /fakerawdata :%_senderHostmask_% PRIVMSG %_channelName_% :%_localNickname_%, I joined! (fake message)

    It should look like this:
    textual-join-filter

  4. on the Channels tab, select Specific Items and select the channel(s) you want to watch for joins in the list that opens
  5. on the Events tab, make sure only User joined channel is selected
  6. The last three tabs Sender, Notes and Advanced are completely empty

Whenever someone joins your channel now, it will look like they immediately highlight you:

textual-join-fake-message

I know, it’s not perfect, but as I said, it does the job. And one day we might get a “highlight” filter action so this workaround is no longer needed, the feature was already requested.

Leave a Reply