SmartBots (SmartBots2Life)

Second Life group direct invitation bots

Contents

Support Managers

QuincyJohnes online
English, Russian
Rehnaeaislinn online
English
show offline managers
English, German, Japanese, Russian

AdminBot Examples: Group chat listener

Have a question? Ask at SmartBots DevPortal!

DevPortal is a blog and forum for developers. Ask your questions to get a prompt reply!

Continue to DevPortal

This example demonstrates how to reply to each IM which appears on group chat:

//////////////////////////////////////////////////////////////////////
// SmartBots AdminBot, http://www.mysmartbots.com
// Documentation and help: http://www.mysmartbots.com/docs/AdminBot
//////////////////////////////////////////////////////////////////////
string SB_VERSION="1.92";
// 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;
// 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;
default
{
  state_entry() {
    llMessageLinked(LINK_SET,SB_SETUP_SETGROUP,"Your group name","SECURITY CODE");
  }
 
  // This event parses different replies from AdminBot    
  link_message(integer sender,integer cmd, string data, key id) {
    /////////////////// Group setup failed
    if(cmd==SB_COMMAND_FAILED) {
      list parts=llParseString2List(data,["\n"],[]);
      string status=llList2String(parts,0);
      string expires=llList2String(parts,1);
 
      llOwnerSay("AdminBot command failed, error code: "+status);
    }
 
    /////////////////// Group setup failed
    if(cmd==SB_SETUP_FAILED) {
      list parts=llParseString2List(data,["\n"],[]);
      string status=llList2String(parts,0);
      string expires=llList2String(parts,1);
 
      llOwnerSay("AdminBot group setup failed:\n"+
        "status: "+status+"\n"+
        "expired: "+expires);
    }
 
    /////////////////// Group successfully set
    if(cmd==SB_SETUP_SUCCESS) {
      llOwnerSay("AdminBot group successfully set, asking to the listen group chat");
 
      // Start listening to a group chat
      llMessageLinked(LINK_SET,SB_CHAT_LISTEN,"1",NULL_KEY);
 
      // Say something over group chat
      llMessageLinked(LINK_SET,SB_CHAT_SAY,"I'm listening on group chat, please talk to me!",NULL_KEY);
    }
 
    /////////////////// Group chat message
    if(cmd==SB_CHAT_MESSAGE) {
      llOwnerSay("We've got the group chat message: "+data);
      llMessageLinked(LINK_SET,SB_CHAT_SAY,"Magic box replies to you, master!",NULL_KEY);
    }
 
  }
}

Questions, wishes and discussion