Git Product home page Git Product logo

gotbot's Introduction

gotbot NPM version Build Status Dependency Status

Introduction

This is probably the most advanced Star Trek Timelines chat bot in existence. It supports all the basic commands you'd expect from most similar bots such as

  • Basic crew stats
  • Extended crew stats including rankings and special links
  • Crew search by traits or character type

More advanced query capability such as

  • Mission drop rates
  • Gauntlet success calculator
  • Voyage mission time estimator
  • A user manual for the discord administrator

There are killer features under development including

  • Crew selection and management - keep track of all your crew
  • Gauntlet crew optimizer
  • Voyage crew optimizer

There is a freely available public version of this bot that can be installed on your server with two clicks. For more information, please join https://discord.gg/R8QzpjW and ask the moderator for instructions

To reach the author for help or thanks or other issues, join Discord at https://discord.gg/R8QzpjW

Bug reports in the code and pull requests are welcome but any requests for help will be closed with redirection to Discord

Why open source?

This bot has killer features made especially for the author's fleet the Guardians of Tomorrow. But we do want to give a better STT experience for the whole community. The killer features could have been kept strictly secret but here are the motivations

  • For any general fleet in the community, you can run a freely hosted free version of the bot by asking at https://discord.gg/R8QzpjW
  • If you are a node.js developer who can understand this code, I'm looking for people willing to help maintain and contribute to the codebase. If you are able to do that, please work with us and in exchange it is fair you get full access to the key features. If you are only seeking to use the bot, please use the freely hosted and supported version

It is my hope that by open sourcing these secrets, when the day comes this author is no longer around to maintain the bot, someone else will be able to pick up the baton. I'd be happy to help guide that person should they come forward.

Installation

Pre-requisite knowledge for developers

  • Typical node.js setup and installation
  • discord.js, including obtaining Discord tokens
  • cron/supervise and other schedulers

If you need help on the above, please RTM. Otherwise proceed...

Node 12 or higher is required!

Clone this repository, and run:

$ npm install && npm test

Copy password_sample.js to data/password.js and supply valid Discord bot tokens

The bot requires the GUILD_MEMBERS privileged intent so please enable that for your bot per https://discord.com/developers/docs/topics/gateway#privileged-intents

Usage

$ ./gotcron
$ node lib/cachewiki.js
$ npx ts-node lib/index.ts 

If you have daemontools installed, you can also do supervise . to run the node apps. You can use cron to schedule gotcron to be run at an appropriate interval

Docker support

A DockerHub image is available to be pulled at glorat/gotbot. For this image to work you will need

  • To mount a persistent volume at /usr/src/gotbot/data
  • Copy a password.js in there (see test-data/ for a sample)
  • You'll need to pre-run ./gotcron before the main CMD can be executed

Obviously, this is very fiddly so it's best to get a bash shell up against the container to set everything up before running the container normally. Patches welcome to bundle all the pre-checks into the run script so it Just Works

License

Copyright © Kevin Tam 2018 Licensed under the GNU Affero General Public License v.3.0

gotbot's People

Contributors

dependabot[bot] avatar glorat avatar gotgunboat avatar magelite avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gotbot's Issues

Voyage estimation is off

The gold standard is the chewable c++ calculator, which has different parameters to the got bot. Bot needs updating

New Tilly crew is not being imported

New crew "The Colony" Tilly is not being imported into gotbot.

The stt.wiki page has managed to use the actual crew name, which is inconsistent to how the "Dark Ages" McCoy page worked.

The assumption was made that any crew starting with " would always have the " converted to ''.

Need to update the match and replace so that it only affects the "Dark Ages" McCoy crew.

Avatars appearing as crew

Reported by cheif_bigfoot in Discord channel.

Alfa 177 Canine appears mistakenly appears in the crew collect command.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.