Group inviter script

This script demonstrates how to send group invitations using AdminBot.

What the Script Does

  • Sets up the group to use (state_entry event)

  • Sends out the group invitation (touch_start event)

  • Parses error messages (link_message event)

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.
  // "FORCE" means to invite existing group members too
  touch_start(integer detected) {
    llMessageLinked(LINK_SET, SB_INVITE_SEND, "FORCE", llDetectedKey(0));
  }

  // 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);
  }
}