电报搜群搜频道bot搭建

如果要搭建网页搜索引擎,可以使用这个:https://bbs.zsxwz.com/thread-6013.htm

电报搜索项目:https://github.com/SharzyL/tg_searcher

支持docker安装:https://github.com/SharzyL/tg_searcher/blob/master/doc/deploy.md

手动安装,以Ubuntu为例。

1、安装

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#安装依赖
apt install nano python3 redis
#安装tg-searcher
python3 -m pip install -U tg-searcher
#安装依赖 apt install nano python3 redis #安装tg-searcher python3 -m pip install -U tg-searcher
#安装依赖
apt install nano python3 redis

#安装tg-searcher
python3 -m pip install -U tg-searcher

2、创建配置文件

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#创建配置文件
mkdir tg_searcher
cd tg_searcher
nano config.yaml
#创建配置文件 mkdir tg_searcher cd tg_searcher nano config.yaml
#创建配置文件
mkdir tg_searcher
cd tg_searcher
nano config.yaml

配置文件:https://github.com/SharzyL/tg_searcher/blob/master/doc/configuration.md

根据自己的实际情况修改

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
common:
# 当前 Searcher 实例的名称,防止部署多个实例的时候文件冲突
name: sharzy_test
# 运行时存储索引文件、session 文件等的位置,多个实例可以使用相同的位置
runtime_dir: /var/lib/tg_searcher
# 用于访问 Telegram 的代理,支持 socks5 和 http 协议,如不需要可以去掉该行
proxy: socks5://localhost:1080
api_id: 1234567
api_hash: 17a89121c4347182b112e15c1517a998
sessions:
- name: alice # 用来标识 session 的名称,在配置文件中唯一即可
phone: '+18352436375' # 用户的电话号码
backends:
- id: pub_index # 用来标识后端的名称,在配置文件中唯一即可
use_session: alice # 后端所使用的 session 的名称
- id: priv_idx
use_session: alice
config:
monitor_all: true # 当启用这一选项的时候,所有的会话均会被监听,新消息全部会被加入索引
excluded_chats: # 当 monitor_all 选项启用的时候,这个列表里的会话不会被监听
- 342843148
- 857204339
frontends:
- type: bot # 目前只支持 bot 类型的前端
id: public
use_backend: pub_index # 使用的后端的名称
config:
admin_id: 619376577 # 管理员的用户 ID
bot_token: 1200617810:CAF930aE75Vbac02K34tR-A8abzZP4uAq98
page_len: 10 # 搜索时每页显示的结果数量,默认为 10
redis: localhost:6379 # Redis 服务器的地址,默认为 localhost:6379
no_redis: localhost:6379 # 不使用 Redis 来持久化部分用户数据
- type: bot
id: private
use_backend: priv_idx
config:
admin_id: 619376577
# 不同前端应该使用不同的 bot_token
bot_token: 2203317382:BkF390ab92kcb1b2ii2b4-1sbc39i20bb12
redis: localhost:6379 # Redis 服务器的地址,默认为 localhost:6379
# 如果开启了 private_mode,那么只有 private_whitelist 里的用户才能使用 bot
# 管理员默认位于 private_whitelist 中,无需额外添加
private_mode: true
private_whitelist:
- 719376577
common: # 当前 Searcher 实例的名称,防止部署多个实例的时候文件冲突 name: sharzy_test # 运行时存储索引文件、session 文件等的位置,多个实例可以使用相同的位置 runtime_dir: /var/lib/tg_searcher # 用于访问 Telegram 的代理,支持 socks5 和 http 协议,如不需要可以去掉该行 proxy: socks5://localhost:1080 api_id: 1234567 api_hash: 17a89121c4347182b112e15c1517a998 sessions: - name: alice # 用来标识 session 的名称,在配置文件中唯一即可 phone: '+18352436375' # 用户的电话号码 backends: - id: pub_index # 用来标识后端的名称,在配置文件中唯一即可 use_session: alice # 后端所使用的 session 的名称 - id: priv_idx use_session: alice config: monitor_all: true # 当启用这一选项的时候,所有的会话均会被监听,新消息全部会被加入索引 excluded_chats: # 当 monitor_all 选项启用的时候,这个列表里的会话不会被监听 - 342843148 - 857204339 frontends: - type: bot # 目前只支持 bot 类型的前端 id: public use_backend: pub_index # 使用的后端的名称 config: admin_id: 619376577 # 管理员的用户 ID bot_token: 1200617810:CAF930aE75Vbac02K34tR-A8abzZP4uAq98 page_len: 10 # 搜索时每页显示的结果数量,默认为 10 redis: localhost:6379 # Redis 服务器的地址,默认为 localhost:6379 no_redis: localhost:6379 # 不使用 Redis 来持久化部分用户数据 - type: bot id: private use_backend: priv_idx config: admin_id: 619376577 # 不同前端应该使用不同的 bot_token bot_token: 2203317382:BkF390ab92kcb1b2ii2b4-1sbc39i20bb12 redis: localhost:6379 # Redis 服务器的地址,默认为 localhost:6379 # 如果开启了 private_mode,那么只有 private_whitelist 里的用户才能使用 bot # 管理员默认位于 private_whitelist 中,无需额外添加 private_mode: true private_whitelist: - 719376577
common:
  # 当前 Searcher 实例的名称,防止部署多个实例的时候文件冲突
  name: sharzy_test

  # 运行时存储索引文件、session 文件等的位置,多个实例可以使用相同的位置
  runtime_dir: /var/lib/tg_searcher

  # 用于访问 Telegram 的代理,支持 socks5 和 http 协议,如不需要可以去掉该行
  proxy: socks5://localhost:1080

  api_id: 1234567
  api_hash: 17a89121c4347182b112e15c1517a998

sessions:
  - name: alice             # 用来标识 session 的名称,在配置文件中唯一即可
    phone: '+18352436375'   # 用户的电话号码

backends:
  - id: pub_index           # 用来标识后端的名称,在配置文件中唯一即可
    use_session: alice      # 后端所使用的 session 的名称

  - id: priv_idx
    use_session: alice
    config:
      monitor_all: true     # 当启用这一选项的时候,所有的会话均会被监听,新消息全部会被加入索引
      excluded_chats:       # 当 monitor_all 选项启用的时候,这个列表里的会话不会被监听
        - 342843148
        - 857204339

frontends:
  - type: bot               # 目前只支持 bot 类型的前端
    id: public
    use_backend: pub_index    # 使用的后端的名称
    config:
      admin_id: 619376577   # 管理员的用户 ID
      bot_token: 1200617810:CAF930aE75Vbac02K34tR-A8abzZP4uAq98
      page_len: 10          # 搜索时每页显示的结果数量,默认为 10
      redis: localhost:6379 # Redis 服务器的地址,默认为 localhost:6379
      no_redis: localhost:6379 # 不使用 Redis 来持久化部分用户数据

  - type: bot
    id: private
    use_backend: priv_idx
    config:
      admin_id: 619376577
      # 不同前端应该使用不同的 bot_token
      bot_token: 2203317382:BkF390ab92kcb1b2ii2b4-1sbc39i20bb12
      redis: localhost:6379 # Redis 服务器的地址,默认为 localhost:6379
      # 如果开启了 private_mode,那么只有 private_whitelist 里的用户才能使用 bot
      # 管理员默认位于 private_whitelist 中,无需额外添加
      private_mode: true
      private_whitelist:
        - 719376577

3、运行。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
python3 -m tg_searcher -f /root/tg_searcher/config.yaml
python3 -m tg_searcher -f /root/tg_searcher/config.yaml
python3 -m tg_searcher -f /root/tg_searcher/config.yaml

4、机器人使用。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
下载频道消息加入索引
/download_chat https://t.me/zsxwz
监听频道消息
/monitor_chat https://t.me/zsxwz
查看状态
/stat
下载频道消息加入索引 /download_chat https://t.me/zsxwz 监听频道消息 /monitor_chat https://t.me/zsxwz 查看状态 /stat
下载频道消息加入索引
/download_chat https://t.me/zsxwz

监听频道消息
/monitor_chat https://t.me/zsxwz

查看状态
/stat

留言

取消回复
0 out of 65525
* - 必填