Skip to main content

Discord Astro Bot

Discord Bot for Star Citizen players

This project contains python bot project for Discord, useful for Star Citizen players.

Available features:

  1. Organization fleet information. Each member can add/remove ships that he owns. Database is stored for everyone. There are commands to display whole organization fleet or ships owned by specific member.
  2. Ship matrix data. There are commands to view ship details, comparison of multiple ships or check prices of multiple ships that match expression (e.g. all DRAKE ships)
  3. Displaying of Road Map data with filters on specific expression (e.g. when searching for a ship release). Displaying info for a specific release or Road Map category.
  4. Displaying current SC releases (PU and PTU) according to Road Map version.
  5. Thread monitoring changes in current SC release on Road Map page and Spectrum forums.
  6. Trade assistant shows best trade routes for given conditions (budget, cargo, start/end location).
  7. Mining assistant showing resources prices.

If your bot is running use the help command to see all available commands.

Prerequisites

  • Python 3.5+
  • MongoDB - for storing data cache
  • Some SQL database if you don't want to use default SQLite

Dependencies

  • aiohttp 3.4.4
  • async-timeout 3.0.1
  • disco-py 0.0.12
  • pafy 0.5.4
  • pymongo 3.7.2
  • SQLAlchemy 1.2.12
  • tabulate 0.8.2
  • youtube-dl 2018.10.5

Installation

pip install dastro_bot
python -m dastro_bot.install DIRECTORY_NAME

The second command generates default configuration files to run your own BOT:

  • discord_bot.json - disco-py bot configuration file
  • discord_bot.py - basic bot class
  • discord_bot.service - systemd unit file
  • languages.py - named tuples with translation
  • settings.py - custom settings for your bot

Basic Configuration

Here's what you absolutely need to configure to run the bot:

  • discord_bot.json
    • set the token value to your generated discord token
  • settings.py
    • set the CHANNELS dict values to channels IDs from your server
    • actually in basic config only the main channel is required
    • you can set all three channels with the same value
  • discord_bot.service
    • if you want to setup a systemd service

Trade and mining data

All raw data for these features is pulled from this project API:
https://scm.oceandatarat.org
I strongly encourage to use this page for prices and other data reporting or to contribute in any other way to the linked project. Please create your own account on that page and set the SCM_TOKEN in settings.py accordingly.

SQL Database

Astro Bot uses SQL Alchemy to handle database and SQLite database is used by default. If you want to use different database then please adjust settings.py file accordingly.
There are two parameters there which are used to configure database:

DATABASE_NAME
DATABASE_DIALECT

MongoDB

Mongo is used to store cache data (in case if external data sources are unavailable). It works with default settings. If you need to customize it find MONGO_CONNECTION_STRING in settings.py

Release files for dastro-bot 1.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dastro-bot 1.3.5
File Size Uploaded
dastro_bot-1.3.5.tar.gz 6.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dastro-bot 1.3.5
File Interpreter ABI Platform
dastro_bot-1.3.5-py3-none-any.whl Python 3 none any Details

Total release size: 15.1 kB

Release files / dastro_bot-1.3.5.tar.gz

Download URL dastro_bot-1.3.5.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4ba89cf5b5f94233e791eea230dc43eb7ad9c419d9023d8fb4d2f3ffe312e913
BLAKE2b-256 checksum
How to use checksums
2187f4760bc13025e856f0829eb1c2d2929dff4f464843338866a90f29d33a4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/3.6.8

Release files / dastro_bot-1.3.5-py3-none-any.whl

Download URL dastro_bot-1.3.5-py3-none-any.whl
Size 8.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
07d820dba199d1ac0b3a97c14cb292af93b4f211c8146b4511f7ae1e69958ec7
BLAKE2b-256 checksum
How to use checksums
1d8760f5fa8bfe0cb0501faa13efc3b844f3b87cee789cff2caf26c143704b2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/3.6.8

Release history Release notifications | RSS feed

This release

1.3.5 This release

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page