Giter VIP home page Giter VIP logo

cosmoquestx / rocket-bot Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 1.0 606 KB

The Bot of the New generation of explorers for the CosmoQuest server on Discord. Assembled with official APIs and documentation, originally created using the Github Students Program tools.

Home Page: https://CosmoQuest.org/x/

JavaScript 96.93% Dockerfile 1.44% HTML 1.63%
discord-js discord-bot discord-api nodejs botkit-discord nasa-api weather-api mathjs

rocket-bot's Introduction

๐Ÿš€ Rocket Bot (v2.3.1 Stable)

Check out all the different commands, and maybe make some more. With version 2.3 of Rocket Bot, you can do a lot.

Introduction

This is a bot built for the CosmoQuest server on Discord, it is a replacement for the CosmoQuest One which was an outdated version of the robot.

History

The original Rocket Bot was created by CosmoQuest community member Kaio Duarte. The current version is being maintained primarily by TheRealFakeAdmin and KeeperOfMaps.

Application Programming Interface (APIs)

๐ŸŒ‘ NASA's APOD: We use the NASA API to access the full history of Astronomy Picture of The Day

๐ŸŒ’ Flickr API: Get images from the latest JWST posts.

๐ŸŒ“ OpenWeatherMap: OpenWeatherMap is an API for obtaining weather information

๐ŸŒ” AviationWeather.gov: Source for the METAR and TAF data

๐ŸŒ• Discord API: For everything basically


Docker Instructions

Docker - First install

Starting in the Rocket-Bot directory

  1. cd CosmoQuestBot-master

  2. Edit .example-env using your preferred IDE or text-editor. Fill out all necessary details (DISCORD_TOKEN, NASA_API_KEY, & WEATHER_API_KEY)

    Try nano .example-env

  3. After making your changes, save the file as .env.

  4. Run docker build . -t rocket-bot:v2.3.1

Docker - Usage instructions

  • Run docker run --name rocket-bot-231 -d rocket-bot:v2.3.1 from anywhere on the system to start the bot

    • To auto-restart after a server reboot, add the tag --restart always

    After the first install, there is no need to run the build command until the next update. All the necessary packages have already been installed.

Docker - Stopping the container

Eventually you might want to stop the container, run the following commands to accomplish this:

  1. docker ps displays all running process; locate rocket-bot:v2.3.1 & note the Container ID

    • if it returns no process, you need to change your context by running docker context list then docker context use <context_not_marked_with_*>
      • run step 1 again
  2. docker stop rocket-bot

    After a short time, it should return the Container Name you just entered, this means it stopped successfully.

  3. docker rm <container_id> (optional)

    • Use this before updating to a new version

Configuration

Options

Name Default Type Description
botName N/A <string> The name of the bot [does not need to match username]
debug false [bool] Enables debug features.
devId N/A [string] User ID of the bot owner.
discord N/A <url-string> Sets the Discord invite link.
github N/A <url-string> Sets the GitHub repo link.
throwInvalid false [bool] Toggles the !<command> is not a valid command. error message.
version N/A <array> Defines the version.

rocket-bot's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

rocket-bot's Issues

cookie command needs to accommodate usernames without an at-sign

The cookie command should be able to handle a username that does not start with an @-sign.

This should resolve the following errors:

2022-10-29T06:38:38.182091604Z     at Object.exports.run (/usr/src/app/commands/cookie.js:12:19)
2022-10-29T06:38:38.182097835Z     at Client.<anonymous> (/usr/src/app/main.js:135:21)
2022-10-29T06:38:38.182103034Z     at processTicksAndRejections (node:internal/process/task_queues:96:5)

LICENSE needed

We have no license selected for Rocket Bot. Having no license could be very limiting to the free-use of Rocket Bot. I suggest we select one to allow for guilt free use by others.

Here are the top 2 I have in mind, though feel free to suggest more:

  • The MIT License is short and to the point. It lets people do almost anything they want with your project, like making and distributing closed source versions.
  • The GNU GPLv3 also lets people do almost anything they want with your project, except distributing closed source versions.

Honorable Mention:

  • Apache License 2.0 is a permissive license whose main conditions require preservation of copyright and license notices.

New command: !kerbals

!kerbals <number of days|months|years>|<date>

Returns the number of kerbal equivalent to the number of days/months/years or since/until the date.

Considerations: Needs to calculate the value of a kerbal each time as it is a continuously changing constant.

TAF command

Similar to the metar command, a !taf command would return the most recently issued TAF for a specified airport.

Update packages

Security updates needed, 1 Critical; many High. Will do a rolling update.

Update CHANGELOG

CHANGELOG does not currently have all the new features of v2.2.0. These need to be added.

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.