Skip to content
This repository has been archived by the owner on Mar 4, 2023. It is now read-only.

chuangzhu/telegram-find-in-channel-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram 的消息搜索功能不支持中日韩等语言,因为这类语言字词间不加空格。而我习惯于使用 Telegram 的频道做笔记,因此一个好用的搜索功能对我来说很重要。为了能方便地在频道内搜索,这个机器人诞生了。

The ‘Find in Conversations’ feature in Telegram does not support searching in languages like Chinese/Japanese/Korean etc., since these languages do not have spaces between words. I'm used to take notes in Telegram channels, so it's important for me to have a better search tool. I made this bot so I can find in channels easily.

Usage

/start the bot
/add a channel to the bot
/find in the channel
/setlang setting UI language
/settoken create a token for others (non-admins) to search
/cancel the current action
/help show help

The user interface language of this bot follows your Telegram settings by default (language packs on Telegram desktop, and system language settings on mobiles). Please help with translating!

Deploy

Instead of HTTP bot API, this bot uses MTProto client API. Please obtain these tokens:

You can install it via PyPI:

pip3 install -U telegram-find-in-channel-bot
Or clone this repo and install from source:
cd telegram-find-in-channel-bot
for f in tgficbot/locales/*.po; do
    mkdir -p ${f%.po}/LC_MESSAGES
    msgfmt $f -o ${f%.po}/LC_MESSAGES/main.mo
done
python3 setup.py install

Run apt install gettext if command msgfmt not found.

(Optional) If cryptg is installed, the bot will work faster:

apt update
apt install clang python3-dev
pip3 install -U cryptg

Configuration file is by default ~/.config/tgficbot.cfg, but you can specify a different location. Here's the format:

[api]
id = 123456
hash = xxxxxxxxxxxxxxxxx

[bot]
token = 123456789:xxxxxxxxxxxxxxxxxxxx

To run:

python3 -m tgficbot.main --config <config_file> --dbpath <directory_to_store_database>

The parameter following --dbpath indicates where the databases are stored. They are in ~/.cache/ if you don't specify --dbpath.

About

Telegram 多语言搜索机器人。Find in Telegram channels in languages where no spaces are contained.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages