All Projects → mikechambers → dcli

mikechambers / dcli

Licence: MIT license
Command line utilities for Destiny 2

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to dcli

the-traveler
The Traveler is a small npm package which wraps around the Destiny 2 API.
Stars: ✭ 52 (+6.12%)
Mutual labels:  destiny-api, destiny2
POE-TradeMacro
Price checking script for Path of Exile.
Stars: ✭ 963 (+1865.31%)
Mutual labels:  gaming
MC-Eternal-1.12
Tons of thrilling™ Adventures, Magic, Science, Quests, Combat, Bosses, Automation, Exploration, and Rats who shoot cheese from cannons??
Stars: ✭ 28 (-42.86%)
Mutual labels:  gaming
vga-passthrough
Up to date (2021) reference for setting up a VGA passthrough on (Ubuntu) Linux.
Stars: ✭ 171 (+248.98%)
Mutual labels:  gaming
cloud-game-servers-examples
Collection of examples for using Google Cloud Game Servers.
Stars: ✭ 28 (-42.86%)
Mutual labels:  gaming
gloriousctl
A utility to adjust the settings of Model O/D mice on Linux/BSD
Stars: ✭ 35 (-28.57%)
Mutual labels:  gaming
Resources
We are the educational powerhouse for all things Aim, FPS, and Esports.
Stars: ✭ 43 (-12.24%)
Mutual labels:  gaming
pathofexile-flatpak
Path of Exile Flatpak
Stars: ✭ 11 (-77.55%)
Mutual labels:  gaming
StadiaIcons
A set of icons for games based on the Google Stadia logo.
Stars: ✭ 20 (-59.18%)
Mutual labels:  gaming
rtcwPro
RtcwPro - Competition Mod for Return to Castle Wolfenstein
Stars: ✭ 16 (-67.35%)
Mutual labels:  gaming
r6maps
Rainbow Six Siege map quick references
Stars: ✭ 74 (+51.02%)
Mutual labels:  gaming
Post-Tweaks
A post-installation batch script for Windows
Stars: ✭ 136 (+177.55%)
Mutual labels:  gaming
sms-gaming
🎮 Gaming platform powered by Twilio SMS.
Stars: ✭ 111 (+126.53%)
Mutual labels:  gaming
cloudgamestream
A Powershell one-click solution to enable NVIDIA GeForce Experience GameStream on a cloud machine with a GRID supporting GPU.
Stars: ✭ 99 (+102.04%)
Mutual labels:  gaming
Arcadia-Auction
CSGO League App | Featured on Google DevLibrary
Stars: ✭ 17 (-65.31%)
Mutual labels:  gaming
leagueoflegends
A command-line interface for League of Legends Esports.
Stars: ✭ 28 (-42.86%)
Mutual labels:  gaming
website
Lutris.net website
Stars: ✭ 96 (+95.92%)
Mutual labels:  gaming
RetroGamingWorkshop
Retro Gaming Workshop (first offered Winter 2018)
Stars: ✭ 15 (-69.39%)
Mutual labels:  gaming
Apple-Silicon-Guide
Apple Silicon Guide. Learn all about the M1, M1 Pro, M1 Max, and M1 Ultra chips.
Stars: ✭ 240 (+389.8%)
Mutual labels:  gaming
panzerlop
Configuration Guides for fixing things in Linux, Proton & KDE
Stars: ✭ 23 (-53.06%)
Mutual labels:  gaming

dcli

dcli (Destiny Command Line Interface) is a collection of utilities and apps that provide a command line interface (CLI) for viewing player stats and data from Destiny 2, using the Destiny 2 API.

If you run into any issues, have any ideas, or just want to chat, please post in issues or share on Discord

Apps

Utilities

TOOL DESCRIPTION
dclim Manages and syncs the remote Destiny 2 API manifest database
dclisync Downloads and syncs Destiny 2 Crucible activity history into a local sqlite3 database file
dclitime Generates date / time stamps for Destiny 2 weekly event moments

