#discord-bot #discord #modern #free #linux #macos #self-hostable

nightly app tara

Tara 是一个现代、免费、开源的自托管 Discord 机器人

6 个版本

0.3.1 2023 年 4 月 10 日
0.3.0 2023 年 4 月 6 日
0.1.11 2023 年 4 月 4 日

#44 in #discord-bot

Download history 3/week @ 2024-03-31 133/week @ 2024-04-07 1/week @ 2024-04-14

83 每月下载次数

Apache-2.0

115KB
2.5K SLoC

Tara

crates.io github-release github-license

Tara 是一个现代、免费、开源的自托管 Discord 机器人。

Tara 支持 Linux 和 macOS。

安装使用

安装

Tara 可以通过两个简单的步骤进行安装

  1. 安装可执行文件

如果您想要的平台在下面没有显示,请 提交一个问题

Linux

推荐通过包管理器安装 Tara。如果使用 cargo install,一些依赖项不会自动安装。您需要在运行说明之前安装 sqlite3。在 Debian 和 Ubuntu 系统上,所需的包是 libsqlite3-dev,在 Arch 和相关系统上是 sqlite

分发 仓库 说明
任何 crates.io cargoinstall tara --locked
macOS

推荐通过包管理器安装 Tara。

仓库 说明
crates.io cargoinstall tara --locked
  1. 配置

在成功启动机器人之前,需要对其进行配置。Tara 有一个交互式设置子命令,tara config init

$ tara config init --help
tara-config-init 0.2.0
Create configuration files with a user-provided configuration

USAGE:
    tara config init

FLAGS:
    -h, --help    Prints help information

tara config init 将在适当的位置创建一个配置文件。如果需要修改,可以进行修改。文件的内容应与操作系统无关,但文件系统中的位置将不同。

Linux

Tara 将按照以下顺序查找配置文件

  1. $XDG_CONFIG_HOME/Tara/tara.toml$HOME/.config/Tara/tara.toml
  2. /etc/tara.d/tara.toml
macOS

Tara 的配置文件位于此处: $HOME/Library/Application Support/com.github.El-Wumbus.Tara/tara.toml

配置文件应类似于以下内容

randomErrorMessage = false

[secrets]
# Discord bot token
token = "<DISCORD_TOKEN>"

# API key from currencyapi.com.
currencyApiKey = "<CURRENCYAPI.COM>" # Optional

所有接受的键

  • randomErrorMessage - 此键允许从从JSON文档加载的集合中随机选择错误消息。如果将此键设置为 true,它将在默认位置查找 error_messages.json 文件。如果启用且文件无法解析(因为它不存在或无效),Tara将继续使用默认错误消息。另一种选择是将此设置为错误消息文件的路径。如果设置为 false,则使用单个静态错误消息。

    错误消息文件的默认位置取决于系统。

    Linux

    Tara将在这几个位置查找现有文件。

    1. $XDG_CONFIG_HOME/Tara/error_messages.json$HOME/.config/Tara/error_messages.json
    2. /etc/tara.d/error_messages.json
    macOS

    Tara将在此处查找现有文件: $HOME/Library/Application Support/com.github.El-Wumbus.Tara/error_messages.json

  • direct_message_cooldown - 此可选键用于设置在直接消息中运行命令之间的最小持续时间(以秒为单位)。默认值为 3

  • secrets.token - 根据以下说明获取Discord令牌:构建你的第一个Discord应用

  • secrets.currencyApiKey - currencyApiKey 是一个可选键,用于启用货币转换功能。可以从 currencyapi.com 获取。此功能最多每六小时刷新一次。这意味着该功能无需付费API密钥。

使用

运行

要启动Tara,请使用 tara daemon 命令。如果没有错误或警告发生,Tara的stdout和stderr将为空。如果Tara有合适的Discord令牌,那么它就 准备好使用

$ tara daemon --help
tara-daemon 0.2.0
Start Tara

USAGE:
    tara daemon [OPTIONS]

FLAGS:
    -h, --help    Prints help information

OPTIONS:
        --config <config>    Specify a configuration file to use instead of the default

Discord命令

名称 描述 可用于DM 权限
define 定义一个英语单词 NONE
wiki 搜索维基百科页面并返回摘要 NONE
random coin 掷硬币 NONE
random cat 提供一个随机的猫照片 NONE
random dog 提供一个随机的狗照片 NONE
random quote 提供一个随机引言 NONE
random number 生成一个随机数,范围在可选的低和高界限之间(包括界限) NONE
search duckduckgo 对搜索词进行DuckDuckGo搜索。结果被审查。 NONE
conversions temperature 将一个温度单位转换为另一个。支持摄氏度、开尔文和华氏度 NONE
conversions currency 将一种货币转换为另一种货币。只有当 secrets.currencyApiKey 设置时才启用。 NONE
settings set* 设置当前服务器的设置 MANAGE_GUILD
settings view* 查看当前服务器的设置 MANAGE_GUILD
role add 为自己分配一个可分配的角色 NONE
role remove 删除一个可分配的角色 NONE
role list 列出所有可分配的角色 NONE

依赖项

~68MB
~1.5M SLoC