#telegram-bot #bot #telegram #chat-bot #ai #admin

telitairos-bot

一个功能齐全的AI驱动助手Telegram机器人

3个不稳定版本

0.2.0 2024年6月14日
0.1.2 2024年6月12日
0.1.1 2024年6月12日
0.1.0 2024年6月12日

1434命令行工具

Download history 329/week @ 2024-06-10 9/week @ 2024-06-17

每月130次下载

MIT 许可证

24KB
434

photo-2024-04-08-10-51-03-removebg-preview

telitairos 机器人


一个功能齐全的AI驱动Telegram机器人。

🦀

设置指南

  1. 使用 rustup 安装Rust。
  2. 使用 @BotFather 创建Telegram机器人并获取令牌
  3. 创建一个 OpenAI API平台账户 并获取API令牌和组织ID
  4. 添加环境变量
- TELOXIDE_TOKEN= "/* Your Telegram Bot API Key */"
- OPENAI_API_KEY= "/* Your OpenAI API Key */"
- OPENAI_ORG_ID= "/* Your OpenAI Organization ID */"
  1. 将这些行放入你的Cargo.toml文件中
[dependencies]
telitairos-bot = "0.1.2"
teloxide = { version = "0.12", features = ["macros"] }
log = "0.4"
pretty_env_logger = "0.4"
tokio = { version =  "1.8", features = ["rt-multi-thread", "macros"] }

支持的命令

你可以这样做

🦀 管理员命令

  • /mute X {h/m/s/p} -> 禁言聊天群组中的用户指定时间。'p'表示'永久'。
  • /ban X {h/m/s/p} -> 禁止聊天群组中的用户指定时间。'p'表示'永久'。

🦀 AI命令

  • /ask 提出指定问题。
  • /mediate 读取聊天群组最后N条消息并缓解争论。

基本用法

TelitairoBot 结构体实现了 Default 特性,因此您只需这样做即可启动一个具有通用个性的机器人:

let telitairo_bot = TelitairoBot::default();

或者部分初始化它,如下所示:

let telitairo_bot = TelitairoBot {
  personality: String::from("You are a Victorian era, tea addicted assistant"),
  ..Default::default(),
}

如果您想设置自己的参数,您还需要指定机器人的个性和缓解争论时的标准。还需要指定聊天群组最后N条消息的上下文大小。

有关详细示例,请参阅 TelitairoBot

示例

#[tokio::main]
async fn main() {
   pretty_env_logger::init();
   log::info!("Starting bot");

   let telitairo_bot = TelitairoBot::new(
       String::from(/*Personality */),
       String::from(/* Mediation criteria */),
       /*size */,
   );

   telitairo_bot.dispatch().await;
}

依赖关系

~15–33MB
~486K SLoC