Skip to content

Apollo Server is a discord bot that query status for a serie of valve games such as CSGO, L4D, TF2 and much more

License

Notifications You must be signed in to change notification settings

henriquemod/apolloservers-discord-bot

Repository files navigation


Logo

Apollo Servers

The best gameserver status query bot for your discord server!
Explore the docs »

Add Bot · Report Bug · Request Feature

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

About The Project

This project was first idealized from my personal need in a bot that could query game servers, in special CSGO servers and all available solutions at the moment were either insufficient or couldn't offer all the features I wanted.

Here a few things Apollo can do:

  • Up to 25 servers per discord server
  • Autoupdate embends
  • Suports legacy and slash commands
  • Help menu

The idea is to keep simple while giving discord admins the possibility of adding their preferred game server (for now limited to valve protocols) and make easy for users to check server status (players count, tags, map, game, server name and more)

(back to top)

Built With

(back to top)

Getting Started

This project is in development state as well the API the bot consumes, if you intend to host this bot to query gameservers in your discord server feel free to contact me and ask for an api key, futher more i'll be creating a webpage to allow people to create their own account's

Prerequisites

  • NodeJS v16.14+
  • MongoDB
  • Yarn
    npm install yarn -g

Installation

  1. Get a free API Key at Website under development contact me for a key
  2. Clone the repo
    git clone git@github.com:henriquemod/apolloservers-discord-bot.git
  3. Install NPM packages
    yarn
  4. Configure docker-compose.yml with desired credentials and then run
    docker-compose up -d
    If you already have a mongodb server you can skip this step

  1. Rename .env.example to .env and fill variables with your relevant data
    If in production I strongly recommend using local environment variables instead putting in an. env file for security purposes

  1. Build project

    yarn build
  2. Start the bot

    yarn dev

(back to top)

Usage

Command Description Permition Legacy Slash
status Show a menu to user select one to show its status public
servers Show a status resume of all servers added public
setkey Set an API Key admin 🚫
setlocale Set the locale to be used admin 🚫
settimezone Set the timezone to be used admin 🚫
addschedule Create embend with server status that are frequently refreshed admin
deleteschedule Delete a schedule admin
addserver Add a gameserver admin 🚫
deleteserver Delete a gameserver admin
showservers Show servers with their IDs and settings admin
editdesc Edit a server description admin
edithost Edit a server host admin
editname Edit a server name admin
editport Edit a server port admin
edittype Edit a server type admin
botpresence Show how many servers this bot is added bot owner
botstatus Change bot status bot owner 🚫

For more in depth command usage, please refer to the Documentation

(back to top)

Roadmap

  • Add Changelog
  • Add back to top links
  • Multi-language Support
    • English
    • Portuguese
    • Spanish
  • Test coverage all cases

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. You can also simply open an issue with the tag "enhancement". 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 GPL-3.0 License. See LICENSE for more information.

(back to top)

Contact

Henrique Souza - LinkedIn

Project Link: https://github.com/henriquemod/apolloservers-discord-bot

(back to top)