GithubHelp home page GithubHelp logo

telegram-search's Introduction

Telegram Search Bot

Bot:@awesomeopensource_search_bot

这里是为 @awesomeopensource 打造的搜索 Bot,直接发送你要搜索的内容即可。搜索支持 Lucene 语法。

同时可以为群组、频道、个人提供聊天记录搜索服务。

特性

  • 中文分词引擎
  • 可按日期搜索
  • Telegram Bot 前端
  • 可拓展的定制化搜索引擎

原理

使用 Telegram Client Api 获取频道内所有信息,并持续监听新信息。

将所有信息归档进 Elasticsearch 搜索引擎,用户可以在 Bot 前端执行搜索。

如何搭建

  1. 前提条件

    申请 Telegram MTProto API ID: https://my.telegram.org/app

    申请 Telegram Bot ID:@BotFather

    准备一个 Telegram 账号

    安装 Python3:https://www.python.org/downloads/

  2. 登陆

    clone 下这个项目

    安装依赖: pip install -r requirements.txt

    修改 main.py 中的配置或使用环境变量

    • API_ID:Telegram MTProto API ID
    • API_HASH:Telegram MTProto API ID
    • BOT_TOKEN:从 BotFather 获取的 bot token
    • CHAT_ID:你要搜索的 chat 的 ID,可以使用 @getidsbot 获取。
    • ADMIN_ID:管理员的 ID,可以使用 @getidsbot 获取。

    先创建一个 session 文件夹(mkdir session),运行 python main.py 提示输入手机号和验证码即可,session 文件夹里面会生成几个数据库文件。

  3. 部署

    把 session 文件夹和源码部署到服务器。

    修改 docker-compose.yml 中的环境变量

    使用 docker-compose 部署:docker-compose up -d

    启动完成后用管理员的账号(之前配置的 ADMIN_ID)向 Bot 发送命令 /download_history 下载历史记录。

继续开发

项目的初衷是为 @awesomeopensource 提供搜索服务,目前 Bot 的功能已经足够。 但是如果你有其他功能的需求,比如 按用户搜索、Inline query 等需求,请在 issues 中告诉我。

telegram-search's People

Contributors

eyhn avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.