# 搭建Telegram群里的AI GPT机器人

**URL:** <https://www.sunai.net/t/topic/75>\
**Category:** IT\
**Created:** [2024 年8 月 26 日 11:31 UTC](https://www.sunai.net/t/topic/75 "2024-08-26T11:31:46Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

作者： ![wood](https://www.sunai.net/user_avatar/www.sunai.net/wood/32/1032_2.png) [@wood](https://www.sunai.net/u/wood)\
发布日期： [2024 年8 月 26 日 11:31 UTC](https://www.sunai.net/t/topic/75/1 "2024-08-26T11:31:46Z")

</div>

docker compose是这样的:

```yml
version: "3.5"
services:
  chatgptbot:
    container_name: q58_ai_bot
    image: yym68686/chatgpt:latest
    environment:
      - BOT_TOKEN=749xxx70:AAEuxxxxxxx3myk
      - API=sk-NqnBxxxxxxx88E5
      - WEB_HOOK=https://telegram-ai-bot.q58.org
      - GPT_ENGINE=gpt-4o-mini
      - API_URL=https://oapi.czl.net/v1/chat/completions
      - NICK=@Q58_AI_bot
      - GOOGLE_API_KEY=AIzaxxxxxjFms
      - GOOGLE_CSE_ID=33xxxx44b97
      - ADMIN_LIST=591xxxxxx993
      - GROUP_LIST=-10xxxxx81
      - REPLY=true
      - PASS_HISTORY=10
      - SYSTEMPROMPT=你是Q58社区论坛的AI助手, 当用户询问问题时, 如果没有指定语言, 则需要使用中文回复.
    volumes:
      - ./user_configs:/home/user_configs
    ports:
      - 4397:8080

```

下面一个个解释:

#### BOT\_TOKEN

这个是找一个机器人号, 叫`Bot Father`, 新建一个机器人, 然后输入名字,编码, 成功了它就会发给你机器人的token

#### API

这个是gpt的key, 我用的是oapi的, 所以下面的`API_URL`也就是自定义的.

#### WEB\_HOOK

这个可以提升机器人回复的速度, 这个网址是通过nginx, 反代这个容器的对外端口, 也就是下面的`4397`, 然后把绑定的域名放在这里就行

#### GPT\_ENGINE

这个是默认模型, 设置不设置都可以, 因为运行后可以使用`/info`进行设置

#### API\_URL

ai接口的url, 如果是官方就是`https://api.openai.com/v1/chat/comletions`

#### NICK

这个是机器人的名字, 这样在群里它就只会回复@它的消息, 不然每个人的消息它都回复, 就乱了

#### GOOGLE\_API\_KEY和GOOGLE\_CSE\_ID

创建Google Cloud项目：  
在Google Cloud Console ([https://console.cloud.google.com/](https://console.cloud.google.com/)) 上创建一个新的项目。  
记下项目ID，后面会用到。  
启用谷歌搜索控制台API：  
移至Google Cloud Console。  
打开您的项目。  
在侧边菜单中选择 "API 和服务"，然后在 "仪表盘" 选项卡上找到 "谷歌搜索控制台API"（Google Custom Search API）。  
启用 "谷歌搜索控制台API"。  
单击 "凭据"，然后创建一个新凭据（API密钥）。记下生成的API密钥。  
在Google搜索控制台上设置搜索引擎：  
在Google搜索控制台（[https://programmablesearchengine.google.com/about/）上创建一个新的搜索引擎。](https://programmablesearchengine.google.com/about/%EF%BC%89%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E%E3%80%82)  
配置搜索引擎的设置，例如搜索内容的范围、注册为网站管理员等。  
记下搜索引擎ID。

#### ADMIN\_LIST

管理员列表, 这个自己搜一下机器人, 叫 [Telegram: Launch @myidbot](https://t.me/myidbot) , 然后输入`/getid`, 就可以了.

 ![image.png](https://i.czl.net/r2/original/1X/6209999cc534ec6dd30514a7685c484d787e59cd.png)

#### GROUP\_LIST

可以用机器人的群组ID, 这个也是把上面那个机器人邀请到群组里, 然后输入 `/` , 就会有提示了.

#### REPLY

启用回复状态

#### PASS\_HISTORY

上下文数量

#### SYSTEMPROMPT

系统提示词

* * *

运行后telegram上就能用了.不过还需要设置一个东西

### 关闭机器人的群组隐私权限

在Bot Father里面

 ![image.png](https://i.czl.net/r2/original/1X/80f2dc46a4f7fe91e4300d13390eb91aa06d4fe0.png)

 ![image.png](https://i.czl.net/r2/original/1X/854dd86e2f864b3a009827e1a9e73cf10da0dd45.png)

 ![image.png](https://i.czl.net/r2/original/1X/d8001cd4e591f35884ff9a206071a3c58ad577ec.png)

本来是开着的, 把它"Turn off"就可以了

 ![image.png](https://i.czl.net/r2/original/1X/f3752f140497c5a88f3f5c187bba65479681b550.png)
