Автор оригинальной статьи, Кристоф Литавец (Kristóf Litavecz) научился программировать в 2017 году. В его карьере разработчика нет существенных изменений (пока!), но эта история показывает, что навыки программирования могут быть полезны в повседневной жизни. Некоторые даже утверждают, что умение писать коды становится четвёртой грамотностью.
Прошлым летом моя жена и двое наших детей летели из Венгрии в Калифорнию навестить друзей. В числе всех сложностей перелёта наша авиакомпания потеряла в пути детскую коляску.
Мои многочисленные попытки связаться с авиакомпанией через электронную почту, Twitter, вежливые, а потом и не очень вежливые звонки с целью покрыть наши расходы ни к чему не привели. Я понял, что с меня хватит и решил действовать иначе.
Я создал Twitter-бота, который отвечал на каждый твит с аккаунта авиакомпании, чтобы напомнить им о нашем случае, который к тому времени уже три месяца находился на рассмотрении.
Я не делал это с целью мести или вымогательства денег, нет, ни в коем случае. Я просто хотел справедливости и покрытия расходов за утерянную детскую коляску.
К тому моменту я изучал программирование около года и активно использовал сообщество freeCodeCamp для поддержки и вдохновения.
Что я сделал
Если вы хотите скопировать моего бота, просто клонируйте мой репозиторий, введя следующую строку в ваш терминал:
git clone https://github.com/krizsoo/twitterbot
Шаг 2. Создайте аккаунт Twitter и приложение Twitter
Если у вас ещё нет аккаунта в Twitter, создайте его. Как только вы зарегистрируетесь, то сможете создать новое приложение, которое даст вам доступ к Twitter API, и вы сможете программно генерировать твиты.
Как только моё приложение было настроено, я получил четыре ключа безопасности, необходимые для доступа к API:
Шаг 3. Настройте Twitter Bot
Мне нужно было настроить конфигурации, чтобы убедиться, что Бот делает то, что нужно.

- Я создал новое окружение на облачной платформе Cloud9 dev (вы с ней знакомы, если проходили курс CS50, — прим. ред.);
- Создал аккаунт в Twitter;
- Создал простой Twitter-бот, с помощью Node.js;
- Я настроил его так, чтобы он мог произвольно твитить одно из десяти напоминаний ежечасно;
- И запустил его.
Как это сделать
Шаг 1. Создайте новое окружение в Cloud9 IDE Зайдите в Cloud9 и создайте новое рабочее место (create a new workspace). В качестве шаблона выберите Node.js.


- Consumer Key (API Key) — потребительский ключ
- Consumer Secret (API Secret) — это своеобразный «логин+пароль» вашего приложения
- Access Token — токен доступа
- Access Token Secret — секрет токена доступа

Установите зависимости Node.js
npm install --save twitter
- Настройте поисковый запрос
q
— ключевые слова;count
— количество твитов, которые должен вернуть запрос;result_type
— логика сортировки, в нашем случае показывает сначала самый последний твит;lang
— это язык (например, английский)
// Set up your search parameters
var params = {
q: '@lostbabystroller',
count: 1,
result_type: 'recent',
lang: 'en'
};
Шаг 4. Настройте твиты
Бот срабатывал каждый час, и я не хотел, чтобы он всё время повторял одно и то же сообщение. Поэтому я создал около 10 твитов, а Бот каждый раз выбирал сообщение случайным способом.
Важно: Джонни Асмар рекомендует убедиться, что вы не упоминаете людей в своих ответах. Это противоречит Twitter TOS.
Шаг 5. Настройте периодичность твитов
Я настроил, чтобы Бот срабатывал каждый час.
Сначала я создал переменную, которая отражает час в миллисекундах:
//задание временного интервала твитов
var INTERVAL = 1*60*60*1000;
Затем я убедился, что Бот запущен верно:
// Start bot and timer
BotStart();
setInterval(BotStart, INTERVAL);
Шаг 6. Запустить Бота
Как только всё было настроено, я запустил Бота и терпеливо ждал.
npm run serve
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