Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Taosky/telegram-search-bot
A telegram group record search bot that solves the problem of direct search inability in languages such as CJK / Telegram 群聊天记录搜索Bot,解决CJK等语言无法直接搜索问题
https://github.com/Taosky/telegram-search-bot
bot python-telegram-bot telegram telegram-bot telegram-search-bot tg
Last synced: about 1 month ago
JSON representation
A telegram group record search bot that solves the problem of direct search inability in languages such as CJK / Telegram 群聊天记录搜索Bot,解决CJK等语言无法直接搜索问题
- Host: GitHub
- URL: https://github.com/Taosky/telegram-search-bot
- Owner: Taosky
- License: mit
- Created: 2018-09-21T14:38:23.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-07-06T01:55:37.000Z (6 months ago)
- Last Synced: 2024-10-29T20:58:02.675Z (about 2 months ago)
- Topics: bot, python-telegram-bot, telegram, telegram-bot, telegram-search-bot, tg
- Language: Python
- Homepage:
- Size: 6.32 MB
- Stars: 380
- Watchers: 5
- Forks: 50
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# telegram-search-bot
[中文文档](docs/zh/readme.md)
A Telegram Bot for searching group chat records by keywords and usernames
Telegram's built-in search supports only whole sentences for languages like CJK, and does not support word segmentation. This project solves the search problem by storing chat records and performing database queries.
### Index
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Update Records](#changes)
- [Contributors](#contributors)
- [License](#license)### Features
- Searching group chat messages by multiple keywords (with pagination)
- Locating message positions
- Command control with restrictions
- Supporting queries across multiple groups (determining whether the user is a group member)
- Supporting username search
- Synchronizing database updates after message edits![preview1](docs/en/preview.png)
![preview2](docs/en/full.gif)### Installation
Refer to [quick-start.md](docs/en/quick-start.md) for general installation instructions.
For advanced usage, see [advanced-use.md](docs/en/advanced-use.md)
### Usage
- `@YourBot @Username keyword1 keyword2... page` Here are some examples:
`@YourBot` Display all records, defaulting to page 1.
`@YourBot * 2` Display all message records on page 2.
`@YourBot weather 3` Search for message records containing the keyword `weather` and flips to page 3.
`@mybot @Taosky weather 4` Search for message records containing the keyword "weather" and the group member "Taosky" (full name) and flips to page 4.
- `/help`: Get search help.
- `/chat_id`: Get the numerical ID of the current chat.
### Changes
#### 2024-06-27
- Fix message leak to non group members([#65 by JasonKhew96](https://github.com/Taosky/telegram-search-bot/pull/65))#### 2024-03-28
- i18n support (en_US,zh_CN)
#### 2024-03-26
- Give tips when /start failed ([#57](https://github.com/Taosky/telegram-search-bot/issues/57))
#### 2023-09-07
- Fixed error when importing historical records
- Fixed issue with updating edited messages#### 2023-09-05
- Fixed issue with reading chat IDs when importing historical records
- Fixed potential incorrect message links in userbot mode ([#41](https://github.com/Taosky/telegram-search-bot/issues/41))
- Python dependency compatibility#### 2023-07-08
- Improved logging
- Added condition to execute corresponding threads only in userbot mode#### 2023-07-01
- Organized directory files
- Modified documentation#### 2023-06-24
- **Happy Dragon Boat Festival!**
- Added userbot mode
- Refined documentation#### 2023-05-17
- Updated package versions
- Added functionality to search by user
- Attempted to make documentation clearermore
#### 2022-11-26
- Optimized historical records import method
- Resolved memory explosion issue with Python JSON reading#### 2022-11-23 ([#24](https://github.com/Taosky/telegram-search-bot/pull/24))
- Some optimizations and refinements
#### 2022-11-12
- Built image to ghcr.io ([#22](https://github.com/Taosky/telegram-search-bot/pull/22))
- Some minor changes, improved configuration and explanations#### 2022-11-06
- Fixed issue with message links not redirecting correctly
#### 2022-10-31 ([#21](https://github.com/Taosky/telegram-search-bot/pull/21))
- Support for database synchronization after message editing
- Fixed some bugs#### 2022-10-24 ([#19](https://github.com/Taosky/telegram-search-bot/pull/19))
- Optimized logic for sending /help in inline mode
- Better permission control
- Changed usage of quotes when referencing messages#### 2022-06-15
- Fixed issue with mismatched Chat IDs when importing historical records
- Fixed issue with duplicate Message IDs
- Fixed error when importing historical records#### 2022-02-17
- Records and searches now support multiple groups (database has changed, historical records need to be reimported)
- User names are now displayed with "@group" to distinguish message sources when searching
- Search results are now filtered based on whether the user is a member of the group#### 2022-02-13
- WebHook mode and docker-compose
- Fixed authentication issue in inline mode
- Fixed error when text is empty#### 2022-02-08
- Web interface for importing historical messages (port 5006)
#### 2022-01-06
- Dockerized
#### 2021-09-20
- Updated python-telegram-bot library
- Refactored code, simplified operations#### 2021-07-03
- Added support for searching multiple keywords
#### 2021-02-04
- Fixed issue with some keyword results not displaying in inline mode (caused by parsing errors with specific characters)
#### 2020-01-11 (V1.0)
- Added ability to import historical message records. (Only available for initializing the database, and cannot be located)
- Added original message link mode, available for supergroups, allows clicking on links to locate messages#### 2019-04-27
- Added proxy option (Shadowsocks' socks5 seems to be not working, http works)
#### 2019-04-02
- Fixed repeated reporting time issue.
- Improved README.#### 2019-03-03
- Fixed pagination issue in searches.
#### 2019-03-02
- Rewrote a large amount of code, replaced MYSQL database with SQLITE, used ORM, simplified subsequent development and user configuration.
- Added configuration for excluding IDs
- Added repetition of images, videos, voice messages, and audio
- Added command to obtain database of group members
- Filter robot information during storage
- Bot username no longer needs to be set manually
- Fixed issue where users with no permission under administrator mode could not repeat messages.## Contributors
## License
[MIT](LICENSE) © Taosky