No description
Find a file
2021-02-14 02:28:49 +00:00
.github oh god the pain 2021-02-14 01:21:35 +00:00
BetterSecondbot dockerhub why are you like this 2021-02-14 02:19:38 +00:00
Core dockerhub why are you like this 2021-02-14 02:19:38 +00:00
libremetaverse-core clear output paths 2021-02-14 02:28:49 +00:00
Shared dockerhub why are you like this 2021-02-14 02:19:38 +00:00
.dockerignore oh god the pain 2021-02-14 01:21:35 +00:00
.gitignore why 2021-02-14 01:59:15 +00:00
BetterSecondBot.sln dockerhub why are you like this 2021-02-14 02:19:38 +00:00
Dockerfile dockerhub why are you like this 2021-02-14 02:19:38 +00:00
NuGet.Config add missing env value and move nuget config 2020-12-20 10:01:41 +00:00
README.md encode-as-json support for relay 2021-02-13 21:26:39 +00:00

  _____                          _ _           _
 /  ___|                        | | |         | |
 \ `--.  ___  ___ ___  _ __   __| | |__   ___ | |_
  `--. \/ _ \/ __/ _ \| '_ \ / _` | '_ \ / _ \| __|
 /\__/ /  __/ (_| (_) | | | | (_| | |_) | (_) | |_
 \____/ \___|\___\___/|_| |_|\__,_|_.__/ \___/ \__|

Secondbot

Secondbot is a CommandLine based bot for SecondLife based on libremetaverse retargeted for .net core.

Status


Docker Cloud Build Status

Codacy Badge

CII Best Practices

Helpfull stuff


Commands Wiki

Releases

These are pre compiled versions for the most upto date please use docker or compile it yourself.

View releases

Starting multiple bots from the same executable in windows


Create a shortcut (rename it for the bot) and 'madpeterbot' after the end of the target

so the target would look something like this: BetterSecondBot.exe" madpeterbot

save changes to the shortcut and your ready to go.

Custom commands


Custom commands allow you to create a chain of commands triggered by one command

Format

<Custom command name>[!!!]<corelib command 1>[{-}]<corelib command 2>[{-}]...

example command

sayexample!!!say|||Hello{-}delay|||2500{-}say|||Bye

if your using docker to create a custom command you would create a new env value that starts with "cmd_" followed by the custom command name example: cmd_sayexample

and the value would be the actions example: say|||Hello{-}say|||Bye

If you want to pass custom args set [C_ARG_1] (this goes up to 5)

and the command would look something like this

sayexample!!!say|||Hello [C_ARG_1]{-}delay|||2500{-}say|||Bye [C_ARG_2]

HTTP web interface

by setting

Http_Enable to true Http_Host to http://*:8080 Security_WebUIKey to a vaild code (12 letters+numbers long or more)

you will be able to connect to the bot via HTTP and use the webUI to control the bot!

Dev server UI or Host it yourself

HTTP scoped tokens


Scoped tokens allow you to hardcode access to the HTTP interface (if enabled) and set more detailed control over what areas can be accessed plus no need to give the full http

Security_WebUIKey

You get set these tokens up by file or Environment Variables.

File

{
"ScopedTokens": [ "t:[10charcode],ws:core,ws:group", "t:[10charcode],cm:chat/localchathistory",
] }

Environment Variables
Name Value
scoped_token_1 "t:[10charcode],ws:core,ws:group"
scoped_token_2 "t:[10charcode],cg:chat"
scoped_token_3 "t:[10charcode],cm:chat/localchathistory"

HTTP scoped tokens (info)


command [cm] "example: `cm:chat/localchathistory`

workspaces [ws] "example: ws: core, ws: groups"

commandgroups [cg] "example: `cg:chat`"
	chat
		chat/localchathistory
		chat/localchatsay
		groups/getgroupchat	
		groups/sendgroupchat
		groups/listgroups
		im/chatwindows
		im/listwithunread
		im/getimchat
		im/sendimchat

	giver
		inventory/send
		inventory/folders
		inventory/contents


	groupinvite
		[WIP]

	movement
		core/walkto
		core/teleport
		core/gesture

BetterRelay system


This is to replace the old broken relay thats currently built into the bot

CustomRelay_1 = "encode-as-json:true,source-type:discord,source-filter:123451231235@12351312321,target-type:localchat,target-config:4"

CustomRelay_2 = "encode-as-json:false,source-type:discord,source-filter:123451231235@12351312321,target-type:localchat,target-config:4"

or via the config file customrelays

{ "CustomRelays": [ encode-as-json:false,source-type:discord,source-filter:123451231235@12351312321,target-type:chat,target-config:4 ] }

To config the relay please use the settings below.

source-type
    discord
	    source-filter: serverid@serverchannel

    localchat
	    source-filter: talker uuid or "all"

    avatarim
	    source-filter: avatar uuid or "all"

    objectim
	    source-filter: object uuid or "all"

    groupchat
	    source-filter: group uuid or "all"


target-type
    discord
	    target-config: serverid@serverchannel

    localchat
	    target-config: channel (default is 0)

    avatarchat
	    target-config: avatar uuid

    groupchat
	    target-config: group uuid