Автор оригинальной статьи, Кристоф Литавец (Kristóf Litavecz) научился программировать в 2017 году. В его карьере разработчика нет существенных изменений (пока!), но эта история показывает, что навыки программирования могут быть полезны в повседневной жизни. Некоторые даже утверждают, что умение писать коды становится четвёртой грамотностью.
Как умение программировать помогло мне вернуть деньги за потерянную коляску - 1
Прошлым летом моя жена и двое наших детей летели из Венгрии в Калифорнию навестить друзей. В числе всех сложностей перелёта наша авиакомпания потеряла в пути детскую коляску. Мои многочисленные попытки связаться с авиакомпанией через электронную почту, Twitter, вежливые, а потом и не очень вежливые звонки с целью покрыть наши расходы ни к чему не привели. Я понял, что с меня хватит и решил действовать иначе. Я создал Twitter-бота, который отвечал на каждый твит с аккаунта авиакомпании, чтобы напомнить им о нашем случае, который к тому времени уже три месяца находился на рассмотрении. Я не делал это с целью мести или вымогательства денег, нет, ни в коем случае. Я просто хотел справедливости и покрытия расходов за утерянную детскую коляску. К тому моменту я изучал программирование около года и активно использовал сообщество freeCodeCamp для поддержки и вдохновения. Что я сделал
  1. Я создал новое окружение на облачной платформе Cloud9 dev (вы с ней знакомы, если проходили курс CS50, — прим. ред.);
  2. Создал аккаунт в Twitter;
  3. Создал простой Twitter-бот, с помощью Node.js;
  4. Я настроил его так, чтобы он мог произвольно твитить одно из десяти напоминаний ежечасно;
  5. И запустил его.
Через полторы недели мне на счёт пришли деньги, и я купил новую коляску. Свой код я разместил в репозитории GitHub. Так что, если вы вдруг окажетесь в подобной ситуации — пользуйтесь.

Как это сделать

Шаг 1. Создайте новое окружение в Cloud9 IDE Зайдите в Cloud9 и создайте новое рабочее место (create a new workspace). В качестве шаблона выберите Node.js.
Как умение программировать помогло мне вернуть деньги за потерянную коляску - 2
Если вы хотите скопировать моего бота, просто клонируйте мой репозиторий, введя следующую строку в ваш терминал: git clone https://github.com/krizsoo/twitterbot Шаг 2. Создайте аккаунт Twitter и приложение Twitter Если у вас ещё нет аккаунта в Twitter, создайте его. Как только вы зарегистрируетесь, то сможете создать новое приложение, которое даст вам доступ к Twitter API, и вы сможете программно генерировать твиты.
Как умение программировать помогло мне вернуть деньги за потерянную коляску - 3
Как только моё приложение было настроено, я получил четыре ключа безопасности, необходимые для доступа к API:
Как умение программировать помогло мне вернуть деньги за потерянную коляску - 4
  • Consumer Key (API Key) — потребительский ключ
  • Consumer Secret (API Secret) — это своеобразный «логин+пароль» вашего приложения
  • Access Token — токен доступа
  • Access Token Secret — секрет токена доступа
Все вышеперечисленные ключи должны быть добавлены в config.js файл следующим образом:
Как умение программировать помогло мне вернуть деньги за потерянную коляску - 5
Шаг 3. Настройте Twitter Bot Мне нужно было настроить конфигурации, чтобы убедиться, что Бот делает то, что нужно.
  1. Установите зависимости Node.js

    npm install --save twitter

  2. Настройте поисковый запрос
Нужно определить поисковый запрос, на который отвечает Бот. Я зашёл в файл “app.js” и обновил параметры поиска.
  • q — ключевые слова;
  • count — количество твитов, которые должен вернуть запрос;
  • result_type — логика сортировки, в нашем случае показывает сначала самый последний твит;
  • lang — это язык (например, английский)
Нижеприведённая конфигурация будет автоматически отвечать на самый последний твит, который содержит “@lostbabystroller”.

// 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

Какой урок из этого всего я вынес

К моему удивлению через 24 часа со мной связался представитель службы поддержки. Мне сказали, что произойдёт денежный трансфер. Ещё год назад я не смог бы это сделать. И пусть я решил небольшую задачу, но это был триумф. Меня переполняла радость, что у меня получилось! Надеюсь, всех начинающих вдохновит моя история. Должен сказать всем тем, кто ночами ломает голову над написанием программ — неважно, решите вы сделать карьеру разработчика или нет, понимание компьютерного языка однажды обязательно вам пригодится. Выражение благодарности Этот пост не был бы написан без сообщества freeCodeCamp и без команды CS50. Я благодарен им за поддержку. Также благодарю Брэндона Морелли и Скотта Спенса за написание этих подробных руководств Twitter Bot: https://codeburst.io/build-a-simple-twitter-bot-with-node-js-in-just-38-lines-of-code-ed92db9eb078 https://medium.freecodecamp.org/easily-set-up-your-own-twitter-bot-4aeed5e61f7f Ссылка на исходник: https://medium.freecodecamp.org/how-i-used-my-programming-skills-to-buy-a-stroller-2778cb85e8b2