Stalkee
Хабар принёс?
Бот Telegram, сохраняющий голосовые сообщения, заданные администратором, и отправляющий их по инлайн запросам с сортировкой по числу использований.
+ анектоды
+ истории
+ музыкальная пауза
Команды
/anecdot
– получить случайный анекдот
/story
– получить случайную историю
/music
– получить заданное аудио
/add
– добавить реплику для инлайна
/remove
– удалить реплику
/addanecdot
– добавить анекдот
/addstory
– добавить историю
/setmusic
– поставить музыку
Инлайн запрос: поиск по репликам
TLDR
- Создай и настрой бота через @BotFather
- Установи PostgreSQL, если не стоит
- Создай в PSQL пустую базу данных 'stalkee' с доступом от своего юзера
- Установи npm и node.js
npm i @arelive/stalkee
export TOKEN=<ТОКЕН_ОТ_BOTFATHER>
-
export ADMIN_ID=<ТВОЙ_TELEGRAM_ID>
(узнать тут) export DBPASSWORD=<ТВОЙ_ПАРОЛЬ_ОТ_PSQL>
export DBDATABASE=stalkee
npx @arelive/stalkee
- Кидай своему боту голосовые и отвечай на них одиночными сообщениями в таком формате:
/add <ПЕРСОНАЖ>
<РЕПЛИКА>
- Для удаления добавленной реплики ответь на голосовое с ней командой
/remove
- Если хочешь добавить анекдот, скинь его боту, а затем ответь на своё сообщение:
/addanecdot
- Если хочешь добавить историю, скинь боту голосовое, а затем ответь на него командой
/addstory
- Чтобы задать музыку, скинь боту аудиофайл и ответь на него командой
/setmusic
- Для остановки бота напиши в консоли с ним
stop
и нажми enter.
Подготовка
- Создай бота через @BotFather, все инструкции он выдаёт сам, получи токен
- Бот использует СУБД PostgreSQL. Установи, если у тебя её нет
- Создай базу данных в PSQL для своего бота
- Бот работает на node.js, используя менеджер пакетов npm. Установи их
- Узнай свой Telegram ID с помощью любого специального бота, например, этого
Установка
npm i @arelive/stalkee
Запуск
Для запуска бота нужны переменные окружения. Вот их список:
TOKEN
– токен бота от @BotFather
ADMIN_ID
– твой Telegram ID
DBHOST
– хост PSQL, по умолчанию localhost
DBUSER
– юзер PSQL, по умолчанию твой текущий логин
DBPASSWORD
– пароль юзера PSQL, по умолчанию не задан
DBDATABASE
– имя БД для бота в PSQL
DBPORT
– порт подключения к PSQL, по умолчанию 5432 (стандартный)
RESPONSE_LIMIT
– максимальное количество результатов по инлайн запросу, по умолчанию 20, не рекомендуется ставить выше 50
После задания окружения выполни
npx @arelive/stalkee
Если всё прошло успешно, ты увидишь в консоли что то вроде этого:
> @arelive/stalkee@1.0.3 start
> node index.js
Bot @stalkeeBot started.
> _
Управление
После запуска в консоли доступны команды stop
и reload
для безопасных остановки и перезагрузки соответственно.
Управление голосовыми и анекдотами осуществляется через общение с ботом в Telegram. Админу (тому, чей ID прописан в окружении) доступны следующие команды:
Добавление голосового сообщения в результаты инлайна
/add <ПЕРСОНАЖ>
<РЕПЛИКА>
Командой необходимо ответить на голосовое сообщение, которое и будет добавлено.
Удаление голосового сообщения из результатов
/remove
Командой так же необходимо ответить на добавленное голосовое.
Добавление анекдота
/addanecdot
Командой необходимо отвечать на текстовое сообщение с будущим анекдотом.
Добавление истории
/addstory
Командой необходимо отвечать на голосовое сообщение с историей.
Задание музыки
/setmusic
Если не баклан, сам догадаешься, на что отвечать.
Поддержка
Если у тебя чу то не получается, или ты просто хочешь поговорить с создателем бота или его мамой, пиши @arelive. Сюда же принимаются пинки от добровольных проект-менеджеров.