#telegram-bot #bot #media #telegram #sticker #alias

app tg-media-bot

Telegram 媒体别名机器人

1 个不稳定版本

0.1.0 2022年1月13日

#4 in #sticker

MIT 许可证

45KB
1K SLoC

Telegram 媒体机器人

Clippy workflow Cargo workflow Formatting workflow

使用 Rust 编写的 Telegram 机器人,用于将不同的媒体(目前仅支持贴纸)进行别名处理。

工作原理

最初,没有指定任何别名。可以使用 /add 命令添加别名,该命令启动添加过程

add_demo

之后,您可以在消息中使用指定的别名(用冒号括起来)。机器人将发送相关媒体到聊天

replacing_demo

使用方法

机器人目前正在 http://t.me/textmedia_bot 运行。

  • 将其添加到聊天室(或开始私聊对话)
  • (如果用于聊天) 如果您希望所有消息在聊天中可见,请授予管理员权限。
  • 根据 /start/help 使用它

如何自行运行它

要求

  • Rust/Cargo 1.56+
  • Redis 6.2+

较旧版本可能也可以工作,但尚未经过测试。

启动

您可以使用 cargo install 或手动克隆到仓库,然后在机器上安装或在文件夹中构建和运行。

  • 启动 Redis 服务器
  • TELOXIDE_TOKEN 环境变量中指定机器人 API 令牌

使用 cargo 安装

  • 输入 cargo install --git https://github.com/bragov4ik/tg-media-bot.git
  • 使用 tg-media-bot 命令运行机器人 (如果 cargo 安装目录在您的 PATH 中)

手动安装

  • 将仓库克隆到任何文件夹
  • 在文件夹内部使用 cargo install
  • 写入 tg-media-bot 以运行 (如果不起作用,请检查 cargo 安装位置是否在您的 PATH 中)

手动便携式启动

  • 将仓库克隆到任何文件夹
  • 输入 cargo run --release 以构建和运行项目

参数

有一个可选参数 - Redis地址。您只需要指定地址本身,不需要redis://前缀。

用法示例:tg-media-bot 127.0.0.1

问题/错误

如果发现与代码相关的任何错误,请创建一个带有其描述的问题。

计划工作/特性

按照重要性排序(越高越优先)

  • 更自动化的部署
  • 添加适当的(单元)测试
  • 添加对任何媒体的支持
  • 行内搜索
  • 更优雅地处理常见命令的方式
  • 标记符号指定(冒号可能引起冲突)然而目前可以通过不给机器人管理员权限来避免,这样它看不到所有消息
  • 解决TODOs (不是关键,但更好的实践)

依赖关系

~15–29MB
~460K SLoC