Рубрики
Без рубрики

Почему вы должны иметь свой собственный бот Twitter, а как построить один менее чем за 30 минут

Обновление 20171102: Поскольку эта история была первоначально опубликована в январе 2017 года, было несколько вещей, которые изменились с репозиторием на GitHub, если вы будете следовать вдоль, я рекомендую использовать Readme.md с помощью репозитория. история, чтобы сохранить любой

Автор оригинала: FreeCodeCamp Community Member.

Twitter Bots могут сделать чертовски намного больше, чем просто спам Trending Hashtags и без беспокойства следуют пользователям.

Возьми Twisst Olerts Olerts BOT, который отправляет вам прямое сообщение всякий раз, когда Международная космическая станция (МКС) будет видна в вашем месте.

Или боты на публике, как Землетрясение робота , какие твиты о любом землетрясении больше 5,0 на шкале Рихтера, как это происходит.

И, конечно, робот, который твит поэзия, Poem.exe Наряду с тем, что будет решить ваши твиты, которые также происходят, чтобы быть Случайная хайку Отказ

Я лично использую бот, чтобы улучшить мой @Scottdevtweets Счет по симпатиям и повторно написанию предметов, в котором я заинтересован.

# 100Дасофкод Community Challenge поздравляет вас при запуске Challenge # 100daysofcode и снова при достижении конкретных вех.

Он также ответит с ободрением, если он обнаружит негативные настроения (разочарование) в Tweet, который имеет в нем Hashtag # 100daysofcode.

Одним из вопросов, который я спрашивал в интервью на работу довольно часто: «Что вы убираетесь с технологией?» Я всегда отвечаю, что «Мне нравится автоматизировать повторяющиеся задачи, чтобы сэкономить меня, чтобы я мог сосредоточиться на других вещах. Мне нравится ощущение достижения, которое приходит с сохранением некоторое время».

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

Согласно этому мнению, бот – только этично, что и человек, который запрограммировал его.

Если у вас есть какие-либо сомнения по поводу этики бота, вы строите, проверьте Botwiki Секция этики.

Итак, готов начать? ОК. Давай сделаем это!

Как построить Twitter Bot через 30 минут

Вы собираетесь использовать Twit Библиотека для построения в Twitter Bot. Это понравится и повторно твитнет все, что вы указываете. Это также ответит на ваших последователей с выбором консервированных ответов.

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

Что вам нужно,

Шаг № 1: Настройте приложение Twitter

Либо создайте новую учетную запись Twitter или использовать свои собственные на Создать новое приложение Twitter Отказ

В качестве примера я настрою свой старый @Droidscott Учетная запись Twitter, чтобы вы могли следовать.

Обязательно добавьте свой номер телефона на свою учетную запись Twitter, прежде чем нажать на Создайте свое приложение Twitter кнопка.

Теперь вы должны быть в разделе «Управление приложениями», где вам нужно будет принять записку ваших ключей. У вас должен быть ваш «Потребительский ключ (ключ API) и уже доступен« Secret Secret (API Secret) ».

Вам нужно будет прокрутить до нижней части страницы и нажмите на Создайте мой токен доступа Чтобы получить «токен доступа» и «Token Token Secret», принять к сведению все четыре из них, вам понадобится, при настройке бота.

Шаг № 2: Настройте среду разработки

Для этого я просто собираюсь использовать Cloud9 Как вы можете быть запущены в минуту с одним из предварительно сделанных средов Node.js.

Обратите внимание, что если вы решите использовать IDE IDE Heroku и/или Cloud9 в создании этого (например, в этом руководстве) в некоторых регионах вам будет предложено дать номер кредитной карты для создания этих учетных записей.

Установить бот

В дереве проекта удалите пример файлов проекта клиент , Package.json , Readme.md и server.js Вы не понадобится им, вы можете оставить их там, если хотите.

В вашем новом Node.js C9 среда перейдите к терминалу и введите:

git clone https://github.com/spences10/twitter-bot-bootstrap

Структура проекта

Дерево проекта окружающей среды должно выглядеть что-то подобное:

Зависимости узла

Перед настройкой бота нам нужно будет установить зависимости, CD в папку Project с CD TW * Это выведет вас к : ~/Workspace/Twitter-Bot-Bootstrap (Master) $ Из терминала введите:

npm install

Это установит все зависимости, перечисленные в Package.json файл.

Если вы получите какие-либо ошибки, я предлагаю установить зависимости по одному из Package.json Файл с той же командой и именем пакета в конце:

Вот пример зависимости В Пакет, JSON файл:

"dependencies": {    "dotenv": "^4.0.0",    "twit": "^2.2.5",    "unique-random-array": "^1.0.0",    "unirest": "^0.5.1"  }

Команда NPM для установки их всех:

npm install --save dotenv twit unique-random-array unirest

Если вы получите какие-нибудь Предупреждать такие сообщения, как NPM Warn Package.json Twitter-bot @ 0.0.0 Нет поля хранилища Это не сломает бот, так что безопасно игнорировать.

Теперь вы можете настроить бот. Из терминала введите:

npm init

Это настроит Package.json Файл с вашими деталями по желанию. Просто продолжайте ударить возвращение, если вы довольны по умолчанию.

Теперь вам нужно добавить свои клавиши Twitter в .env файл. Просто введите клавиши в соответствующие поля и сохраните файл.

Если вы не можете найти .env Файл в файловой структуре вашего проекта C9, вам нужно будет включить Показать скрытые файлы вариант. В представлении файла выберите Cog настроек, затем отметьте The Показать скрытые файлы Вариант, если это еще не проверяется.

SENTIMEN_KEY Вы можете получить новый ключ API в https://market.mashape.com/vivekn/sentiment-3 Ваш ключ в Пример запроса

Посмотрите на GIF, нажмите на ссылку, подпишитесь или войдите в систему Mashape , нажмите на Узел На правой панели и выберите ключ API, он будет в пространстве выделено <требование ed> в gif.

Добавьте свой ключ API на .env Файл вместе с вашими ключами API Twitter?

Здесь вы должны добавить свое имя учетной записи Twitter и как часто вы хотите, чтобы бот запускал ретвит и любимые функции в минуту.

CONSUMER_KEY=Fw***********P9CONSUMER_SECRET=TD************CqACCESS_TOKEN=31**************UCACCESS_TOKEN_SECRET=r0************S2SENTIMENT_KEY=Gj************lFTWITTER_USERNAME=DroidScottTWITTER_RETWEET_RATE=5TWITTER_FAVORITE_RATE=5

Вы можете добавить несколько ключевых слов в strings.js Файл для того, что вы хотите искать, а также подпросию.

При добавлении строк подпроворе убедитесь, что вы оставите место в начале строки, так что «Удобный совет» получает смысл на «Node.js» как Node.js удобный совет И не Node.jshandy Совет Отказ

Это должно быть, перейти к терминалу и введите NPM начать Вы должны получить какой-то выход:

Проверьте учетную запись Twitter:

Шаг № 3: Настройка Heroku

Cool, теперь у нас есть бот, который мы можем проверить на нашей среде Dev, но мы не можем оставить ее там, нам нужно будет развернуть его к Heroku.

Если вы еще не сделали, уже настроили Heroku аккаунт Затем выберите Создать новое приложение Справа раскрывающегося коробки вправо от вашей приборной панели, на следующем экране имени приложение, если хотите, то нажмите Создать приложение Отказ

Вам будет представлено приложение приложению и инструкции по методу развертывания.

Ваше имя приложения должно отображаться в верхней части приборной панели, вам понадобится это при входе с помощью интерфейса командной строки Heroku, которую мы будем использовать для развертывания вашего приложения.

Heroku Cli.

Мы собираемся развертываться изначально через интерфейс командной строки Heroku ( CLI ).

На вашей среде C9 среда, войдите в Heroku [он должен быть установлен по умолчанию]

heroku login

Введите свои учетные данные:

cd twitter-bot-bootstrap git init heroku git:remote -a your-heroku-app-name

Разверните ваше приложение:

git add . git commit -am 'make it better' git push heroku master

Вы должны получить вывод сборки в терминале:

Затем проверьте вывод с:

heroku logs -t

Все хорошо? Прохладный! ?

Настройка переменных Heroku

Теперь, когда у нас есть наш бот на Heroku, нам нужно добавить переменные среды для хранения наших клавиш Twitter. Это потому, что .env Файл, где мы сохранили, наши ключи указаны в .gitignore Файл, который говорит Git не загружать этот файл в Heroku. Это также делает его так, если в будущем мы хотим добавить наш код в Github, нам не нужно беспокоиться о .env Файл, делая наши клавиши публичными, потому что файл будет автоматически игнорироваться.

Все, что вам нужно сделать, это перейти к консоли приложения Heroku и выберите раздел «Настройки» и добавьте в свои клавиши Twitter из .env файл. Нажмите кнопку «Показать конфигурацию vars» и добавьте переменные со своими соответствующими значениями:

CONSUMER_KEYCONSUMER_SECRETACCESS_TOKENACCESS_TOKEN_SECRETSENTIMENT_KEY

Как только у вас настроен Heroku Vars, посмотрите на config.js Файл этого проекта. Вы собираетесь удалить эту строку:

require('dotenv').config();

Теперь вы готовы снова развернуть в Героку. Ваши консольные команды должны выглядеть что-то подобное:

$ git add .$ git commit -m 'add environment variables'$ git push heroku master

Тогда вы можете проверить журналы Heroku снова с:

$ heroku logs -t

Теперь у вас должен быть бот, который вы можете оставить, чтобы сделать это навсегда навсегда, или до тех пор, пока вы не решите, вы хотите изменить критерии поиска?

Heroku развертывание через GitHub

Вы также можете развернуть ваше приложение, подключив к GitHub и автоматически развертываю в Heroku каждый раз, когда ваш главный филиал обновляется на GitHub, это достаточно прямо вперед.

Перейдите в панель инструментов «Развернуть» на Heroku, выберите Github в качестве метода развертывания, если вы подключили свой аккаунт GitHub на свою учетную запись Heroku, вы можете искать репозиторий, чтобы вы могли просто ввести Twitter-Bot-Bootstrap и Поиск Затем вы можете нажать на Соединить Кнопка, вы можете автоматически развернуть из GitHub.

Устранение неполадок Heroku

Что ты имеешь в виду, это разбилось!?

Хорошо, я обнаружил, что иногда работник устанавливается как Веб И он вылетает, попробуйте установить работник снова с:

heroku ps:scale worker=0 heroku ps:scale worker=1

Если это все еще вылетает, попробуйте установить Ресурсы На приборной панели Heroku я нашел, если вы переключитесь между Веб , Heroku и работник Обычно это оседает. В основном вы должны быть установлены на работник Dyno это то, что вызывает Ошибка R10 (тайм-аут загрузки) аварии, потому что он пытается использовать одну из других ресурсов, когда он должен использовать работник Dyno.

Другие полезные команды Heroku я использую:

heroku restart

По умолчанию вы можете только подтолкнуть свою ветку Master, если вы работаете над филиалом разработки I.E. dev ветка. Если вы хотите проверить на Heroku, то вы можете использовать:

git push heroku dev:master

Удобный наконечник

Если вы хотите добавить это на свой собственный Github Repo и не хотите поделиться своими ключами API? С миром, тогда вы должны отслеживать отслеживание. env файл. От терминала введите эту команду git:

$ git update-index --assume-unchanged .env

Я добавил, что моя самая используемая команда GIT, которую я использую в этом суть

Обертывание

Ваш бот Twitter должен быть сейчас жить. Вы можете потираться с ним и дополнительно настроить его.

Вот мой Репозиторий Если вы хотите погрузиться и внести обратно, используя запросы на потяну. Любые вклады большие или маленькие – основные особенности, исправления ошибок, тесты интеграции – приветствуются, но будут тщательно рассмотрены и обсуждены.

Признательности

Кредит на вдохновение для этого должен идти в @amanhimself И его посты на создании собственного бота в Твиттере.

Create-A-Simple-Twitter-Bot-Sot-Node-JS

Как-to-a-twitter-bot-with-nodejs

Twitter-MCTWITBOT

удивительные твиттер-боты

Другие сообщения подробно описывают полезные боты Twitter.

www.brit.co/twitter-bots-to-follow

www.hongkiat.com/using-twitter-bots

Сделал это так далеко? Вау, спасибо за чтение! Если вам понравилась эта история, пожалуйста, не забудьте порекомендовать его, нажав кнопку ❤ на стороне, и поделив ее с друзьями через социальные сети.

Если вы хотите узнать больше обо мне, посетите мой Блог мой Github или твитнуть мне @Scottdevtweets Отказ