├── .github
├── funding.yml
└── workflows
│ ├── dotnet.yml
│ ├── greetings.yml
│ └── codeql-analysis.yml
├── assets
├── images
│ ├── RESTbot.ico
│ ├── RESTbot-logo.png
│ ├── RESTbot-logo.psd
│ ├── RESTbot-512x420.png
│ ├── RESTbot-logo-256x256.png
│ └── RESTbot-logo-github-card-1280x640.png
├── openmetaverse_data
│ ├── eyewhite.tga
│ ├── head_hair.tga
│ ├── lips_mask.tga
│ ├── blush_alpha.tga
│ ├── head_alpha.tga
│ ├── head_color.tga
│ ├── rouge_alpha.tga
│ ├── body_skingrain.tga
│ ├── bump_head_base.tga
│ ├── eyebrows_alpha.tga
│ ├── eyeliner_alpha.tga
│ ├── freckles_alpha.tga
│ ├── head_skingrain.tga
│ ├── lipgloss_alpha.tga
│ ├── lipstick_alpha.tga
│ ├── rosyface_alpha.tga
│ ├── lowerbody_color.tga
│ ├── nailpolish_alpha.tga
│ ├── pants_waist_alpha.tga
│ ├── shoe_height_alpha.tga
│ ├── upperbody_color.tga
│ ├── bodyfreckles_alpha.tga
│ ├── bump_face_wrinkles.tga
│ ├── bump_lowerbody_base.tga
│ ├── bump_pants_wrinkles.tga
│ ├── bump_shirt_wrinkles.tga
│ ├── bump_upperbody_base.tga
│ ├── glove_length_alpha.tga
│ ├── head_shading_alpha.tga
│ ├── pants_length_alpha.tga
│ ├── shirt_bottom_alpha.tga
│ ├── shirt_collar_alpha.tga
│ ├── shirt_sleeve_alpha.tga
│ ├── skirt_length_alpha.tga
│ ├── eyeshadow_inner_alpha.tga
│ ├── eyeshadow_outer_alpha.tga
│ ├── gloves_fingers_alpha.tga
│ ├── head_highlights_alpha.tga
│ ├── skirt_slit_back_alpha.tga
│ ├── skirt_slit_front_alpha.tga
│ ├── skirt_slit_left_alpha.tga
│ ├── skirt_slit_right_alpha.tga
│ ├── underpants_trial_male.tga
│ ├── facehair_moustache_alpha.tga
│ ├── facehair_sideburns_alpha.tga
│ ├── facehair_soulpatch_alpha.tga
│ ├── jacket_open_lower_alpha.tga
│ ├── jacket_open_upper_alpha.tga
│ ├── lowerbody_shading_alpha.tga
│ ├── shirt_collar_back_alpha.tga
│ ├── underpants_trial_female.tga
│ ├── undershirt_trial_female.tga
│ ├── upperbody_shading_alpha.tga
│ ├── upperbodyfreckles_alpha.tga
│ ├── facehair_chincurtains_alpha.tga
│ ├── jacket_length_lower_alpha.tga
│ ├── jacket_length_upper_alpha.tga
│ ├── lowerbody_highlights_alpha.tga
│ └── upperbody_highlights_alpha.tga
└── configuration
│ ├── configuration.xml.sample
│ └── log4net.config
├── global.json
├── Properties
└── launchSettings.json
├── restbot-tools
├── launch-scripts
│ └── systemd
│ │ ├── restbot.service.sample
│ │ └── README - for systemd.md
├── test-scripts
│ ├── perl
│ │ ├── bot-getgrouproles.pl
│ │ ├── bot-getgroups.pl
│ │ ├── bot-getgroups2.pl
│ │ ├── bot-getgroupprofile.pl
│ │ ├── bot-status.pl
│ │ ├── bot-dilation.pl
│ │ ├── bot-stats.pl
│ │ ├── botquit.pl
│ │ ├── bot-getname.pl
│ │ ├── bot-getonline.pl
│ │ ├── bot-joingroup.pl
│ │ ├── bot-location.pl
│ │ ├── bot-parcel.pl
│ │ ├── bot-regionhandle.pl
│ │ ├── bot-stand.pl
│ │ ├── bot-leavegroup.pl
│ │ ├── bot-teleport.pl
│ │ ├── bot-getkey.pl
│ │ ├── bot-startanim.pl
│ │ ├── bot-stopanim.pl
│ │ ├── bot-groupinvite.pl
│ │ ├── bot-getprofile.pl
│ │ ├── bot-parceleditname.pl
│ │ ├── bot-sitground.pl
│ │ ├── botshutdown.pl
│ │ ├── bot-givelandmark.pl
│ │ ├── bot-sit.pl
│ │ ├── botlogin.pl
│ │ ├── bot-rez.pl
│ │ └── bot-groupinvitations.pl
│ ├── dilation-meter.sh
│ ├── php
│ │ ├── bot-dilation.php
│ │ └── bot-getkey.php
│ └── api
│ │ └── getname.lsl
└── php-restbot-api
│ ├── include
│ ├── config.php
│ ├── groups.php
│ ├── db.php
│ ├── sl.php
│ ├── util.php
│ ├── sql.php
│ ├── avatars.php
│ └── funktions.php
│ ├── avatars.php
│ ├── groups.php
│ └── util.php
├── .editorconfig
├── .all-contributorsrc
├── .appveyor.yml
├── RESTbot.nuspec
├── .gitignore
├── Microsoft.Build.xsd
├── restbot-src
├── RestPlugin.cs
├── Server
│ ├── HeaderLines.cs
│ ├── Router.cs
│ ├── HeaderParser.cs
│ ├── HeaderConstructor.cs
│ └── Server.cs
└── Configuration.cs
├── restbot-plugins
├── ReaperPlugin.cs
├── PrimsPlugin.cs
├── StatsPlugin.cs
├── ChatPlugin.cs
└── ListenPlugin.cs
└── RESTbot.csproj
/.github/funding.yml:
--------------------------------------------------------------------------------
1 | github: [gwynethllewelyn]
--------------------------------------------------------------------------------
/assets/images/RESTbot.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/images/RESTbot.ico
--------------------------------------------------------------------------------
/assets/images/RESTbot-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/images/RESTbot-logo.png
--------------------------------------------------------------------------------
/assets/images/RESTbot-logo.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/images/RESTbot-logo.psd
--------------------------------------------------------------------------------
/assets/images/RESTbot-512x420.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/images/RESTbot-512x420.png
--------------------------------------------------------------------------------
/assets/images/RESTbot-logo-256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/images/RESTbot-logo-256x256.png
--------------------------------------------------------------------------------
/assets/openmetaverse_data/eyewhite.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/eyewhite.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/head_hair.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/head_hair.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/lips_mask.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/lips_mask.tga
--------------------------------------------------------------------------------
/global.json:
--------------------------------------------------------------------------------
1 | {
2 | "sdk": {
3 | "version": "8.0.6",
4 | "rollForward": "latestMajor",
5 | "allowPrerelease": true
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/assets/openmetaverse_data/blush_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/blush_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/head_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/head_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/head_color.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/head_color.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/rouge_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/rouge_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/body_skingrain.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/body_skingrain.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/bump_head_base.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/bump_head_base.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/eyebrows_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/eyebrows_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/eyeliner_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/eyeliner_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/freckles_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/freckles_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/head_skingrain.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/head_skingrain.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/lipgloss_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/lipgloss_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/lipstick_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/lipstick_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/rosyface_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/rosyface_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/lowerbody_color.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/lowerbody_color.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/nailpolish_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/nailpolish_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/pants_waist_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/pants_waist_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/shoe_height_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/shoe_height_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/upperbody_color.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/upperbody_color.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/bodyfreckles_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/bodyfreckles_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/bump_face_wrinkles.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/bump_face_wrinkles.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/bump_lowerbody_base.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/bump_lowerbody_base.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/bump_pants_wrinkles.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/bump_pants_wrinkles.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/bump_shirt_wrinkles.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/bump_shirt_wrinkles.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/bump_upperbody_base.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/bump_upperbody_base.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/glove_length_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/glove_length_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/head_shading_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/head_shading_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/pants_length_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/pants_length_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/shirt_bottom_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/shirt_bottom_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/shirt_collar_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/shirt_collar_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/shirt_sleeve_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/shirt_sleeve_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/skirt_length_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/skirt_length_alpha.tga
--------------------------------------------------------------------------------
/assets/images/RESTbot-logo-github-card-1280x640.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/images/RESTbot-logo-github-card-1280x640.png
--------------------------------------------------------------------------------
/assets/openmetaverse_data/eyeshadow_inner_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/eyeshadow_inner_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/eyeshadow_outer_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/eyeshadow_outer_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/gloves_fingers_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/gloves_fingers_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/head_highlights_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/head_highlights_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/skirt_slit_back_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/skirt_slit_back_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/skirt_slit_front_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/skirt_slit_front_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/skirt_slit_left_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/skirt_slit_left_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/skirt_slit_right_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/skirt_slit_right_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/underpants_trial_male.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/underpants_trial_male.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/facehair_moustache_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/facehair_moustache_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/facehair_sideburns_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/facehair_sideburns_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/facehair_soulpatch_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/facehair_soulpatch_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/jacket_open_lower_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/jacket_open_lower_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/jacket_open_upper_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/jacket_open_upper_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/lowerbody_shading_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/lowerbody_shading_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/shirt_collar_back_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/shirt_collar_back_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/underpants_trial_female.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/underpants_trial_female.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/undershirt_trial_female.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/undershirt_trial_female.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/upperbody_shading_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/upperbody_shading_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/upperbodyfreckles_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/upperbodyfreckles_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/facehair_chincurtains_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/facehair_chincurtains_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/jacket_length_lower_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/jacket_length_lower_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/jacket_length_upper_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/jacket_length_upper_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/lowerbody_highlights_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/lowerbody_highlights_alpha.tga
--------------------------------------------------------------------------------
/assets/openmetaverse_data/upperbody_highlights_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GwynethLlewelyn/restbot/HEAD/assets/openmetaverse_data/upperbody_highlights_alpha.tga
--------------------------------------------------------------------------------
/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "iisSettings": {
3 | "windowsAuthentication": false,
4 | "anonymousAuthentication": true
5 | },
6 | "profiles": {
7 | "RESTbot": {
8 | "commandName": "Project",
9 | "launchBrowser": true,
10 | "applicationUrl": "http://localhost:62945",
11 | "environmentVariables": {
12 | "ASPNETCORE_ENVIRONMENT": "Development"
13 | }
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/restbot-tools/launch-scripts/systemd/restbot.service.sample:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=RESTbot
3 | After=syslog.target
4 | After=network.target
5 |
6 | [Service]
7 | Type=forking
8 | User=
9 | Group=
10 | Environment="DOTNET=/usr/lib/dotnet"
11 | WorkingDirectory=/full/path/to/bin/directory
12 | ExecStart=/usr/bin/screen -dmS "RESTbot" /full/path/to/bin/RESTbot
13 | ExecStop=/usr/bin/screen -p 0 -S "RESTbot" -X kill
14 | KillSignal=SIGCONT
15 | Restart=always
16 | RestartSec=30s
17 | RemainAfterExit=false
18 | SuccessExitStatus=1
19 |
20 | [Install]
21 | WantedBy=multi-user.target
--------------------------------------------------------------------------------
/.github/workflows/dotnet.yml:
--------------------------------------------------------------------------------
1 | name: .NET
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 | pull_request:
7 | branches: [ master ]
8 |
9 | jobs:
10 | build:
11 |
12 | runs-on: ubuntu-latest
13 |
14 | steps:
15 | - uses: actions/checkout@v3
16 | - name: Setup .NET
17 | uses: actions/setup-dotnet@v3
18 | with:
19 | dotnet-version: 6.0.x
20 | - name: Restore dependencies
21 | run: dotnet restore
22 | - name: Build
23 | run: dotnet build --no-restore
24 | - name: Test
25 | run: dotnet test --no-build --verbosity normal
26 |
--------------------------------------------------------------------------------
/.github/workflows/greetings.yml:
--------------------------------------------------------------------------------
1 | name: Greetings
2 |
3 | on:
4 | [pull_request, issues]
5 |
6 | jobs:
7 | greeting:
8 | runs-on: ubuntu-latest
9 | permissions:
10 | issues: write
11 | pull-requests: write
12 | steps:
13 | - uses: actions/first-interaction@v1
14 | with:
15 | repo-token: ${{ secrets.GITHUB_TOKEN }}
16 | issue-message: 'Thank you for taking the time to improve RESTbot! We will review your contribution shortly.'
17 | pr-message: 'Thank you for taking the time to improve RESTbot! We will review your contribution shortly.'
18 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # top-most EditorConfig file
2 | root = true
3 |
4 | # Unix-style newlines with a newline ending every file
5 | [*]
6 | end_of_line = lf
7 | charset = utf-8
8 | indent_style = tab
9 | indent_size = tab
10 | tab_width = 2
11 | trim_trailing_whitespace = true
12 |
13 | # The property below is not yet universally supported
14 | [*.md]
15 | max_line_length = 108
16 | word_wrap = true
17 | # Markdown sometimes uses two spaces at the end to
18 | # mark soft line breaks
19 | trim_trailing_whitespace = false
20 |
21 | [*.yml]
22 | end_of_line = lf
23 | charset = utf-8
24 | indent_style = space
25 | indent_size = 2
26 | trim_trailing_whitespace = true
--------------------------------------------------------------------------------
/.all-contributorsrc:
--------------------------------------------------------------------------------
1 | {
2 | "files": [
3 | "README.md"
4 | ],
5 | "imageSize": 100,
6 | "commit": false,
7 | "commitType": "docs",
8 | "commitConvention": "angular",
9 | "contributors": [
10 | {
11 | "login": "iDJHost",
12 | "name": "iDJHost",
13 | "avatar_url": "https://avatars.githubusercontent.com/u/21136403?v=4",
14 | "profile": "https://github.com/iDJHost",
15 | "contributions": [
16 | "test"
17 | ]
18 | }
19 | ],
20 | "contributorsPerLine": 7,
21 | "skipCi": true,
22 | "repoType": "github",
23 | "repoHost": "https://github.com",
24 | "projectName": "restbot",
25 | "projectOwner": "GwynethLlewelyn"
26 | }
27 |
--------------------------------------------------------------------------------
/.appveyor.yml:
--------------------------------------------------------------------------------
1 | init:
2 | - ps: if ($env:APPVEYOR_REPO_TAG -eq "true") { $env:TAG_VERSION = "$env:APPVEYOR_REPO_TAG_NAME.$env:APPVEYOR_BUILD_NUMBER" } else { $env:TAG_VERSION = "v8.3.0.$env:APPVEYOR_BUILD_NUMBER-alpha" }
3 | - ps: $env:TAG_VERSION = $env:TAG_VERSION -replace 'v',''
4 | - ps: Write-Host "Setting version to '$env:TAG_VERSION'"
5 | - ps: Update-AppveyorBuild -Version "$env:TAG_VERSION"
6 |
7 | environment:
8 | matrix:
9 | - job_name: Linux Build
10 | platform: x64
11 | appveyor_build_worker_image: Ubuntu
12 | configuration: RESTbot
13 |
14 | matrix:
15 | allow_failures:
16 | - image: Ubuntu
17 |
18 | nuget:
19 | disable_publish_on_pr: true
20 |
21 | build:
22 | publish_nuget: false
23 | publish_nuget_symbols: false
24 | use_snupkg_format: true
25 | parallel: true
26 | verbosity: minimal
27 |
28 | before_build:
29 | - dotnet --info
30 | - dotnet restore RESTbot.csproj
31 |
32 | for:
33 | -
34 | matrix:
35 | only:
36 | - job_name: Linux Build
--------------------------------------------------------------------------------
/RESTbot.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | RESTbot
5 | $version$
6 | RESTBot is a C# webserver that uses RESTful transactions to interact with a bot in Second Life or OpenSimulator. It relies on LibreMetaverse.
7 | Pleiades,Gwyneth Llewelyn,others
8 | https://github.com/GwynethLlewelyn/restbot
9 | AGPL-3.0-or-later
10 | assets\images\RESTbot-logo.png
11 | README.md
12 | false
13 | Copyright 2007,2010,2021,2023
14 | LMV OMV OpenMetaverse OpenSim OpenSimulator Halcyon OpenMetaverseFoundation VirtualWorld Radegast SecondLife
15 |
16 | RESTbot
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/assets/configuration/configuration.xml.sample:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 127.0.0.1
6 | 9080
7 |
8 | https://login.agni.lindenlab.com/cgi-bin/login.cgi
9 |
10 |
11 | false
12 |
13 | pass
14 |
15 |
16 |
17 | One Region
18 | 127
19 | 127
20 | 22
21 |
22 |
23 |
24 | true
25 | true
26 |
27 |
28 |
29 |
30 | true
31 | 10000
32 |
33 |
34 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-getgrouproles.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | # LICENSE:
3 | # This file is part of the RESTBot Project.
4 | #
5 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
6 | #
7 | # This program is free software: you can redistribute it and/or modify
8 | # it under the terms of the GNU Affero General Public License as
9 | # published by the Free Software Foundation, either version 3 of the
10 | # License, or (at your option) any later version.
11 | #
12 | # This program is distributed in the hope that it will be useful,
13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | # GNU Affero General Public License for more details.
16 | #
17 | # You should have received a copy of the GNU Affero General Public License
18 | # along with this program. If not, see .
19 |
20 | use XML::XPath;
21 | use HTTP::Request::Common qw(POST);
22 | use LWP::UserAgent;
23 |
24 | $ua = new LWP::UserAgent;
25 | if ( ( $#ARGV + 1 ) < 2 ) {
26 | print "bad args - url session groupkey\n";
27 | exit;
28 | }
29 | my $req = POST $ARGV[0] . "/get_roles/" . $ARGV[1] . "/",
30 | [ 'group' => $ARGV[2] ];
31 |
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | print $res->content . "\n";
35 | }
36 |
--------------------------------------------------------------------------------
/restbot-tools/launch-scripts/systemd/README - for systemd.md:
--------------------------------------------------------------------------------
1 | # Automating the launch in systemd
2 |
3 | This should get RESTbot up and running under Debian/Ubuntu Linux and its derivatives (e.g. RaspberryOS).
4 |
5 | For other systems, please adjust the paths below accordingly.
6 |
7 | ## Requirements
8 |
9 | - `screen` (which can be installed with `apt-get install screen`)
10 |
11 | ## Instructions
12 |
13 | - copy `restbot.service.sample` to `restbot.service`
14 | - fill in the missing data, namely:
15 | * User (the account that this script will run under; avoid `root` at all costs!)
16 | * Group
17 | * adjust the paths for the installation, paying attention that the working directory should be the actual
18 | directory where the binary resides
19 | - let systemd be aware of the existence of the file, running (as root) `/usr/bin/systemctl link /path/to/your/restbot/directory/restbot-tools/launch-scripts/systemd/restbot.service`
20 | - enable the service: `/usr/bin/systemctl enable /path/to/your/restbot/directory/restbot-tools/launch-scripts/systemd/restbot.service`
21 | - from now on, you can safely start and stop the service using `systemctl start restbot` and `systemctl stop restbot`
22 |
23 | If, by any chance, you need to change this script, don't forget to run `systemctl daemon-reload` after saving, so that systemd is made aware of the changes.
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-getgroups.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 1 ) {
27 | print "bad args - url session\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/get_groups/" . $ARGV[1] . "/";
31 |
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | print $res->content . "\n";
35 | }
36 |
--------------------------------------------------------------------------------
/restbot-tools/php-restbot-api/include/config.php:
--------------------------------------------------------------------------------
1 | .
20 | --------------------------------------------------------------------------------*/
21 | # Don't forget to change all the below data!
22 |
23 | $debugdb = false;
24 | $debug = false;
25 | $dburi = "mysql://root:yqeiduyi@localhost:3305/restbot";
26 |
27 | $ownername = "otakup0pe Neumann";
28 | $authuser = "lolwhut";
29 |
30 | $cache_expore = 300;
31 |
32 | $use_syslog = false;
33 |
34 | $restbots = [
35 | ["first" => "", "last" => "", "pass" => "", "host" => "", "key" => ""],
36 | ];
37 |
38 | ?>
39 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/dilation-meter.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # LICENSE:
3 | # This file is part of the RESTBot Project.
4 | #
5 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
6 | #
7 | # This program is free software: you can redistribute it and/or modify
8 | # it under the terms of the GNU Affero General Public License as
9 | # published by the Free Software Foundation, either version 3 of the
10 | # License, or (at your option) any later version.
11 | #
12 | # This program is distributed in the hope that it will be useful,
13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | # GNU Affero General Public License for more details.
16 | #
17 | # You should have received a copy of the GNU Affero General Public License
18 | # along with this program. If not, see .
19 |
20 | # To use this script, make sure you have the following dependencies installed:
21 | # - perl
22 | # - dialog (Ubuntu/Debian: 'apt install dialog'; macOS: 'brew install dialog')
23 |
24 | if [ $# -ne 3 ] ; then
25 | echo "dilation-meter.sh firstname lastname password" ;
26 | exit 1 ;
27 | fi
28 | SESSION=`perl botlogin.pl "$1" "$2" "$3"`
29 | while [ 1 ] ; do
30 | DILATION=`perl bot-dilation.pl "$SESSION"` ;
31 | LEN=`echo "$DILATION" | wc -c` ;
32 | if [ $LEN -eq 1 ] ; then
33 | DILATION=100 ;
34 | fi ;
35 | done | dialog --gauge "Time Dilation" 7 80
36 |
37 | perl botquit.pl $SESSION
38 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-getgroups2.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 1 ) {
27 | print "bad args - url session avkey\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/avatar_groups/" . $ARGV[1] . "/",
31 | [ "key" => $ARGV[2] ];
32 |
33 | $res = $ua->request($req);
34 | if ( $res->code == 200 ) {
35 | print $res->content . "\n";
36 | }
37 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-getgroupprofile.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 1 ) {
27 | print "bad args - url session groupkey\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/get_group_profile/" . $ARGV[1] . "/",
31 | [ "group" => $ARGV[2] ];
32 |
33 | $res = $ua->request($req);
34 | if ( $res->code == 200 ) {
35 | print $res->content . "\n";
36 | }
37 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-status.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 1 ) {
27 | print "bad args - url session\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/status/" . $ARGV[1] . "/";
31 |
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | my $xp = XML::XPath->new(xml => $res->content);
35 | print $xp->getNodeText('/restbot/status') . "\n";
36 | }
37 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-dilation.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 |
22 | use XML::XPath;
23 | use HTTP::Request::Common qw(POST);
24 | use LWP::UserAgent;
25 |
26 | $ua = new LWP::UserAgent;
27 | if ( ( $#ARGV + 1 ) < 2 ) {
28 | print "bad args - url session\n";
29 | exit;
30 | }
31 | my $req = POST $ARGV[0] . "/dilation/" . $ARGV[1] . "/";
32 |
33 | $res = $ua->request($req);
34 | if ( $res->code == 200 ) {
35 | my $xp = XML::XPath->new(xml => $res->content);
36 | print $xp->getNodeText('/restbot/dilation') . "\n";
37 | }
38 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-stats.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 2 ) {
27 | print "bad args - url session\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/sim_stat/" . $ARGV[1] . "/";
31 |
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | print $res->content . "\n";
35 | # my $xp = XML::XPath->new(xml => $res->content);
36 | # print $xp->getNodeText('/restbot') . "\n";
37 | }
38 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/botquit.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 | use Digest::MD5 qw(md5_hex);
25 |
26 | $ua = new LWP::UserAgent;
27 | if ( ( $#ARGV + 1 ) < 2 ) {
28 | print "bad args - url session\n";
29 | exit;
30 | }
31 | my $req = POST $ARGV[0] . '/exit/' . $ARGV[1] . "/";
32 |
33 | $res = $ua->request($req);
34 | if ( $res->code == 200 ) {
35 | my $xp = XML::XPath->new(xml => $res->content);
36 | print $xp->getNodeText('/restbot/disposed') . "\n";
37 | }
38 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-getname.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 3 ) {
27 | print "bad args - url session agent_key\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/avatar_name/" . $ARGV[1] . "/",
31 | [ "key" => $ARGV[2] ];
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | my $xp = XML::XPath->new(xml => $res->content);
35 | print $xp->getNodeText('/restbot/name') . "\n";
36 | }
37 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-getonline.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 3 ) {
27 | print "bad args - session url agent_key\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/avatar_online/" . $ARGV[1] . "/",
31 | [ "key" => $ARGV[2] ];
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | my $xp = XML::XPath->new(xml => $res->content);
35 | print $xp->getNodeText('/restbot/online') . "\n";
36 | }
37 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-joingroup.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 3 ) {
27 | print "bad args - url session group\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/join_group/" . $ARGV[1] . "/",
31 | [ "groupid" => $ARGV[2] ];
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | my $xp = XML::XPath->new(xml => $res->content);
35 | print $xp->getNodeText('/restbot/success') . "\n";
36 | }
37 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-location.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 1 ) {
27 | print "bad args - url session\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/location/" . $ARGV[1] . "/";
31 |
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | my $xp = XML::XPath->new(xml => $res->content);
35 | print $xp->getNodeText('/restbot/sim') . "@" . $xp->getNodeText('/restbot/pos') . "\n";
36 | }
37 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-parcel.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 2 ) {
27 | print "bad args - url session\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/parcel_properties/" . $ARGV[1] . "/";
31 |
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | print $res->content . "\n";
35 | # my $xp = XML::XPath->new(xml => $res->content);
36 | # print $xp->getNodeText('/restbot') . "\n";
37 | }
38 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-regionhandle.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 2 ) {
27 | print "bad args - url region\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/region_handle/" . $ARGV[1] . "/",
31 | [ 'region' => $ARGV[2] ];
32 |
33 | $res = $ua->request($req);
34 | if ( $res->code == 200 ) {
35 | my $xp = XML::XPath->new(xml => $res->content);
36 | print $xp->getNodeText('/restbot/handle') . "\n";
37 | }
38 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-stand.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 1 ) {
27 | print "bad args - url session\n";
28 | exit;
29 | }
30 | my $req;
31 | $req = POST $ARGV[0] . "/sit/" . $ARGV[1] . "/",
32 | [ "action" => "stand_up" ];
33 |
34 | $res = $ua->request($req);
35 | if ( $res->code == 200 ) {
36 | my $xp = XML::XPath->new(xml => $res->content);
37 | print $xp->getNodeText('/restbot/success') . "\n";
38 | }
39 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-leavegroup.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 3 ) {
27 | print "bad args - url session groupkey\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/leave_group/" . $ARGV[1] . "/",
31 | [ "groupid" => $ARGV[2] ];
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | my $xp = XML::XPath->new(xml => $res->content);
35 | print $xp->getNodeText('/restbot/success') . "\n";
36 | }
37 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-teleport.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 4 ) {
27 | print "bad args - url session sim x,y,z\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/teleport/" . $ARGV[1] . "/",
31 | [ "sim" => $ARGV[2] , "pos" => $ARGV[3] ];
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | my $xp = XML::XPath->new(xml => $res->content);
35 | print $xp->getNodeText('/restbot/status') . "\n";
36 | }
37 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-getkey.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 3 ) {
27 | print "bad args - url session firstname lastname\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/avatar_key/" . $ARGV[1] . "/",
31 | [ "name" => $ARGV[2] . " " . $ARGV[3] ];
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | my $xp = XML::XPath->new(xml => $res->content);
35 | print $xp->getNodeText('/restbot/key') . "\n";
36 | }
37 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-startanim.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 3 ) {
27 | print "bad args - url session anim-UUID\n";
28 | exit;
29 | }
30 | my $req;
31 | $req = POST $ARGV[0] . "/startanim/" . $ARGV[1] . "/",
32 | [ "animation" => $ARGV[2] ];
33 |
34 | $res = $ua->request($req);
35 | if ( $res->code == 200 ) {
36 | my $xp = XML::XPath->new(xml => $res->content);
37 | print $xp->getNodeText('/restbot/success') . "\n";
38 | }
39 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-stopanim.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 3 ) {
27 | print "bad args - url session anim-UUID\n";
28 | exit;
29 | }
30 | my $req;
31 | $req = POST $ARGV[0] . "/stopanim/" . $ARGV[1] . "/",
32 | [ "animation" => $ARGV[2] ];
33 |
34 | $res = $ua->request($req);
35 | if ( $res->code == 200 ) {
36 | my $xp = XML::XPath->new(xml => $res->content);
37 | print $xp->getNodeText('/restbot/success') . "\n";
38 | }
39 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-groupinvite.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 4 ) {
27 | print "bad args - url session group avatar\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/invite/" . $ARGV[1] . "/",
31 | [ "group" => $ARGV[2] , "target" => $ARGV[3] ];
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | my $xp = XML::XPath->new(xml => $res->content);
35 | print $xp->getNodeText('/restbot/success') . "\n";
36 | }
37 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-getprofile.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 3 ) {
27 | print "bad args - url session agent_key\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/avatar_profile/" . $ARGV[1] . "/",
31 | [ "key" => $ARGV[2] ];
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | # my $xp = XML::XPath->new(xml => $res->content);
35 | # print $xp->getNodeText('/restbot/name') . "\n";
36 | print $res->content;
37 | }
38 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-parceleditname.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 3 ) {
27 | print "bad args - url session new_name\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/parcel_modify/" . $ARGV[1] . "/",
31 | [ "name" => $ARGV[2] ];
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | # my $xp = XML::XPath->new(xml => $res->content);
35 | # print $xp->getNodeText('/restbot/name') . "\n";
36 | print $res->content;
37 | }
38 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-sitground.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 2 ) {
27 | print "bad args - url session camping\n";
28 | exit;
29 | }
30 | my $req;
31 | $req = POST $ARGV[0] . "/sit/" . $ARGV[1] . "/",
32 | [ "action" => "sit_on_ground", "camp" => $ARGV[2] ];
33 |
34 | $res = $ua->request($req);
35 | if ( $res->code == 200 ) {
36 | my $xp = XML::XPath->new(xml => $res->content);
37 | print $xp->getNodeText('/restbot/success') . "\n";
38 | }
39 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/botshutdown.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use Data::Dumper;
23 | use HTTP::Request::Common qw(POST);
24 | use LWP::UserAgent;
25 | use Digest::MD5 qw(md5_hex);
26 |
27 | $ua = new LWP::UserAgent;
28 | if ( ( $#ARGV + 1 ) < 1) {
29 | print "bad args - url \n";
30 | exit;
31 | }
32 | my $req = POST $ARGV[0] . '/server_quit/pass/';
33 |
34 | $res = $ua->request($req);
35 | if ( $res->code == 200 ) {
36 | my $xp = XML::XPath->new(xml => $res->content);
37 | # print $xp->getNodeText('/restbot/status') . "\n";
38 | print $res->content . "\n";
39 | }
40 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-givelandmark.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 3 ) {
27 | print "bad args - url session name destkey\n";
28 | exit;
29 | }
30 | my $req = POST $ARGV[0] . "/create_landmark/" . $ARGV[1] . "/",
31 | [ "name" => $ARGV[2], "desc" => "restbot 4tw", "avatar" => $ARGV[3] ];
32 | $res = $ua->request($req);
33 | if ( $res->code == 200 ) {
34 | my $xp = XML::XPath->new(xml => $res->content);
35 | print $xp->getNodeText('/restbot/status') . "\n";
36 | }
37 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-sit.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 3 ) {
27 | print "bad args - url session target camping\n";
28 | exit;
29 | }
30 | my $req;
31 | $req = POST $ARGV[0] . "/sit/" . $ARGV[1] . "/",
32 | [ "seat" => $ARGV[2] , "camp" => $ARGV[3], "action" => "sit_on_target" ];
33 |
34 | $res = $ua->request($req);
35 | if ( $res->code == 200 ) {
36 | my $xp = XML::XPath->new(xml => $res->content);
37 | print $xp->getNodeText('/restbot/success') . "\n";
38 | }
39 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ~*
2 | # Stupid macOS temporary files
3 |
4 | # General
5 | .DS_Store
6 | .AppleDouble
7 | .LSOverride
8 |
9 | # Icon must end with two \r
10 | Icon
11 |
12 |
13 | Icon?
14 |
15 | # Thumbnails
16 | ._*
17 |
18 | # Files that might appear in the root of a volume
19 | .DocumentRevisions-V100
20 | .fseventsd
21 | .Spotlight-V100
22 | .TemporaryItems
23 | .Trashes
24 | .VolumeIcon.icns
25 | .com.apple.timemachine.donotpresent
26 |
27 | # Directories potentially created on remote AFP share
28 | .AppleDB
29 | .AppleDesktop
30 | Network Trash Folder
31 | Temporary Items
32 | .apdisk
33 |
34 | # Stuff from the Nova editor
35 | .nova
36 | node_modules
37 | package.json
38 | package-lock.json
39 | .eslintrc.yml
40 | .prettierrc.json
41 |
42 | # Our stuff that we want to exclude
43 | assets/configuration/configuration.xml
44 | restbot-tools/launch-scripts/systemd/restbot.service
45 |
46 | # Dependency directories (remove the comment below to include it)
47 | # vendor/
48 |
49 | # Logging files
50 | logs/*
51 | *.log
52 |
53 | *.test
54 | *.prof
55 |
56 | # Libraries
57 | *.lib
58 | *.a
59 | *.la
60 | *.lo
61 | *.def
62 | *.exp
63 |
64 | # Shared objects (inc. Windows DLLs)
65 | *.dll
66 | #*.so
67 | #*.so.*
68 | #*.dylib
69 | # Other Microsoft Roslyn temporary files
70 | *.pdb
71 | obj/
72 | packages/
73 | restbot.exe-backup.config
74 | # This will be overwritten by a successful compilation anyway (gwyneth 20211129)
75 | restbot-bin/
76 |
77 | # Executables
78 | #*.exe
79 | #*.out
80 | #*.app
81 | #*.i*86
82 | #*.x86_64
83 | #*.hex
84 |
85 | # From Visual Studio
86 | .vs
87 |
88 | # NuGet packages
89 | *.nupkg
90 | *.snupkg
91 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/php/bot-dilation.php:
--------------------------------------------------------------------------------
1 | .
20 | --------------------------------------------------------------------------------*/
21 |
22 | // Don't forget to change th $url to reflect your configuration!
23 |
24 | if ($argv[1] == null) {
25 | print "Usage bot-dilation.php session" . PHP_EOL;
26 | exit(0);
27 | }
28 | $url = "http://lumo.eghetto.ca:9080/dilation/" . $argv[1] . "/";
29 | $ch = curl_init($url);
30 |
31 | curl_setopt($ch, CURLOPT_POST, true);
32 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
33 | $stuff = curl_exec($ch);
34 | curl_close($ch);
35 | if (empty($stuff)) {
36 | print "Nothing returned from server" . PHP_EOL;
37 | exit(1);
38 | }
39 | #print "$stuff";
40 | $xml = new SimpleXMLElement($stuff);
41 | print $xml->dilation . PHP_EOL;
42 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/botlogin.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use Data::Dumper;
23 | use HTTP::Request::Common qw(POST);
24 | use LWP::UserAgent;
25 | use Digest::MD5 qw(md5_hex);
26 |
27 | $ua = new LWP::UserAgent;
28 | if ( ( $#ARGV + 1 ) < 4 ) {
29 | print "bad args - url firstname lastname password\n";
30 | exit;
31 | }
32 | my $req = POST $ARGV[0] . '/establish_session/pass/',
33 | [ 'first' => $ARGV[1], 'last' => $ARGV[2], 'pass' => md5_hex($ARGV[3]) ];
34 |
35 | $res = $ua->request($req);
36 | if ( $res->code == 200 ) {
37 | my $xp = XML::XPath->new(xml => $res->content);
38 | print $xp->getNodeText('/restbot/success/session_id') . "\n";
39 | # print $res->content . "\n";
40 | }
41 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/php/bot-getkey.php:
--------------------------------------------------------------------------------
1 | .
20 | --------------------------------------------------------------------------------*/
21 |
22 | // Don't forget to change th $url to reflect your configuration!
23 |
24 | if ($argv[1] == null || $argv[2] == null || $argv[3] == null) {
25 | print "Usage " . $argv[0] . " session firstname lastname" . PHP_EOL;
26 | exit(1);
27 | }
28 | $url = "http://127.0.0.1:9080/avatar_key/" . $argv[1] . "/";
29 | $ch = curl_init($url);
30 |
31 | curl_setopt($ch, CURLOPT_POST, true);
32 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
33 | curl_setopt($ch, CURLOPT_POSTFIELDS, "name=" . $argv[2] . " " . $argv[3]);
34 | $stuff = curl_exec($ch);
35 | curl_close($ch);
36 | if (empty($stuff)) {
37 | print "Nothing returned from server" . PHP_EOL;
38 | exit(2);
39 | }
40 | $xml = new SimpleXMLElement($stuff);
41 | print $xml->key . PHP_EOL;
42 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/perl/bot-rez.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #--------------------------------------------------------------------------------
3 | # LICENSE:
4 | # This file is part of the RESTBot Project.
5 | #
6 | # Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #-------------------------------------------------------------------------------
21 | use XML::XPath;
22 | use HTTP::Request::Common qw(POST);
23 | use LWP::UserAgent;
24 |
25 | $ua = new LWP::UserAgent;
26 | if ( ( $#ARGV + 1 ) < 4 ) {
27 | print "bad args - url session name x,y,z [path]\n";
28 | exit;
29 | }
30 | my $req;
31 | if ( $ARGV[4] != "" ) {
32 | $req = POST $ARGV[0] . "/rez_from_inventory/" . $ARGV[1] . "/",
33 | [ "name" => $ARGV[2] , "pos" => $ARGV[3] , "path" => $ARGV[4] ];
34 | } else {
35 | $req = POST $ARGV[0] . "/rez_from_inventory/" . $ARGV[1] . "/",
36 | [ "name" => $ARGV[2] , "pos" => $ARGV[3] ];
37 | }
38 | $res = $ua->request($req);
39 | if ( $res->code == 200 ) {
40 | my $xp = XML::XPath->new(xml => $res->content);
41 | print $xp->getNodeText('/restbot/status') . "\n";
42 | }
43 |
--------------------------------------------------------------------------------
/restbot-tools/test-scripts/api/getname.lsl:
--------------------------------------------------------------------------------
1 | //--------------------------------------------------------------------------------
2 | // LICENSE:
3 | // This file is part of the RESTBot Project.
4 | //
5 | // Copyright (C) 2007-2008 PLEIADES CONSULTING, INC
6 | //
7 | // This program is free software: you can redistribute it and/or modify
8 | // it under the terms of the GNU Affero General Public License as
9 | // published by the Free Software Foundation, either version 3 of the
10 | // License, or (at your option) any later version.
11 | //
12 | // This program is distributed in the hope that it will be useful,
13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | // GNU Affero General Public License for more details.
16 | //
17 | // You should have received a copy of the GNU Affero General Public License
18 | // along with this program. If not, see .
19 | //--------------------------------------------------------------------------------
20 |
21 | string API = "http://localhost:9080/restbot/util.php?psk=lolwhut";
22 |
23 | key nameLookupID = NULL_KEY;
24 |
25 | default
26 | {
27 | touch_start(integer total_number)
28 | {
29 | if ( nameLookupID == NULL_KEY ) {
30 | nameLookupID = llHTTPRequest(API + "&command=getname&key=" + (string) llDetectedKey(0), [], "");
31 | } else {
32 | llSay(0, "In use");
33 | }
34 | }
35 |
36 | http_response(key request_id, integer status, list metadata, string body) {
37 | //llWhisper(0, (string) status + " " + body);
38 | if ( request_id == nameLookupID ) {
39 | if ( llGetSubString(body, 0, 1) == "OK" ) {
40 | llSay(0, "Hello thar " + llGetSubString(body, 2, -1));
41 | }
42 | nameLookupID = NULL_KEY;
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/restbot-tools/php-restbot-api/include/groups.php:
--------------------------------------------------------------------------------
1 | .
20 | --------------------------------------------------------------------------------*/
21 | require_once "db.php";
22 | require_once "funktions.php";
23 | /*
24 | function groupList($key) {
25 | global $debug;
26 | $result = rest("get_groups", "");
27 | if ( $result == null ) {
28 | logMessage('sl', 0, "Error retrieving group list for", null, null);
29 | return null;
30 | }
31 | $xml = new SimpleXMLElement($result);
32 | $return = "";
33 | foreach ($xml->groups->group as $group) {
34 | $return += $group->key . "," . $group->name . ",";
35 | }
36 | return $return;
37 | }*/
38 |
39 | function groupInfo($key)
40 | {
41 | // global $debug; // not used, so not included.
42 | $result = rest("get_group_profile", "group=$key");
43 | if ($result == null) {
44 | logMessage("sl", 0, "Error retrieving group profile for $key", null, null);
45 | return null;
46 | }
47 | $xml = new SimpleXMLElement($result);
48 | return $xml->groupprofile->name .
49 | "," .
50 | $xml->groupprofile->insignia .
51 | "," .
52 | $xml->groupprofile->maturepublish .
53 | "," .
54 | $xml->groupprofile->charter;
55 | }
56 |
57 | ?>
58 |
--------------------------------------------------------------------------------
/restbot-tools/php-restbot-api/avatars.php:
--------------------------------------------------------------------------------
1 | .
20 | --------------------------------------------------------------------------------*/
21 | require_once "include/funktions.php";
22 | require_once "include/config.php";
23 |
24 | require_once "include/avatars.php";
25 | require_once "include/util.php";
26 |
27 | global $ownername;
28 | global $authuser;
29 | if (
30 | $_SERVER["HTTP_X_SECONDLIFE_OWNER_NAME"] == $ownername ||
31 | $_REQUEST["psk"] == $authuser
32 | ) {
33 | $authorized = true;
34 | }
35 |
36 | $command = $_REQUEST["command"];
37 |
38 | if ($command == "profilepic") {
39 | if (!$authorized) {
40 | genPipeError("auth");
41 | }
42 | if (!isset($_REQUEST["key"])) {
43 | genPipeError("param");
44 | }
45 | $key = avatarProfilePic($_REQUEST["key"]);
46 | if ($key == null) {
47 | genPipeError("lookup");
48 | } else {
49 | genPipeResponse(friendlyUUID($key));
50 | }
51 | } elseif ($command == "grouplist") {
52 | if (!$authorized) {
53 | genPipeError("auth");
54 | }
55 | if (!isset($_REQUEST["key"])) {
56 | genPipeError("param");
57 | }
58 | $list = avatarGroupList($_REQUEST["key"]);
59 | genPipeResponse($list);
60 | } else {
61 | genPipeError("param");
62 | }
63 |
--------------------------------------------------------------------------------
/.github/workflows/codeql-analysis.yml:
--------------------------------------------------------------------------------
1 | name: "CodeQL"
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 | pull_request:
7 | # The branches below must be a subset of the branches above
8 | branches: [ master ]
9 | schedule:
10 | - cron: '45 10 * * 3'
11 |
12 | jobs:
13 | analyze:
14 | name: Analyze
15 | runs-on: ubuntu-latest
16 | permissions:
17 | actions: read
18 | contents: read
19 | security-events: write
20 |
21 | strategy:
22 | fail-fast: false
23 | matrix:
24 | language: [ 'csharp' ]
25 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
26 | # Learn more about CodeQL language support at https://git.io/codeql-language-support
27 |
28 | steps:
29 | - name: Checkout repository
30 | uses: actions/checkout@v2
31 |
32 | # Initializes the CodeQL tools for scanning.
33 | - name: Initialize CodeQL
34 | uses: github/codeql-action/init@v1
35 | with:
36 | languages: ${{ matrix.language }}
37 | # If you wish to specify custom queries, you can do so here or in a config file.
38 | # By default, queries listed here will override any specified in a config file.
39 | # Prefix the list here with "+" to use these queries and those in the config file.
40 | # queries: ./path/to/local/query, your-org/your-repo/queries@main
41 |
42 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
43 | # If this step fails, then you should remove it and run the build manually (see below)
44 | - name: Autobuild
45 | uses: github/codeql-action/autobuild@v1
46 |
47 | # ℹ️ Command-line programs to run using the OS shell.
48 | # 📚 https://git.io/JvXDl
49 |
50 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
51 | # and modify them (or add more) to build your code if your project
52 | # uses a compiled language
53 |
54 | #- run: |
55 | # make bootstrap
56 | # make release
57 |
58 | - name: Perform CodeQL Analysis
59 | uses: github/codeql-action/analyze@v1
60 |
--------------------------------------------------------------------------------
/restbot-tools/php-restbot-api/groups.php:
--------------------------------------------------------------------------------
1 | .
20 | --------------------------------------------------------------------------------*/
21 | require_once "include/funktions.php";
22 | require_once "include/config.php";
23 |
24 | require_once "include/groups.php";
25 | require_once "include/util.php";
26 |
27 | global $ownername;
28 | global $authuser;
29 | if (
30 | $_SERVER["HTTP_X_SECONDLIFE_OWNER_NAME"] == $ownername ||
31 | $_REQUEST["psk"] == $authuser
32 | ) {
33 | $authorized = true;
34 | }
35 | $command = $_REQUEST["command"];
36 |
37 | if ($command == "groupinfo") {
38 | if (!$authorized) {
39 | genPipeError("auth");
40 | }
41 | if (!isset($_REQUEST["group_key"])) {
42 | genPipeError("param");
43 | }
44 | $result = groupInfo($_REQUEST["group_key"]);
45 | if ($result == null) {
46 | genPipeError("unknown");
47 | } else {
48 | genPipeResponse($result);
49 | }
50 | /*} else if ( $command == "getgroups" ) {
51 | if ( !$authorized ) {
52 | genPipeError('auth');
53 | }
54 | if ( ! isset($_REQUEST['av_key']) ) {
55 | genPipeError('param');
56 | }
57 | $result = groupList($_REQUEST['av_key']);
58 | if ( $result == null ) {
59 | genPipeError('unknown');
60 | } else {
61 | genPipeResponse($result);
62 | }*/
63 | } else {
64 | genPipeError("param");
65 | }
66 |
--------------------------------------------------------------------------------
/Microsoft.Build.xsd:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
14 |
15 |
16 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/assets/configuration/log4net.config:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
27 |
28 |
29 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
61 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/restbot-tools/php-restbot-api/include/db.php:
--------------------------------------------------------------------------------
1 | .
20 | --------------------------------------------------------------------------------*/
21 |
22 | // Note: You can get DB.php using `pear install DB`
23 | // However, this PEAR package is deprecated in favour of MDB2; caveat utilitor
24 | require_once "/usr/local/share/pear/DB.php";
25 |
26 | function getConn()
27 | {
28 | global $dburi;
29 | $conn = &DB::connect($dburi);
30 | if (DB::isError($conn)) {
31 | logMessage("db", 0, $conn->getMessage(), null, null);
32 | genPipeError("db");
33 | } else {
34 | return $conn;
35 | }
36 | }
37 |
38 | function getSingle($sql)
39 | {
40 | global $debugdb;
41 | if ($debugdb) {
42 | logMessage("db", 3, "SQL - " . $sql);
43 | }
44 | $return = 0;
45 | $conn = getConn();
46 | $result = $conn->query($sql);
47 | if (DB::isError($result)) {
48 | logMessage("db", 0, "Query Error " . $result->getMessage(), null, null);
49 | genPipeError("db");
50 | }
51 | if ($result->numRows() > 1) {
52 | return "MULTIPLE";
53 | }
54 | $row = $result->fetchRow();
55 | if (count($row) == 1) {
56 | $return = $row[0];
57 | }
58 | return $return;
59 | }
60 |
61 | function doQuery($sql)
62 | {
63 | global $debugdb;
64 | if ($debugdb) {
65 | logMessage("db", 3, "SQL - " . $sql);
66 | }
67 | $conn = getConn();
68 | $result = $conn->query($sql);
69 | if (DB::isError($result)) {
70 | logMessage("db", 0, "Query Error " . $result->getMessage(), null, null);
71 | genPipeError("db");
72 | }
73 | return $result;
74 | }
75 |
76 | function doUpdate($sql)
77 | {
78 | global $debugdb;
79 | if ($debugdb) {
80 | logMessage("db", 3, "SQL - " . $sql);
81 | }
82 | $conn = getConn();
83 | $result = $conn->query($sql);
84 | if (DB::isError($result)) {
85 | logMessage("db", 0, "Query Error " . $result->getMessage(), null, null);
86 | genPipeError("db");
87 | }
88 | return $conn->affectedrows();
89 | }
90 |
--------------------------------------------------------------------------------
/restbot-tools/php-restbot-api/include/sl.php:
--------------------------------------------------------------------------------
1 | .
20 | --------------------------------------------------------------------------------*/
21 | require_once "db.php";
22 | require_once "funktions.php";
23 |
24 | function getGridStatus()
25 | {
26 | $url = "http://www.secondlife.com/status";
27 | if (!@$web = file($url)) {
28 | logMessage("sl", 0, "Error looking up grid status", null, null);
29 | return "Unknown";
30 | }
31 | if (!$web) {
32 | logMessage("sl", 0, "Error looking up grid status", null, null);
33 | return "Unknown";
34 | }
35 | $data = implode("", $web);
36 | $findme = "Open";
37 | preg_match_all("/