https://github.com/arebaka/stalkee
Бот Telegram, сохраняющий голосовые сообщения, заданные администратором, и отправляющий их по инлайн запросам с сортировкой по числу использований
https://github.com/arebaka/stalkee
bot inline nodejs stalker telegram voice
Last synced: about 1 month ago
JSON representation
Бот Telegram, сохраняющий голосовые сообщения, заданные администратором, и отправляющий их по инлайн запросам с сортировкой по числу использований
- Host: GitHub
- URL: https://github.com/arebaka/stalkee
- Owner: arebaka
- License: mit
- Created: 2021-06-26T13:45:27.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-03-10T21:18:03.000Z (about 2 years ago)
- Last Synced: 2025-09-28T07:51:38.231Z (8 months ago)
- Topics: bot, inline, nodejs, stalker, telegram, voice
- Language: TypeScript
- Homepage: https://t.me/stalkeeBot
- Size: 309 KB
- Stars: 7
- Watchers: 1
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Stalkee
*Хабар принёс?*
> Бот [Telegram](https://telegram.org), сохраняющий голосовые сообщения, заданные администратором, и отправляющий их по инлайн запросам с сортировкой по числу использований.






## TLDR
1. Создай и настрой бота через [@BotFather](https://t.me/BotFather)
2. Установи [Docker](https://www.docker.com), если не стоит
3. Скачай репозиторий
4. Установи переменные окружения в `.env`
- `BOT_TOKEN` – токен бота от @BotFather
- `BOT_ADMINS` – Telegram ID-ы админов бота через пробел, они будут иметь доступ к редактированию базы реплик; может состоять всего из одного ID
5. `docker-compose up -d`
6. Кидай своему боту голосовые и отвечай на них одиночными сообщениями в таком формате:
> `/add` <ТЕКСТ РЕПЛИКИ>
7. Для удаления добавленной реплики ответь на голосовое с ней командой `/remove`
## Подготовка без Docker
1. Создай бота через [@BotFather](https://t.me/BotFather), все инструкции он выдаёт сам, получи токен
2. Бот использует СУБД PostgreSQL. [Установи](https://www.postgresql.org/download/), если у тебя её нет
3. Создай базу данных в PSQL для своего бота
4. Бот работает на [node.js](https://npmjs.com/package/node), используя менеджер пакетов [npm](https://www.npmjs.com). Установи их
5. Узнай свой Telegram ID с помощью любого специального бота, например, [этого](https://t.me/myidbot)
## Установка без Docker
```bash
npm i stalkee
```
## Запуск без Docker
Для запуска бота нужны переменные окружения,
их можно задать через оболочку или прописать в файле `.env`.
Вот их список:
- `BOT_TOKEN` – токен бота от @BotFather
- `BOT_ADMINS` – Telegram ID-ы админов бота через пробел, они будут иметь доступ к редактированию базы реплик; может состоять всего из одного ID
- `DB_URI` – URI-строка для подключения к PSQL в формате `postgres://:@:/`
Вместо задания параметров через переменные окружения
можно прописать их в файле `node_modules/stalkee/config.toml`.
Но тогда следи за сохранностью своих секретов.
После задания окружения выполни
```bash
npx stalkee
```
Если всё прошло успешно, ты увидишь в консоли что то вроде этого:
```
> stalkee@1.2.0 start
> node index.js
Bot @stalkeeBot started.
> _
```
## Управление
После запуска в консоли доступны команды
`stop` и `reload` для безопасных остановки и перезагрузки соответственно, а также
`mode edit` для включения команд `/add` и `/remove` в список подсказок для удобного редактирования реплик, и
`mode regular` для выключения.
Редактирование осуществляется через общение с ботом в Telegram.
Админам (тем, чьи ID прописаны в окружении) доступны следующие команды:
**Добавление голосового сообщения в результаты инлайна**
> `/add <РЕПЛИКА>`
**Удаление голосового сообщения из результатов**
> `/remove`
Командами необходимо отвечать на голосовое сообщение, которое и будет добавлено/удалено.
## Поддержка
Если у тебя что то не получается, или ты просто хочешь поговорить с создателем бота или его мамой,
пиши [@arelive](https://t.me/arelive).
Сюда же принимаются пинки от добровольных проект-менеджеров.