Как да направите Twitter Bot в рамките на час

Дори ако не кодирате толкова често!

Миналата седмица излъчихме сегмент от странния и прекрасен свят на ботове в Twitter. Дори решихме да си направим Twitter бот. Той се нарича @scifri_ebooks (след известния в Twitter @horse_ebooks) и досега е туитвал някои доста страхотни неща.

В основата на този конкретен бот е нещо, наречено верига Марков. Необходимо е известно време да обясним, но в този конкретен случай ни помага да изградим случайни изречения. Ако включите съществуващ акаунт в Twitter, той взема думите от тези туитове, разбърква ги и прави нови, понякога странни изречения.

Решихме, че може да искате да опитате да направите своя бот в Twitter, затова сме съставили ръководство за употреба. Ако никога досега не сте кодирали, не се притеснявайте - ще можете да следвате този урок. И ще научите малко за Python и Git, докато сте в него!

Отказ от отговорност: Този код с отворен код няма да работи, ако основният ви акаунт в Twitter (този, от който ботът ще черпи) има по-малко от 3600 туитове.

Част от отказ от отговорност: Този урок е предназначен за хора, които използват Macs.

Общо време: <1 час

Ето какво ще използваме:

  • кикотене
  • Интерфейс на командния ред (като приложението Terminal на Mac)
  • Текстов редактор (като приложението TextEdit на Mac или Sublime Text)
  • Git
  • Heroku

Ако не знаете какви са някои от тях, НЕ ПРАВЕТЕ! Всички ще бъдат обяснени своевременно.

Добре.

(чрез Giphy)

Стъпка 1: Настройте нов акаунт с Twitter

Тук ще живеят туитовете на вашия бот. Настройването на акаунт е доста просто. Ако добавите думата „електронна книга“ в потребителското име, Twitter-тълпата вероятно ще вземе, че правите бот, подобен на @horse_ebooks.

Освен това ще трябва да въведете телефонния си номер в следващата стъпка, за да създадете приложението.

Ако създавате бот, но планирате да промените кода, препоръчвам ви да проверите Правилата на Twitter за акаунти и правилата му за автоматизация. Те са на място за защита от спам ботове.

Стъпка 2: Създайте Twitter приложение за вашия бот

Страхотно, имате нов свеж акаунт в Twitter. Сега трябва да настроим „бот“ частта на акаунта. Отидете на apps.twitter.com, за да започнете това.

Кликнете върху „Създаване на ново приложение“.

Тук ще въведете някои основни подробности за вашия бот. Винаги можете да ги промените, ако искате. Също така няма нужда да въвеждате информация за полето URL адрес за обратно повикване.

Стъпка 3: Основни клавиши и маркери

Вашето ново приложение в Twitter се предлага с низове от числа, наречени клавиши и символи. Тези номера позволяват кода с отворен код да се свързва с Twitter, така че може да прави неща като туитър за нас.

Повечето клавиши вече са там, но не всичко, от което се нуждаем, е автоматично. Трябва да генерираме нещо, наречено „маркери за достъп.“ Отидете в раздела „Ключове и маркери за достъп“ и отидете в долната част на страницата; кликнете върху бутона „Създайте моите маркери за достъп.“

Важно: Никога не споделяйте ключовете си с други. Лоши неща могат да се случат.

На същата страница ще ви трябват четири неща:

  1. Потребителски ключ (API ключ)
  2. Потребителска тайна (API Secret)
  3. Жетон за достъп
  4. Достъп до Token Secret

Добре, ще ги използваме след секунда Дръжте ги под ръка. Но първо ...

Стъпка 4: Изтеглете хранилището

(чрез Giphy)

Тук идва Github. Ако не сте чували за Github, това е основно Dropbox за код.

Това е скриптът, който ще използваме, разработен от потребителя Том Мигер. Написано е в Python and Ruby, но няма да се забъркваме толкова много с кода.

В горния десен ъгъл кликнете върху зеления бутон „Клониране или изтегляне“. Вероятно ще искате да изберете „Изтегляне на ZIP“. Скриптът трябва да се появи като папка с цип в папката за изтегляне на вашия компютър.

Стъпка 5: Хакване на матрицата (Промяна на файла с настройки)

(чрез Giphy)

Отидете в папката „heroku_ebooks“, която току-що изтеглихте и разархивирате. Придвижете се към файла със заглавие „local_settings_example.py.“ Бих препоръчал да използвате приложението Mac TextEdit за отваряне и промяна на файла.

Тук ще прекарате по-голямата част от времето си. В този файл ще въведете какви профили в Twitter искате да се базира, колко често искате да туитва и колко странно искате да бъдат тези туитове.

ключове

Този файл също е мястото, където ще използвате тези клавиши и символи от waaay обратно в стъпка 3. Така че нека започнем с това първо.

В горната част на файла ще видите интервали, в които ще поставяте ключовете и маркерите. Между кавичките копирайте и поставете своя потребителски ключ, потребителска тайна, ключ за достъп до маркера и достъп до токен секрет. Те са в същия ред, в който се показват в този сайт apps.twitter.com.

Източници

Сега върху източници на сметки. Това е акаунтът в Twitter, на който ще се базира вашия бот. Когато въведете тази информация, просто поставете името на акаунта, без символ "@". Например, ако исках да базирам бот на разстояние @scifri, ще изглежда така:

SOURCE_ACCOUNTS = [“scifri”]

Можете да поставите няколко акаунта, за да направите своя бот по-нюансиран. Правилото на синтаксиса тук го прави да изглежда така:

SOURCE_ACCOUNTS = [“scifri”, “iraflatow”, “nprscience”]

Когато настройвах това, скриптът не приемаше акаунти в Twitter с по-малко от 3600 туитове. Според страницата на Github това е известна грешка. За щастие обаче, това не е стоп-шоу.

шансове

(чрез Giphy)

Това е мястото, където казваме на бота колко често искаме да туитва всеки път, когато се изпълнява скриптът. Автоматично се задава на 8, което означава, че всеки път, когато се изпълни скриптът, има шанс 1 на 8 да генерира туитър. За целите на тестване бих препоръчал да промените тези 8 на 1.

Поръчка

Това казва на сценария колко смисъл искате да правят тези туитове. Опитах само с 2, което изглежда е щастлив медиум между вярващ до напълно безсмислен, но можете да опитате 1 или 3, ако искате. Кодът не позволява номера, които не са 1–3.

Отстраняване на грешки и статичен тест

Тези две опции са за тестване, които можете да пропуснете. Задайте опцията за отстраняване на грешки на False и е добре да продължите. И можете да оставите опцията TEST_SOURCE такава, каквато е.

Tweet_Account

Това е последното нещо, което ще пипате в този файл! Въведете в Twitter акаунта на новия си бот в кавичките и без символа @, „@“, както по-горе.

Сега ще създадем нов файл. Това е така, защото скриптът, който използваме, търси определено име на файл. В този случай това е „local_settings.py.“ TextEdit не ви позволява автоматично да създадете персонализиран тип файлове като файл Python, така че в приложението TextEdit кликнете върху TextEdit в горния ляв ъгъл, щракнете върху „Предпочитания“ и след това щракнете върху „Обикновен текст“ под „Формат“.

След това създайте нов файл, поставете кода си и го наречете „local_settings.py“ и го запазете.

Стъпка 6: Heroku

Момчета сме в къщи! Сега ще използвате услуга, наречена Heroku. Известна е като облачна платформа като услуга. По принцип кода ще живее. Heroku също ще се погрижи за изпълнението на сценария и туитър по график. Но първо трябва да качите кода си.

(чрез Giphy)

Първо ще трябва да се регистрирате за акаунт в Heroku. Отидете тук, за да направите това. На страницата за регистрация под Основен език за развитие можете да изберете Python. Ще изпрати потвърждение на акаунта на имейла си, така че се погрижете за това и тогава ще сте готови да продължите.

Също така ще трябва да изтеглите Heroku Toolbelt, който позволява на интерфейса на вашия команден ред да говори с Heroku. Когато приключи с изтеглянето, отворете файла, за да го инсталирате.

Като част от този процес на регистрация, ще трябва да свържете кредитната си карта с Heroku. Куцо е, че Хероку те кара да правиш това, но няма да те таксува за това, което ще правиш.

Сега ще влезете в командния ред. Стартирайте приложението Terminal. Ако сте работили с Terminal преди, можете да пропуснете следващите няколко абзаца.

Ако никога не сте използвали терминала, не се чудете. Знаеш ли как намираш файлове с помощта на Finder? По принцип е така, с изключение на това, че въвеждате команди за достъп и промяна на файлове (това прави и други неща, но ПОВЕЧЕ НА ТОВА ПО-КЪСНО).

За тази следваща част трябва да влезете в папката heroku_ebooks, която вероятно отиде в папката ви за изтегляния. Ето командата, която ще трябва да въведете; след като направите това, натиснете Enter:

CD изтегляния / heroku_ebooks-master

„Cd“ означава „директория за промяна“. Така че с тази команда ще се потопите в папката heroku_ebooks.

След като сте вътре в папката, трябва да настроите git. Git е посредникът, който получава вашата папка от компютъра в Heroku.

Git не е инсталиран на компютър. Той се предлага в пакет от инструменти за разработчици, наречени XCode. Въведете “git” в терминала си и натиснете Enter. Ако не е инсталиран, ще ви подкани да инсталирате XCode. След като приключите, можете да стартирате следните команди. Ще трябва да въведете и натиснете Enter, един по един, така.

git init

Това прави ново git хранилище. По принцип той създава пространство за вас да поставите кода си.

git add.

Това казва на git, че ще обработва всички файлове в текущата ви папка.

git commit -am „Добавяне на всички файлове“

Това е съобщение, което описва действието, което предприемате с тези файлове.

heroku създаване - стек кедър

Това казва на Heroku да създаде пространство (сървър) за вашите файлове на техния сайт (официално наречен среда за внедряване). Това може да отнеме няколко момента. След това ще ви подкани да въведете имейла и паролата, свързани с вашия Heroku акаунт.

git push heroku master

Това е последната стъпка и "натиска" папката ви към Heroku.

Забележка: Ако искате да промените нещо във вашия файл с настройки или ако сте направили грешка, променете файла, запазете и изпълнете следните команди. Не забравяйте, че трябва да сте в папката heroku_ebooks, за да направите това, за което първата команда се грижи, след като стартирате Terminal.

CD heroku_ebooks
git добави local_settings.py
git commit -am „Актуализиране на local_settings.py“
git push heroku master

Ако работи, трябва да получите изход, който има куп редове, започващи с „дистанционно:…“, като всички те завършват с нещо, което трябва да изглежда така:

Сега, моментът на истината! Изпълнете следната команда в Terminal, за да видите дали работи.

heroku работи работник

Това може да не работи перфектно всеки път. Алгоритъмът не изпраща туитове, ако те са твърде подобни на предишните туитове или ако са твърде дълги. В тези случаи връщащият текст ще гласи нещо като „TOO SIMILAR“ или „TOO LONG:“ Ето как трябва да изглежда, когато работи:

Но продължете да изпълнявате командата на heroku run, докато нещо не премине. Дръжте отворения акаунт в Twitter на бота, за да сте сигурни, че го прави. (Професионален съвет: В Terminal, вместо да въвеждате командата всеки път, просто натиснете стрелката нагоре, която извиква най-новата команда, и натиснете Enter.)

Стъпка 7: Настройка на график

Засега ботът ще туитва само ако стартирате командата heroku run worker в Терминала. Искате да го автоматизирате, така че той ще се погрижи за тази работа вместо вас. Това означава, че трябва да настроите график, което Heroku също може да направи.

Въведете и стартирайте:

heroku addons: добави планировчик: стандарт

Това казва Heroku да инсталира инструмента за планиране. Ако не сте добавили кредитната си карта в профила си в Heroku по-рано, тази команда няма да работи. Ето връзката да го направим отново.

Следващия:

heroku addons: отворен график

Това ще отвори страницата, за да настроите планиращия. Щракнете върху „Добавяне на нова работа“, въведете „работник“ след знака „$“ и задайте честотата на „Почасови“ (или каквото искате).

Забележка: Ако имате променливата ODDS във файла с настройки, зададена на 1, и я туитирате почасово, тя туитира около 70 процента от времето (поради това, че влиза в проблема TOO SIMILAR или TOO LONG). Само нещо, което трябва да имате предвид.

Стъпка 8: Насладете се!

(чрез Giphy)

Добре! Успяхме! Честито ботиране!