App::Wubot::Web::Notify - web interface for wubot notifications
~/wubot/config/webui.yaml --- plugins: notify: '/notify': notify '/notify/id/(.id)': item '/tags': tags '/colors': colors
The wubot web interface is still under construction!
The notification web interface serves as your notification inbox. You can browse through the unseen notifications, mark them seen, limit the display to specific plugins or usernames, apply tags, or mark them for later review.
By default, items in the inbox are grouped and collapsed based on the 'mailbox' field defined in the message. You can easily use rules to alter the defaults. For example, to do this directly in the monitor config, add a 'react' section such as:
--- enable: 1 react: - name: categorize plugin: SetField config: field: mailbox value: test
By convention, wubot messages that are worthy of your attention will contain a 'subject' field describing the event. This could be the subject of an email or rss feed, a tweet, a description of a disk space problem, etc. For more information on wubot notifications, see also App::Wubot::Guide::Notifications.
In order to use the notification web interface, you will first need to define a rule in the reactor to store the message in the notifications table. This can be done with a rule such as:
- name: notify sql table plugin: SQLite config: file: /Users/wu/wubot/sqlite/notify.sql tablename: notifications
Make sure you have copied the 'notifications.yaml' and 'tags.yaml' schema files from config/schemas/ in the wubot distribution into your ~/wubot/schemas/.
Notifications will be displayed in reverse order with the newest notification at the top. The last 200 notifications will be displayed. Duplicate notifications will be collapsed into a single line and will contain a 'count' field that will show how many of the last 200 notifications were duplicates of this notification. So, if you have more than 200 unseen notifications, the notifications count will be incomplete. A fix is planned for this.
You can click on the 'seen' link to mark the item seen. Also the message 'key' will be broken into its two component fields, the plugin name and the instance name. Clicking on the instance name (key2) will mark all notifications from that instance, and clicking on the plugin name (key1) will mark all notifications generated by that plugin as seen.
Scored items show up at the top of the list, with the highest score on top.
In the notifications web ui, there is a 'cmd' field which allows you to enter commands to be applied to one or more items. The following commands are supported:
r mark a single item as seen rr mark all unseen items in the selected mailbox as seen r.* mark all unseen notifications as seen r.regexp mark all notifications whose subject matches /regexp/ as seen ## entering a number will apply a score to the item, 00 removes score red entering a color name will apply a color to the item, see L<App::Wubot::Util::Colors> m apply 'readme' tag to the item and mark it read, for later perusal x remove the 'readme' tag and update the 'seen' flag time to now tr xx translate the subject from the specified language, see L<Lingua::Translate> for more info mytag any non-command input will be treated as a tag which will be applied to the item -mytag preceeding tag name with a minus sign removes the tag from the item
Multiple commands may be comma separated.
To ensure that the icons show up in the notifications web ui, you should do two things:
1. ensure that the 'icon' rule runs before the notifications sqlite rule. otherwise no icon will have been set in the message. 2. ensure that your icons directory is symlinked into the public/ directory. for example, if your icons are in ~/.icons/ and you are running wubot from ~/projects/wubot, then set into the ~/projects/wubot/public directory and run 'ln -s ~/.icons ./'. Then you should be able to see one of your images in your ~/.icons directory by navigating to, e.g.: http://localhost:3000/images/wubot.png
By default you can get to the notification web interface at:
Lots more to come here!