Автоответчик фрилансера

Всем привет! Иногда надоедает отвечать на вопросы заказчиков типа «Как успехи? Есть новости? Есть продвижение?», потому что это отвлекает и напрягает нервы (хотя, наверное, без этого никуда). Либо при знакомстве писать кратко о себе, опыте и тд, просто это почти всегда первый вопрос. Либо когда речь заходит об оплате, давая реквизиты карт, кошельков и тп, сомневаться, что ошибся где-то в цифрах. Хорошо бы всего этого напрямую не касаться.



Собственно есть вариант предоставить всю отчетность на плечи бота. Выбор андроида в данном случае обоснован тем, что не хочется ни хостить, ни платить лишнего и тд. Плюс телефон почти всегда включен.

ВКонтакте

Уже как-то писал об отсталости офиц. sdk. Но снова ничего не меняется в репозитории уже более года, хотя есть значительные изменения на сайте в последнее время.

В том числе long poll технология получения обновлений отдельно для ботов и для пользователей. Последнее именно то, что нужно.

Сразу следует упомянуть, что установил мин. версию андроида 23, потому что в библиотеке, взятой за основу, используются последние фичи java платформы, которые в ранних версиях не поддерживаются (пришлось некоторые куски кода переписывать для совместимости с андроидом). Пример рабочего сервиса.

Чтобы получить токен, нужно перейти по такой ссылке (войти под нужным аккаунтом ВК).

https://oauth.vk.com/authorize?client_id=xxxxxxx&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=messages,docs,offline&response_type=token&v=5.80&revoke=1 

Где client_id это идентификатор standalone приложения в консоли ВК.

Разрешение docs требуется для отправки документов (фича библиотеки), если такое нужно.

Telegram

Тут надо отметить, что бот платформа и все связанное с ней не подходит для данной задачи, так как требуется ответ от личного аккаунта. Остается только вариант со своим собственным клиентом.

Кроме официального tdlib есть еще Kotlogram, но лично мне он не понравился (плюс еще сыроват). Например, при перезапуске сервис крашится, видимо не удается полностью освободить ресурсы (либо чего-то не понял я), но также примеры с документацией слабенькие: важной функции получения информации о новых сообщениях не нашел, а хардкодить с учитыванием последнего id сообщения в диалоге и тд не серьезно. Больше выбора собственно и нет для платформы Android, плясать с ndk для билда клиента на C или чего-то подобного не хочется.

Требуется создать приложение в консоли телеграм здесь (требуется прокси), получить app_id и app_hash. Собственно, все дальше только код клиента. Пример рабочего сервиса.

Я не учитывал при логине, что у пользователя может быть двухфакторная аутентификация, поэтому потребуется пароль в таких случаях.

Требуется мин. версия андроида 24, потому что использовал фичу андроида с reply в уведомлении для получения проверочного кода авторизации без перезапуска сервиса, в андроиде явно не хватает реализации:

Scanner(System.in)

Хотя был интересный вариант с отображением 12 уведомлений, 10 из которых представляли число, одно для подтверждения, одно для очищения, но как-то не очень кажется все равно 🙂

Лучше скачать официальный tdlib здесь (требуется прокси).

Подводя итог, из моего личного опыта получается такие доли переписки в мессенджерах с заказчиками.

Под другим я подразумеваю Hangouts, Viber и, например, переписка на сайте (или даже такие экзотические как Jabber).

Буду признателен, если кто поделится опытом работы подобного со Skype или Whastapp (знаю, что нет публичного апи).

Ссылка на starter-проект Telegram-бота
Ссылка на starter-проект VK-бота

FavoriteLoadingДобавить в избранное
Posted in Без рубрики

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *