2. Setup for Automated Group Notice and IM Scheduler

AUTOMATED GROUP NOTICE & IM SCHEDULER

This scripted object lets you send automated group notices to multiple groups. It works in tandem with a Corrade bot (https://grimore.org/secondlife/scripted_agents/corrade) already running in Second Life.

If you are at this step, it assumes that you have already set up and configured a Corrade bot. If you haven’t done this yet, see the document “1. CORRADE SETUP FOR GROUP NOTICE/IM SCHEDULER“, and work through it completely before attempting anything described here.

HOW THE SCHEDULER WORKS:

You tell the scheduler object what notices or group IMs you want to send by dropping notecards into its contents. Each notecard contains one or more schedules. A schedule consists of a timestamp for when you want to send the notice, a list of groups to send to, the subject and message, and an attachment if needed.

SCHEDULER CONFIGURATION:

The “! config” notecard contains the following four parameters:

  • corrade= UUID of the bot
  • group= key of the SL group to be used for issuing commands (the one you defined in the Corrade config)
  • password= Corrade password assigned to the above group in the Corrade config
  • home= your (default) home region; this is the region that will be used for SLURLs if only coordinates are given.

The good news is, you already created the “! config” notecard when you completed step 5 of the Corrade setup! Just drop this notecard into the contents of the scheduler.

GROUPS:

For each group that you want to receive notices, the bot must be a member of that group, and its group role must allow it to send notices and/or messages to that group.

Any group to which you wish to send notices or IMs must be included in a notecard called “! groups“. Each line of that notecard consists of a group abbreviation (up to 3 characters), followed by a vertical line (|), followed by a group name. After the group name, insert another vertical line (|), followed by the group’s key (which can be retrieved from the top of the group profile in Firestorm viewer).

Here are some examples of how to specify groups:
II|Inspiration Island Land Group|ab4e4316-9b9a-5907-5e7d-23599916629a
WBH|WHOLE BRAIN HEALTH|505d2c32-97cb-f804-90cc-57b428bd2665
RK*|Rockcliffe University – Students|76d84a6e-db0a-3759-e080-85a65b4cf016

Group abbreviations ending in an asterisk (*) indicates that this will be a cross-group post, so the phrase “(x-grp)” will be added to the beginning of the subject line.

IMPORTANT: As you type in group lines, make sure that you press the Enter key at the end of each notecard line!

Once you have created a line in the ! groups notecard for each group that you will need to send to, drop the notecard into the contents of the scheduler.

SCHEDULING NOTECARDS:

A group notice or group IM is described by a schedule consisting of multiple notecard lines. Each line starts with an identifying character followed by a vertical bar (|), followed by the contents of that line. Identifying characters are:
T — timestamp
X — message types (i.e., whether to send a notice, an IM, or both)
G — list of abbreviations of groups to send to, separated by spaces
S — subject of message
M — message (you can include as many “M” lines as needed)
A — name of attachment, spelled exactly as it is in the bot’s inventory.
These lines MUST be placed in the notecard in the order shown above. The “A” (attachment) line can be left off if there is no attachment.

IMPORTANT: As you type in lines, make sure that you press the Enter key at the end of each notecard line!

Timestamp:
Timestamp is made up of a series of integer values separated by spaces, in the following order:

  • Hour (0-23) (24-hour clock, where 0 is 12am and 23 is 11pm)
  • Minute (0-59)
  • Day of week (0-6) where 0=Sunday, 1=Monday, etc.
  • Occurrence of this weekday within month (1-5, or L=last occurrence in month) (Use L when you always want the last occurrence, regardless of whether there are 4 or 5 weeks in the month)
  • Month (1-12)
  • Day (1-31)

For any of these values, you can use an asterisk (*) to indicate a wild card. Any values not included at the end are assumed to be asterisks. This lets you be very flexible in scheduling.

Examples:
T|9 50 3 (9:50am each Wednesday, can be written as T|9 50 3 * * *)
T|13 50 4 1 (1:30pm on the 1st Thurs of the month, can be written as T|13 50 4 1 * *)
T|13 50 2 L (1:30pm on the last Tues of the month, can be written as T|13 50 2 L * *)
T|17 20 (5:20pm on every weekday, can be written as T|17 20 * * * *)
T|15 00 * * 11 12 (3:00pm on November 12)
T|8 00 * * * 25 (8:00am on the 25th of each month)

Message Types:
This tells the sender whether you are sending this as a notice, as a group IM, or both.
For group IM’s, the subject will be combined with the message body, along with an abbreviated SLURL (as described below).

  • If you want to send this as a notice, use the letter N (case insensitive). You can also spell out the word notice if you prefer.
  • If you want to send a group IM, then include an abbreviated SLURL. It can be either in the form xxx/yyy/zzzz if it is a location on your home region (see Configuration section above), or in the form regionname/xxx/yyy/zzzz for a specific region. If the region name contains spaces, then you MUST enclose the entire SLURL in double quotes.
  • If sending both a notice and group IM, include both of the above options, separated by a space.

Examples:
X|notice (Just a notice with no group IM)
X|38/141/22 (Just an IM with no group notice)
X|N 75/38/701 (Both a group notice and group IM for a location in your home region)
X|N Livingtree/127/101/25 (Both a group notice & group IM for a location in a specific region)
X|N “Inspiration Island/75/38/701” (Both a group notice & group IM for a location in a specific region, where the region name contains spaces)

Subject:
Corrade restricts the subject line to 63 characters or less. To allow for cross-group messages, it must be less than 56 characters (so that the phrase (x-grp) can be added in front of the subject).

If you have set XGRP=N in your config file (meaning that you never want to add a prefix to cross-group messages), then you’ll be able to use the full 63 characters for your subject.

Message:
Multiple “M” lines may be used. They will be concatenated to form the final message, with spaces between them. If you want to insert a new line at any point during the message, use the expression “\n” (backslash n).

According to the SL wiki, a group notice can be no longer than 512 characters. This includes the subject line, message, and possibly more, so keep this in mind.

Attachment:
An attachment can be either a landmark found in the “Landmarks” folder of the Corrade bot, a notecard found in the “Notecards” folder, a texture found in the “Textures” folder, or an object found in the “Objects” folder of the bot. The name given must match EXACTLY with the item name, including capitalization. (The notice sender will check this before sending.)

Anyone added to the whitelist (step 6 of the Corrade setup) can start an IM chat with the bot and then drop an item onto it, and it will be accepted automatically.

Landmarks:
Either use just the landmark name, or preface it with LM>
(landmark listed must exist in the root of the bot’s Landmarks folder)

Notecards:
Preface the notecard name with NC>
(notecard listed must exist in the root of the bot’s Notecards folder)

Textures:
Preface the texture name with TX>
(texture listed must exist in the root of the bot’s Textures folder)

Objects:
Preface the object name with OB>
object listed must exist in the root of the Objects folder)

Examples:
A|WBH Grove of Wisdomlandmark named “WBH Grove of Wisdom”
A|LM>WBH Grove of Wisdomlandmark named “WBH Grove of Wisdom” (alternative way of specifying landmarks, prefix is not required)
A|NC>Programs todaynotecard named “Programs today” (NC> prefix is required)
A|OB>Free sampleobject named “Free sample” (OB> prefix is required)
A|TX>picturetexture named “picture” (TX> prefix is required)