Group notice delivery with attachment

This example demonstrates the delivery of a group notice with an attachment using AdminBot for LSL.
The attachment must be uploaded to the bot beforehand.

Make sure to upload your inventory item to the bot and replace the UUID in the script with your own.
For details, see the SB_NOTICE_SEND command documentation.

What the Script Does

  • Sets up the group on state_entry

  • Handles group setup replies in link_message

  • Sends the notice (with attachment) on touch_start

Script

// SmartBots AdminBot for Groups, https://www.mysmartbots.com
// Documentation and help: https://www.mysmartbots.com/dev/docs/AdminBot_for_LSL

string SB_VERSION="2.0";

// Setup and startup

integer SB_SETUP_SETGROUP=180101;
integer SB_SETUP_SETGROUPUUID=180102;
integer SB_SETUP_DEBUG=180103;
integer SB_STATUS_QUERY=180104;
integer SB_SETUP_DEVICENAME=180111;
integer SB_SETUP_BOTNAME=180112;
integer SB_SETUP_SETOPTIONS=180113;

// Group members control

integer SB_INVITE_SEND=180105;
integer SB_GROUP_EJECT=180107;
integer SB_AVATAR_GROUP=180114;
integer SB_ADJUST_GROUP_ROLE=180120;
integer SB_GET_GROUP_ROLES=180121;

// Group chat

integer SB_CHAT_SAY=180106;
integer SB_CHAT_LISTEN=180108;
integer SB_CHAT_MUTE=180115;

// Notices

integer SB_NOTICE_SEND=180109;

// Misc. commands

integer SB_RESET_ADMINBOT=9996660;
integer SB_SETUP_SETLINK=180110;

// EVENTS

integer SB_COMMAND_FAILED=180201;
integer SB_STATUS_REPLY=180202;
integer SB_CHAT_MESSAGE=180203;
integer SB_SETUP_SUCCESS=180204;
integer SB_SETUP_FAILED=180205;
integer SB_CHAT_SUCCESS=180206;
integer SB_GROUP_CHECKED=180207;

////////////////////////////////////////////////////
// Group Inviter Script example
////////////////////////////////////////////////////

default
{
  state_entry() {
    // Setup group inviter
    // We'll set our group on start up. Do not forget to place your own "Security Code" here
    llMessageLinked(LINK_SET, SB_SETUP_SETGROUP, "Your group name", "SECURITY CODE");

    // AdminBot will issue the link message on success or error - see link_message
  }

  // We will issue the direct group invitation on touch. Do that by sending group invite message.
  touch_start(integer detected) {
    // Deliver notice with attachment.
    // Make sure you change UUID to your own value!
    llMessageLinked(LINK_SET, SB_NOTICE_SEND,
      "Demo notice\n" +
      "This is the body of the notice,\n" +
      "multi-line",
      "ce67e6e0-c20b-fc29-62cb-4921273031a9");
  }

  // This event parses different replies from AdminBot (error messages)  
  link_message(integer sender, integer cmd, string data, key id) {
    // Group command failed
    if(cmd == SB_COMMAND_FAILED)
      llOwnerSay("AdminBot command failed, error code:\n" + data);

    // Group setup failed
    if(cmd == SB_SETUP_FAILED)
      llOwnerSay("AdminBot group setup failed:\n" + data);
  }
}