Это мой личный бот LINE, который помогает мне автоматизировать различные задачи повседневной жизни, такие как управление домом (кондиционером, освещением и розетками) и учет расходов (записывать, сколько я трачу каждый день). Подробный обзор смотрите ниже.
Я рекомендую каждому разработчику попробовать создать своего личного чат-бота-помощника. Это отличный способ попрактиковаться в программировании и улучшить навыки решения проблем. И это помогает сделать жизнь удобнее!
Он написан на TypeScript и работает в Google Cloud Run поверх платформы выполнения JavaScript evalaas.
У меня есть Raspberry Pi, который может управлять освещением, кондиционером и интеллектуальными розетками. Он получает команды через Google Cloud IoT Core, выполняет действие, а затем отправляет отчет автоматрону через свой API.
Простое отслеживание расходов, введя сумму + категорию. Пример: 50f означает 50 ฿ на еду. Данные сохраняются в Airtable.
На мобильном телефоне, коснувшись тела пузырька (содержащего сумму), я перейду к созданной записи Airtable. Это позволяет мне легко редактировать или добавлять примечания к записи. Нажатие на нижний колонтитул пузырька (содержащего статистику) приведет меня к представлению Airtable, где я смогу увидеть все записанные данные.
Я настроил IFTTT для чтения SMS-сообщений и отправки их на автоматрон. Затем он использует анализатор транзакций для анализа SMS-сообщения и извлечения информации о транзакции. Затем оно отправляется мне в виде гибкого сообщения.
В мобильном телефоне кнопки быстрого ответа позволяют мне быстро превратить транзакцию в запись о расходах, просто нажав на категорию.
Определенные виды транзакций могут автоматически превращаться в расходы, например, когда я пользуюсь картой Rabbit LINE Pay на BTS Skytrain. Наличие множества функций в одном боте позволило обеспечить такую тесную интеграцию.
Автоматрон также может конвертировать изображение в текст с помощью API Google Cloud Vision.
Включен интерпретатор LiveScript, который позволяет мне выполнять некоторые быстрые вычисления.
POST /text
отправляет текстовую команду автоматрону. Это эквивалентно отправке текстового сообщения через LINE. Это позволяет мне создать инструмент CLI, который позволит мне общаться с автоматроном с моего терминала.
POST /post
отправляет сообщение напрямую на мою учетную запись LINE. Это позволяет сценариям домашней автоматизации сообщать мне каждый раз, когда сценарий вызывается.
Этот проект представляет собой монорепозиторий, которым управляет Раш. Он содержит несколько подпроектов: