JavaRush /Java блог /Random /Как умение программировать помогло мне вернуть деньги за ...

Как умение программировать помогло мне вернуть деньги за потерянную коляску

Статья из группы Random
Автор оригинальной статьи, Кристоф Литавец (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
Комментарии (1)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
30 января 2018
О! Пара небольших правок и у нас в руках готовый спам-бот для твиттер! Интересно, можно ли использовать подобного бота для каких-то добрых дел... есть какие-нибудь идеи?
Что еще почитать:

Как я прошёл путь от продавца уличной еды до работы в ведущих компаниях в области технологий, ч.1

Программирование — это сложно. Именно поэтому стоит его изучать