Доброе утро и чудесного дня!
Бот ВКонтакте (планируется версия для телеграма), который присылает открытку с otkritkiok каждое утро в 7:00 по времени сервера, кроме воскресенья и каникул. На винде не будет работать потому что кому нужна винда ахахаю.
Установка
$ npm install goodmorning-bot
Использование
- Заходим в богомерзкий вконтакте и создаем новое сообщество, от имени которого будет писать бот. В настройках разрешаем сообщения и разрешаем добавлять бота. Дальше в настройках сообщества заходим в раздел Работа с API и создаем ключ доступа, как его создать разберетесь сами.
- Вставляем ключ в файл
.env
после VK_API_ACCESS_TOKEN=
после чего этот файл должен выглядеть примерно так:
VK_API_ACCESS_TOKEN=5owvnyk7cppug1gtdo6nbl8lf21gqnrjqbvntiovhvpphpkxrm6lqh7llqakflzzulxaizdm7vxwevrqq1wuc
- Заходим на любой сайт открыток и парсим, должны получиться адреса png, jpeg или gif картинок, но на другие форматы никакой гарантии не даю, это на усмотрение вк апи (см. раздел загрузка файлов в докцментации вк).
- Открываем файл
pictures.txt
и вставляем список адресов, 1 адрес = 1 строка.
Бот при каждом запуске будет использовать самую первую строку в файле pictures.txt
и перемещать ее в конец файла used.txt
. Если вам не нужен файл used.txt
, вы можете поставить в файле конфига config/bot.json
значение "removeUsed": true
и тогда бот будет просто удалять использованные изображения из начала файла.
Запуск
node index.js
Строчка, которую нужно добавить в cron (команда crontab -e
) для запуска скрипта каждый день в 7:00 по серверному времени. Серверное время значит не ваше местное время!!! Если у сервера московский часовой пояс, а вы живете в самарочке, надо поставить цифру 6 вместо 7!
0 7 * * * /usr/local/bin/node /path/to/repo/goodmorning-bot/index.js > /dev/null
:warning: У вас может быть установлен nodejs по другому пути, обязательно проверьте путь установки командой which node
:warning:
Конфиг
Файл config/bot.json
содержит следующие параметры:
Ключ | Значение по-умолчанию | Описание |
---|
removeUsed | false | Если true, использованные изображения не перемещаются из файла pictures.txt в used.txt |
paused | false | Если true, бот приостановлен и не будет работать (для отпуска или каникул или чего угодно) |
fixedImage | null | Адрес фиксированного изображения, которое будет показываться, игнорируя файл pictures.txt |
vkPeerID | 2000000000 | ID беседы вконтакте от имени сообщества |
Быстрый парсинг открыток
Запустите файл utils/scrapePostcards.js
командой node utils/scrapePostcards.js
чтобы быстро получить список форматированных url с открытками с сайта otrkitkiok. Внутри файла также можно поменять категорию, в которой парсятся картинки и размер итогового списка.