Skip to content

Бот Telegram, сохраняющий голосовые сообщения, заданные администратором, и отправляющий их по инлайн запросам с сортировкой по числу использований

License

Notifications You must be signed in to change notification settings

arebaka/stalkee

Repository files navigation

Stalkee

Хабар принёс?

Бот Telegram, сохраняющий голосовые сообщения, заданные администратором, и отправляющий их по инлайн запросам с сортировкой по числу использований.

тут должен быть скриншот инлайн запроса, но куда то делся

TLDR

  1. Создай и настрой бота через @BotFather
  2. Установи Docker, если не стоит
  3. Скачай репозиторий
  4. Установи переменные окружения в .env
    • BOT_TOKEN – токен бота от @BotFather
    • BOT_ADMINS – Telegram ID-ы админов бота через пробел, они будут иметь доступ к редактированию базы реплик; может состоять всего из одного ID
  5. docker-compose up -d
  6. Кидай своему боту голосовые и отвечай на них одиночными сообщениями в таком формате:

    /add <ТЕКСТ РЕПЛИКИ>

  7. Для удаления добавленной реплики ответь на голосовое с ней командой /remove

Подготовка без Docker

  1. Создай бота через @BotFather, все инструкции он выдаёт сам, получи токен
  2. Бот использует СУБД PostgreSQL. Установи, если у тебя её нет
  3. Создай базу данных в PSQL для своего бота
  4. Бот работает на node.js, используя менеджер пакетов npm. Установи их
  5. Узнай свой Telegram ID с помощью любого специального бота, например, этого

Установка без Docker

npm i stalkee

Запуск без Docker

Для запуска бота нужны переменные окружения, их можно задать через оболочку или прописать в файле .env.
Вот их список:

  • BOT_TOKEN – токен бота от @BotFather
  • BOT_ADMINS – Telegram ID-ы админов бота через пробел, они будут иметь доступ к редактированию базы реплик; может состоять всего из одного ID
  • DB_URI – URI-строка для подключения к PSQL в формате postgres://<USER>:<PASSWORD>@<HOST>:<PORT>/<DATABASE>

Вместо задания параметров через переменные окружения можно прописать их в файле node_modules/stalkee/config.toml. Но тогда следи за сохранностью своих секретов.

После задания окружения выполни

npx stalkee

Если всё прошло успешно, ты увидишь в консоли что то вроде этого:

> [email protected] start
> node index.js

Bot @stalkeeBot started.
> _

Управление

После запуска в консоли доступны команды
stop и reload для безопасных остановки и перезагрузки соответственно, а также
mode edit для включения команд /add и /remove в список подсказок для удобного редактирования реплик, и
mode regular для выключения.

Редактирование осуществляется через общение с ботом в Telegram. Админам (тем, чьи ID прописаны в окружении) доступны следующие команды:

Добавление голосового сообщения в результаты инлайна

/add <РЕПЛИКА>

Удаление голосового сообщения из результатов

/remove

Командами необходимо отвечать на голосовое сообщение, которое и будет добавлено/удалено.

Поддержка

Если у тебя что то не получается, или ты просто хочешь поговорить с создателем бота или его мамой, пиши @arelive. Сюда же принимаются пинки от добровольных проект-менеджеров.

About

Бот Telegram, сохраняющий голосовые сообщения, заданные администратором, и отправляющий их по инлайн запросам с сортировкой по числу использований

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages