API文档|发行|叽叽喳喳

一个封闭式的CHATGPT机器人,用于电报。
Telegpt是基于Teloxide框架和Async_openai的电报机器人。它提供了一种使用您自己的API密钥的最新ChatGpt模型进行交互的简便方法。
?用纯锈代码库快速闪电。
?所有类型的聊天(私人和组)支持。
实时流式传输令牌您的消息气泡。
⌨️电报 - 流动的Markdown渲染支持。
?令牌使用统计记录和可查询的命令。
完全可以使用基于文件的配置进行自定义。
管理员功能(Beta)和用户访问控制支持。
我们建议您在部署专用服务器时使用预制的Docker映像,它通过GitHub Action通过GitHub容器注册表发布。当前,支持具有AMD64体系结构的机器。
docker login -u your_github_username -p your_personal_access_token https://ghcr.ioconfig.json文件: cp config.json.example config.json请按照以下说明填写config.json中的令牌。
docker-compose up -d # start the container您可能会发现有用的其他命令:
docker-compose logs -f # check the logs, press ctrl+c to stop viewing
docker-compose down # stop the container
docker-compose pull # pull the latest image要在内部部署或测试,您可以直接从“版本”页面下载预构建的二进制文件。目前,支持Linux和MacOS(英特尔和苹果硅)主机。
克隆存储库并运行:
$ cargo build --release在运行机器人之前,您需要创建一个配置文件。该程序默认情况下从当前工作目录中读取telegpt.config.json ,您还可以通过-c选项指定配置文件路径。
该文档中描述了配置,这是一个示例:
{
"openaiAPIKey" : " sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx " ,
"botToken" : " 8888888888:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX " ,
"adminUsernames" : [ " cyandev " ],
"conversationLimit" : 30 ,
"databasePath" : " ./path/to/telegpt.sqlite " ,
"i18n" : {
"resetPrompt" : " I’m ready for a new challenge. What can I do for you now? "
}
}要启动机器人,只需运行:
$ /path/to/telegpt当您看到消息Bot is started ,您就可以开始了!
注意:用户的输入将以
DEBUG级别记录。要保护用户隐私,请不要在生产环境中启用它。
对于调试目的,您可以通过设置RUST_LOG环境变量来启用详细日志。例如:
$ RUST_LOG=TRACE /path/to/telegpt此功能取决于数据库以存储配置。为了确保您的数据在重新启动后不会丢失,您需要在配置文件中设置数据库路径。
该机器人具有一些内置的基本管理功能。您可以控制允许谁使用机器人,并通过一组命令动态更改成员列表。
默认情况下,该机器人可用于公共使用。这意味着每个添加它的人都可以与之聊天,这可能会使您的令牌付出很大的代价。如果您只想在一小部分人中部署和使用该机器人,请发送/set_public off命令以使bot私有。当您想再次公开它时,请发送/set_public on 。
当机器人处于私有模式时,只有管理员用户和受邀成员才能与之聊天。您可以通过/add_member和/del_member命令添加或删除成员。论点是用户名。例如: /add_member cyandev 。
当前,只有管理员用户可以使用管理员命令,其他成员用户不允许使用它们。
该机器人将使用SQLITE数据库存储运行时产生的一些数据。默认情况下,如果您不提供本地文件路径,则数据将存储在内存数据库中。重新启动机器人时,所有以前的数据(例如添加成员)将丢失。我们建议您使用基于文件的数据库来实现可用性。
电视将在最近积极维护,其中有一些计划中的功能正在开发中。
问题和公关受到欢迎。在提交新问题或PR之前,最好先检查现有问题。讨论和功能请求在开始工作之前很高兴。
麻省理工学院