#discord-bot #channel #discord #voice #temporary #server #command

app bobbot

一个用于创建和销毁临时语音频道的 Discord 机器人

14 个版本 (3 个稳定版)

1.1.0 2023 年 5 月 13 日
1.0.1 2022 年 11 月 8 日
1.0.0 2022 年 8 月 18 日
0.10.3 2022 年 1 月 24 日
0.4.0 2020 年 11 月 3 日

#767命令行工具

每月 49 次下载

AGPL-3.0-or-later

96KB
1.5K SLoC

Bob Bot

一个用于创建和销毁 临时语音频道 的 Discord 机器人。

是否想要在 Discord 上拥有 Mumble 的临时语音频道?
Bob 可以帮你实现!

用法

该机器人允许服务器上的每个人在 任何包含启用了斜杠命令的文本频道的类别 中创建临时语音频道。

创建临时语音频道

要创建临时语音频道,请在连接到语音聊天时使用 /build 命令。

/build {name}

将创建一个新的临时语音频道,并由机器人将你移动到其中。

你将拥有该语音频道上的 所有 权限,就像服务器管理员给了你该频道的 管理频道 权限一样。

你可以使用这个权限来创建仅为你和几位朋友或仅允许少数人交谈的私人语音频道。

保存和加载预设

如果你经常需要设置相同的权限在语音频道中,你可以将它们存储在预设中,以便将来加载。

你可以使用 /save 斜杠命令来实现。

/save {preset} {channel} [overwrite]

如果你在整个服务器上具有 管理频道 权限,你可以通过指定 {overwrite} 参数来编辑现有预设。

然后你可以使用 /build 斜杠命令加载预设。

/build {name} {preset}

预设是服务器特定的,因此你不必担心名称冲突。

配置机器人

设置命令频道

如果你在整个服务器上具有管理频道权限,你将能够选择机器人发送通知的文本频道,使用 /config cc 命令。

/config cc {channel}

设置删除时间

如果你在整个服务器上具有管理公会权限,你将能够选择临时频道在它们被删除之前可以保持空置的时间,使用 /config dt 命令。

/config dt {timeout}

超过 30 分钟的超时是实验性的,可能会使机器人变慢。

添加到您自己的服务器

您可以通过点击以下链接将机器人添加到自己的服务器:这个链接

请注意,由于Discord权限系统的一个特性,机器人必须为管理员才能正常工作,因为它不允许非管理员在设置了“管理权限”的情况下创建频道。

添加机器人后,使用/config cc设置命令频道和删除时间/config dt,否则机器人将拒绝运行。

托管自己的实例

先决条件

安装

  1. 通过cargo下载和编译bobbot crate

    $ cargo install bobbot   
    
  2. 为Bob Bot创建一个Postgres角色和数据库名称

    CREATE USER bobbot;
    CREATE DATABASE bobbot OWNER bobbot;
    
  3. 设置以下环境变量,或创建一个位于您将要执行机器人的目录中的.env文件

    # Sets the logging level
    # https://docs.rs/env_logger/0.9.0/env_logger/
    export RUST_LOG=bobbot=info
    # Discord bot account token
    # https://discord.com/developers/applications/APPLICATION_ID/bot
    export DISCORD_TOKEN=AAAAAAAAAAAAAAAAAAAAAAAA.AAAAAA.AAAAAAAAAAAAAAAAAAAAAAAAAAA
    # Discord application id
    # https://discord.com/developers/applications/APPLICATION_ID/information
    export DISCORD_APPID=000000000000000000
    # URL of the Postgres database
    # https://diesel.rs/guides/getting-started#setup-diesel-for-your-project
    export DATABASE_URL=postgres://bobbot@/bobbot
    

运行

  1. 第一次运行机器人时,您需要注册其斜杠命令,以便用户可以调用它们。
    您可以通过设置以下环境变量来一次性运行机器人

    $ DISCORD_REGISTER_COMMANDS=1 bobbot
    
  2. 接下来运行机器人时,请勿设置环境变量,否则所有命令将无法工作,直到一小时后

    $ bobbot
    

更新

  1. 您可以通过使用cargo重新安装crate来更新机器人

    $ cargo install bobbot
    
  2. 如果斜杠命令已更改,您可能需要在第一次运行时重新注册斜杠命令

    $ DISCORD_REGISTER_COMMANDS=1 bobbot
    

开发

该项目使用IntelliJ IDEA UltimateIntelliJ Rust插件进行开发,并包含一些有用的功能,使调试更容易。

依赖项

~25–41MB
~744K SLoC