Skip to content

A Discord and Second Life Bot that Relays between the two, and supports multiple channels/groups.

License

Notifications You must be signed in to change notification settings

redrobotsl/discord-sl-chat-relay

Repository files navigation

Contributors Forks Stargazers Issues MIT License


SL Discord Relay Bot

A Discord and Second Life bot capable of relaying messages between inworld Second Life Groups, and Discord Channels.
Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Contributing
  5. License
  6. Acknowledgments

About The Project

A Discord and Second Life bot capable of relaying messages between inworld Second Life Groups, and Discord Channels, supports (theoretically) as many groups as the second life allows(42 for normal accounts, 70 for premium). This has not been tested with more than 10 groups, your available memory is also a limitation.

(back to top)

Built With

NodeJS-Icon NPM-icon JavaScript-Icon

(back to top)

Getting Started

Prerequisites

  • The Latest NPM:
    npm install npm@latest -g
  • Node:
  • A Discord Bot Token:
    • Refer to This Guide if you are not sure how to do this.
  • Discord Channel ID:
  • Second Life Group UUID:
    • This SL Forums explains how
    • In world the bot must be in the groups you want it to relay.
  • Add your bot to a discord server using this link(add your CLIENT ID from your bot where specified)
  • Add your Second Life Bot account(NOT YOUR ACCOUNT, THE BOTS!) to all the groups you want to relay. Make sure it has Join Chat enabled!

Installation

  1. Clone the repo and open the repository folder:

    git clone https://github.com/redrobotsl/discord-sl-chat-relay.git && cd discord-sl-chat-relay
  2. Run npm install in the folder:

    npm install --no-dev
  3. Copy the .env-example to .env:

    cp .env-example .env
  4. Copy config.js.example to config.js:

    cp config.js.example .config.js
  5. Fill out .env with the required environment variables:

    DISCORD_TOKEN= 
    OWNER= 
    SL_FIRSTNAME= 
    SL_LASTNAME= 
    SL_PASSWORD= 
    SL_START=
  6. Edit config.js to map the inworld group UUIDS to teh Discord Channel IDS:

     relays: new Map([
      ["SL GROUP UUID", "DISCORD CHANNEL ID"] // For just one group no comma after the bracket
     ]),

    For Multiple:

    relays: new Map([
     ["SL Group UUID", "Discord Channel ID"], // For Multiple relays you need a comma after each bracket but the last one
     ["SL Group UUID", "Discord Channel ID"], // For Multiple relays you need a comma after each bracket but the last one
     ["SL Group UUID", "Discord Channel ID"], // For Multiple relays you need a comma after each bracket but the last one
     ["SL Group UUID", "Discord Channel ID"], // For Multiple relays you need a comma after each bracket but the last one
     ["SL Group UUID", "Discord Channel ID"], // For Multiple relays you need a comma after each bracket but the last one
     ["SL Group UUID", "Discord Channel ID"] //  No Comma After the final bracket.
     ]),
  7. Start the bot using:

    node index.js
  8. Invite the bot to your server:

    • Here is how to do it

(back to top)

Roadmap

  • Add Region Restart Evasion with Fallback Regions in the Config File

    • On Region Restart notice, teleport to a fallback region, as well as on login, if can't login to the main region, teleport to a fallback region, don't want your bots sticking around somewhere you don't want it
  • Add Reload Capability of SL and Discord Commands/Event files.

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Acknowledgments

(back to top)

About

A Discord and Second Life Bot that Relays between the two, and supports multiple channels/groups.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •