This project is a Second Life group chat linguistic analyzer using Corrade via MQTT.


  • breaks down analysis into whole group metrics or per-group/per-user metrics (users in other groups get a group-local personal analysis).
  • counting number of typed words.


Sentiment analysis is a form of NLP that runs the group chat through an analyzer and stores the results persietently. The sentiment analyser then claims to be able to provide an overview of how "positive" or "negative" the group chat or certain people in group chat are. "positive" and "negative" are defined in terms of a words list that classifies words and phrases such as curse words or inspirational talk in either category.


[23:18] ecto: Since everyone is writing a poem, here is mine to do is to be to be is to do to do is to be to be is to do I know I'm not a great poet, but I've been told this is very "Scooby do be do" [ecto/90115]
[23:19] Kira: #sentiment
[23:19] ecto: Overall group sentiment: 0.33589406207827255
[23:19] Kira: #sentiment ecto
[23:19] ecto: ecto 's overall sentiment: 0.33589406207827255


  • node.js, confirmed working with version 7.10.1 (node -v) and NPM version 4.2.0 (npm -v) - please make sure you have at least these version numbers
  • Corrade, confirmed working with version 10.3.7274.7830
    • Corrade must have the MQTT server enabled and running without compression.

Two programs will have to be running at all times: Corrade and this program.

Setting up Corrade is wholely documented on the Wizardry and Steamworks Corrade page. This template however requires the following permissions and notifications:

  • Notifications:
    • group
  • Permissions:
    • talk

Node.JS can be installed for each Linux distribution and for Windows from official sources.


The source can be checked out using Subversion from the following URL:


In the directory containing this document issue the command:

npm install

in order to install dependencies.

Next, copy the file config.yml.dist to config.yml and edit the file to make the settings.


For a test run, execute:

node main.js

and follow the console messages. If everything went well, the program will announce that it has connected to Discord and to the Corrade MQTT server.

Linux: Running as a Service

Copy the file from contrib/linux/corrade-group-linguistics.service to /etc/systemd/system/ and edit it to configure parameters.

Set the executable bit on the main file in the downloaded directory:

chmod +x main.js

Issue the command:

systemctl enable corrade-group-linguistics

to enable the service.

Finally, issue:

systemctl start corrade-group-linguistics

to start up the analyzer in the background.

The service will be restarted in case it crashes and will also restart after reboots.

Licensing and Terms

The standard Corrade dual-license applies to this project. For more information on the Corrade dual license, please see the Corrade documentation.

secondlife/scripted_agents/corrade/projects/external_services/group_linguistics.txt ยท Last modified: 2022/11/24 07:45 by

Access website using Tor Access website using i2p Wizardry and Steamworks PGP Key

For the contact, copyright, license, warranty and privacy terms for the usage of this website please see the contact, license, privacy, copyright.