# Tara [![crates.io][crates.io-badge]][crates.io] Tara is a new, free, open-source self-hostable, Discord bot. [INSERT STRENGTHS HERE]
Tara works on Linux (with macOS and Windows support coming soon). [Installation](#installation) • [Using](#using)

Installation

Tara can be installed in 2 simple steps:

  1. Install executable

If your desired platform isn't seen below, please open an issue.

Linux

The recommended way to install Tara is by way of a package manager. If using cargo install, some dependencies won't automatically be installed. You'll need to install sqlite3 previous to running the instructions. On Debian and Ubuntu systems the required package is libsqlite3-dev, on Arch and related systems it's sqlite.

| Distribution | Repository | Instructions | | ------------ | --------------- | ----------------------------- | | Any | [crates.io] | cargo install tara --locked |

  1. Configure

Before the bot can be started successfully, it needs to be configured.

Linux

The configuration file is located at /etc/tara.d/tara.toml.

The configuration file should look similarly to below:

```toml directmessagecooldown = 5 # Optional

[secrets]

Discord bot token

token = ""

API key from currencyapi.com.

currencyApiKey = "" # Optional ```

Present in all the configuration files are the following keys:

Using

Commands

| Name | Description | Usable in DMs | Permissions | | ------------------------- | ---------------------------------------------------------------------------------------- | -------------- | ------------ | | define | Defines an English word | Yes | NONE | | wiki | Searches for a wikipedia page and returns a summary | Yes | NONE | | random coin | Flips a coin | Yes | NONE | | random cat | Gives a random cat photo | Yes | NONE | | random dog | Gives a random dog photo | Yes | NONE | | random quote | Gives a random quote | Yes | NONE | | random number | Generates a random number between optional low and high bounds (inclusive) | Yes | NONE | | search duckduckgo | Search DuckDuckGo for a search term. Results are censored. | Yes | NONE | | conversions temperature | Convert one temperature unit to another. Supports celsius, kelvin, and fahrenheit | Yes | NONE | | conversions currency | Convert from one currency to another. Only enabled when secrets.currencyApiKey is set. | Yes | NONE | | settings set * | Set settings for the current guild | No | MANAGEGUILD | | settings view * | See current guild settings | No | MANAGEGUILD | | role add | Give yourself a self-assignable role | No | NONE | | role remove | Remove a self-assignable role | No | NONE | | role list | List all self-assignable roles | No | NONE |