Multiple people have been mistaking the ~add and ~del syntax to
include a keyword "TRACK" which results in creating an actual track
by that name. Add chevrons around required parameters in the syntax
documentation in order to make it clear those are parameter names
and not literal keywords.
Change-Id: I69d5b79d8d894f94919724c0f94225dbf959b20e
PTGBot was relying on a number of Freenode things and requires a
few changes to run on OFTC:
- Manually identify to NickServ instead of using SASL
- No longer use identify-msg capability
- Messages received are no longer prefixed by '+'
Change-Id: Ib014f58475c1eee89d34e718ee5988800602586b
User commands in PTGbot can be called from privmsg or pubmsg.
Create a usercommands.py file to separate their processing.
This introduces a new '+' prefix for user commands, while preserving
the old '#' calls (which should really only be used for track
commands) for people that got used to them.
Change-Id: Ifab12fa27c6147ba9e9ff51f2b7f9e30a8ed0076
Revamp the ~motd command so that it supports the following subcommands
on the newly-introduced array of MOTD messages:
~motd add... (equivalent to old ~motd): adds a message
~motd clean (equivalent to old ~cleanmotd
~motd del n (to suppress message #n)
~motd reorder x y z (to reorder/remove messages)
Change-Id: I2f98c724c716ca4fd2e8fef34d4ca5af457b39e8
Using the "location" command to point to an unknown location
would cause the Javascript displaying the schedule to crash.
It's a bit useless to use that command in a virtual PTG with
meeting URLs, however the page should handle that case and fail
more gracefully.
Change-Id: I271e2ead0094d407274cbb22e499d7b2c49631b4
Allow to associate a URL to a room, for example a link to a video
conference room. Tracks assigned to this room will automatically inherit
the link. The link for a given track can be overridden using the "url"
command.
This allows organizers to provide video links for each room, while still
enabling teams to link to whatever they end up really using.
Change-Id: I633eb83c579e4093ae769bcd053e4d2ec2fe4bc3
PTGbot needs to be bootstrapped using base data, but it was unclear
what that base data should contain. Rather than just providing a
pastebin link, add an example base data file.
Change-Id: I675717fee4f5c1eb48dc94aeb26d63a85c004fb1
With this change, the ptgbot will generate links for each track
etherpad, display them on a specific page (etherpads.html) and
allow track moderators to override the autogenerated link using
the #track etherpad command.
It requires the database to contain an 'eventid' key which serves
as a unique etherpads prefix.
Change-Id: Iaa524530e9f2506369f180588a2b6f98f4cad3d1
It is sometimes useful to mark certain rooms as having specific
capabilities like videoprojection. This change adds the possibility
to assign a glyphicon (cap_icon) and a mouseover description
(cap_desc) for the rooms in the schedule dictionary.
Change-Id: I343c28acc3ad6015d3382d526511f153bf38a0e6
Data presence was not reset on a new day cleanup, while it
is almost certainly stale at this point. Hopefully.
Change-Id: Ifc4cdedf6c365f92e5ff001d1485c8fee21b396f
Add a new 'subscribe' command which allows people to subscribe for
automatic notifications via direct message of topics which match the
subscription regex they provide. With no regex argument it shows the
user's current subscription (if any). Also add a new 'unsubscribe'
command for clearing the regex.
Example use cases:
1. I know that nova is planning to discuss $TOPIC some time tomorrow
but they don't know exactly when, and I want to spend most of the
day in another room whilst ensuring I don't miss that particular
discussion on $TOPIC => "/msg ptgbot subscribe $TOPIC" will give me
notifications when the PTL types "#nova next $TOPIC" and "#nova now
$TOPIC".
2. I'm interested in *all* discussion on Python 3. I don't know which
projects are planning to discuss it, let alone when, but that
doesn't matter, because I can type "/msg ptgbot subscribe python ?3"
and get notified of all Python 3 discussions.
As with the presence tracking commands, these commands can be used in
public channels by preceding them with a '#' character.
Change-Id: I3f51acc318ecf31d435768640cef6c46d8ca136c
Add in/out/seen commands to let people voluntarily check in and out of
tracks and other arbitrary locations, to make it easy for others to
find them. Of course this is entirely optional.
It's designed to cope gracefully with people forgetting to check out
of locations they previously checked into.
Change-Id: I0d88a540ad7a333841c208dd7f2a7247897eb238
Current system (where the index page is specified in the
puppet-ptgbot module) requires that (some) links on the page
are updated in puppet-ptgbot at the start of every event.
That page should be dynamically generated from JSON data.
That way the list of links can be provided in the JSON database
and dynamically imported and updated using the ~fetchdb command.
Change-Id: I7d82b38cba495e5837ba54fbe7a9b7e9c8e14259
Add admin command to add (and clean) a message of the day (motd)
to the rendered page. Can be used for emergency messages (using
level 'danger') or more general information.
Change-Id: Ie84d1a826c2f84a7ccdafd08176eef9aa2c5a3f1
The base schedule was specified in the bot configuration file,
which made it a bit painful to do last-minute configuration.
The bot shall load a basic minimal database and support being
configured online instead, using commands and json imports.
This change removes the schedule loading from configuration,
and replaces it with a function to update the database using
a provided JSON URL (the ~fetchdb admin command).
Change-Id: I4e7a79baf88cce8d827eb66b1b0c26584c62c8d7
By default, allow anyone in channel to issue track moderation
commands (as that greatly simplifies administration). Add
two admin commands to allow toggling that behavior on and off.
Change-Id: I5dc95a1ea14b49c1882bd715b8fbdc3344867b64
Wiping the database was no longer very useful. Replace this
with a ~reload action that reload base data from configuration.
Change-Id: Iaa55a2060053f77dd2ab1072e59b21a28812f213
Rewrite the PTGbot documentation so that it's more
user-friendly, and point users to it in case of errors.
Change-Id: I1ebe6fcc106c6e22ab004e27d38c81265d413603
The ~newday admin command cleans up now/next/location to
get to a fresh start at the beginning of a new day / end of
previous day.
Change-Id: I0a274164939a37e4a3aa9f734d4aebdc4cd82bf3
Available room slots can be booked for any track through
the ptgbot new #book command, referencing the slot code.
Change-Id: I0c661e448568c7f2f26fb296e3f2506ba1ed44ba
Since a given theme/team may meet in several different
locations during the week, let's call that a "track"
rather than a "room" (which was a confusing concept
since we had "location" as well).
Change-Id: I0978f4c8b33954f53698d8a058b9a802556e56c1
In preparation for the fully IRC-driven system,
remove the code getting extra info from ethercalc.
Change-Id: I1a7092803630a790290205f0b202bc347c3f18c0
Allow room managers to set the colors of rooms.
Change-Id: I252d52db0cdf6c25e7c9be95c0debb49bd983cbd
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Due to an unfortunate bot command character collision,
move admin commands from ! to ~.
Take the opportunity to properly document them.
Change-Id: Ida77e6262e6da9dade64e6ff9ebca1e41b291b30
Move config to a JSON file in order to allow for complex
configuration of the ethercalc data model.
Change-Id: I0d18bc6aa3fd8ea1739c64a3d488145435bebb4f