Apps

TOOL DESCRIPTION
dclia Displays information on player's current activity within Destiny 2
dcliah Displays Destiny 2 activity history and stats
dcliad Displays Destiny 2 Crucible activity / match details

Libraries

TOOL DESCRIPTION
dcli Library used across all of the dcli apps

Each tool page contains additional tool specific information and usage examples.

You can also find some additional examples in the examples folder.

Download and Installation

You can download the latest binaries for Windows, Linux and x86_64 Mac from the releases page.

Just download, place them in your path and run from the command line (use --help to get a list of options). You can find a script here that will run all of the apps to verfiy they are working and in your path.

IMPORTANT: Mac binaries are not signed, which can cause some hassle the first time you run them. You can find info on how to easily run them here.

Getting Started

The core idea behind the project is to provide small, focused utilities that provide useful info by themselves, but that can also be combined together, or with other shell scripts to create greater functionality.

To get started, download the release (or compile from source), and place the executables somewhere within your path so you can call them from anywhere. Doing this will make it easy to call from anywhere on your system and from other sciprts.

If you are running on Mac, make sure to read this article to ensure everything will run correctly.

Before viewing your stats you need to first sync the manifest (which contains information about weapons, maps, etc...).

Download the manifest

You can download the latest Destiny 2 manifest database using dclim. This contains information about all of the items and activities in Destiny 2, and is updated periodically.

Just run:

$ dclim

and the manifest file will be downloaded and saved in a system appropriate directory. You should peridocially run this command to check whether the manifest has been updated by Bungie.

Sync your activities

Next, lets sync all of our activity history to a local database and view data. This data will be used by other apps, such as dcliah to generate and display stats.

$ dcliah --name mesh#3230 

Replacing mesh#3230 with your own Bungie name.

You can find your Bungie name in game, or on Bungie's site at https://www.bungie.net/7/en/User/Account/IdentitySettings.

The first time you run this, it may take a couple of minutes to load all of your data (depending on the number of activities that you have). If any errors occur while syncing, just re-run the app when its done. It is smart enough to only sync the acitivties that it missed the first time.

Once you have done the initial sync, subsequent activity syncs should be very fast. You can periodically re-run the app to keep things in sync, or have dcliah / dcliad automatically sync before it displays your stats.

If you just want to sync data and not view it, use dclisync.

Grabbing data

Lets see all of our Crucible stats since the weekly reset on Tuesday for our last played character:

$ dcliah --name mesh#3230 --moment weekly

Let's view our historic Crucible stats across all of our characters for all time:

$ dcliah --name mesh#3230 --mode all_pvp --moment all_time -class all

Putting it all together

These can be useful on their own, but where they can be really powerful is when you start to customize them for how you want to use them.

There are a couple of examples in the examples directory:

  • Send a notification when you load into a new activity (particularly useful when playing crucible so you can see which map you are loading into)
  • Automatically generate weekly reports on your Crucible stats and email them to yourself
  • Track your Crucible stats per game play session

As you can see, right now, a lot of the functionality is Crucible based. If you would like to see other functionality, make sure you requests it in the issues, or Discord.

Learning More

At anytime, you can see which arguments and options are avaliable by passing the --help argument:

$ dcliah --help

You can also find additional documentation and examples on the individual app pages for each app.

Questions, Feature Requests, Feedback

If you have any questions, feature requests, need help, or just want to chat, join the dcli Discord server.

You can also log bugs and features requests on the issues page.

Compiling

Tools are written and compiled in Rust. The 1.50.0 rust version is required, which can be installed and set via:

$ rustup toolchain install 1.50.0
$ rustup override set 1.50.0

Build Status

When compiling you must have an environment variable named DESTINY_API_KEY which contains your Bungie API key.

To compile, switch to the src/ directory and run:

$ cargo build --release

which will place the compiled tools in src/target/release

Known Issues

  • Tied matches are not displayed correctly, and are treated as a Victory.

License

Project released under a MIT License.

License: MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].