Jak si vyrobit Twitter Bot za méně než hodinu

I když to tak často nekódujete!

Minulý týden jsme vyslali segment v divném a nádherném světě robotů Twitteru. Dokonce jsme se rozhodli vyrobit vlastní robota na Twitteru. Říká se tomu @scifri_ebooks (po Twitteru slavných @horse_ebooks) a doposud tweetoval některé docela skvělé věci.

Jádrem tohoto konkrétního robota je něco, co se nazývá Markovův řetězec. Chvíli to vysvětlit, ale v tomto konkrétním případě nám pomáhá vytvářet náhodné věty. Pokud připojíte existující účet Twitter, bere slova z těchto tweetů, zamíchá je a vytvoří nové, někdy podivné věty.

Mysleli jsme, že byste si mohli vyzkoušet vlastní roboty na Twitteru, proto jsme sestavili průvodce jak na to. Pokud jste ještě nikdy nekódovali, nebojte se - budete moci sledovat tento tutoriál. A vy se budete učit něco o Pythonu a Gitovi, když jste u toho!

Zřeknutí se odpovědnosti: Tento kód s otevřeným zdrojovým kódem nebude fungovat, pokud váš základní účet Twitter (ten, ze kterého bude bota čerpat) obsahuje méně než 3 600 tweetů.

Vyloučení odpovědnosti část: Tento tutoriál je určen pro lidi, kteří používají Mac.

Celkový čas: <1 hodina

Zde je to, co budeme používat:

  • Cvrlikání
  • Rozhraní příkazového řádku (například aplikace Terminal v systému Mac)
  • Textový editor (jako je aplikace TextEdit pro Mac nebo Sublime Text)
  • Git
  • Heroku

Pokud nevíte, co jsou některé z nich, NENECHTE se! Vše bude vysvětleno včas.

V pořádku.

(přes Giphy)

Krok 1: Vytvořte si nový účet pomocí Twitteru

Zde budou žít tweety vašich botů. Zřízení účtu je docela jednoduché. Pokud do uživatelského jména přidáte slovo „ebook“, Twitter Twitter pravděpodobně zjistí, že děláte robota podobnou @horse_ebooks.

K vytvoření aplikace budete muset v dalším kroku zadat také své telefonní číslo.

Pokud vytváříte robota, ale plánujete změnu kódu, doporučujeme vám podívat se na pravidla služby Twitter pro účty a pravidla pro automatizaci. Jsou na místě chránit před spamovými roboty.

Krok 2: Vytvořte si na svém webu aplikaci Twitter

Úžasné, máte nový nový účet Twitter. Nyní musíme nastavit část účtu „bot“. Začněte na webu apps.twitter.com.

Klikněte na „Vytvořit novou aplikaci“.

Zde zadáte několik základních podrobností o svém botu. Můžete je kdykoli změnit. Není také nutné zadávat informace do pole URL zpětného volání.

Krok 3: Major Keys and Tokens

Vaše nová aplikace Twitter se dodává s řetězci čísel, které se nazývají klíče a tokeny. Tato čísla umožňují připojení open-source kódu k Twitteru, takže pro nás může dělat věci jako pípání.

Většina klíčů již existuje, ale ne vše, co potřebujeme, je tam automaticky. Musíme vygenerovat věc nazvanou „přístupové tokeny“. Přejděte na kartu „Klíče a přístupové tokeny“ a přejděte do dolní části stránky; klikněte na tlačítko „Vytvořit přístupové tokeny“.

Důležité: Nikdy nesdílejte své klíče s ostatními. Mohly by se stát špatné věci.

Na stejné stránce budete potřebovat čtyři věci:

  1. Customer Key (API Key)
  2. Spotřebitelské tajemství (API Secret)
  3. Přístupový token
  4. Získejte přístup k tajnému tokenu

Dobře, použijeme je za sekundu. Mějte po ruce. Ale nejdřív…

Krok 4: Stáhněte úložiště

(přes Giphy)

Tady přichází Github. Pokud jste o Githubovi neslyšeli, je to v podstatě Dropbox pro kód.

Toto je skript, který budeme používat, vyvinutý uživatelem Tomem Meagherem. Je to napsáno v Pythonu a Ruby, ale nebudeme si s kódem tolik pohrávat.

V pravém horním rohu klikněte na zelené tlačítko „Klonovat nebo stáhnout“. Pravděpodobně budete chtít vybrat možnost „Stáhnout ZIP“. Skript by se měl ve složce Stáhnout ve vašem počítači zobrazit jako složka se zipem.

Krok 5: Hack The Matrix (Upravit soubor nastavení)

(přes Giphy)

Přejděte do složky „heroku_ebooks“, kterou jste právě stáhli a rozbalili. Přejděte k souboru s názvem „local_settings_example.py“. Doporučujeme k otevření a úpravě souboru použít aplikaci Mac TextEdit.

Tady trávíte většinu času. V tomto souboru uvedete, na jakém účtu (účtech) Twitter chcete, aby bot byl založen, jak často chcete tweetovat a jak zvláštní chcete, aby tyto tweety byly.

Klíče

Tento soubor je také místem, kde budete používat tyto klíče a žetony z waaay zpět v Kroku 3. Začněme tedy nejprve.

V horní části souboru uvidíte mezery, do kterých budete vkládat klíče a tokeny. Mezi uvozovky zkopírujte a vložte svůj spotřebitelský klíč, spotřebitelské tajemství, přístupový klíčový klíč a tajný přístupový klíč. Jsou ve stejném pořadí, v jakém se zobrazují na tomto webu apps.twitter.com.

Zdrojové účty

Nyní na zdrojové účty. Toto je účet Twitter, na kterém bude váš robot založen. Když zadáte tyto informace, zadejte název účtu bez symbolu „@“. Pokud bych například chtěl založit bota z @scifri, vypadalo by to takto:

SOURCE_ACCOUNTS = [„scifri“]

Můžete vložit více účtů, aby vaše bota byla více vyladěna. Pravidlo syntaxe zde způsobuje, že vypadá takto:

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

Když jsem to nastavoval, skript nepřijal účty Twitter s méně než 3 600 tweety. Podle stránky Github se jedná o známou chybu. Naštěstí to není show-zátka.

Kurzy

(přes Giphy)

To je místo, kde říkáme botovi, jak často chceme, aby se při každém spuštění skriptu pípal. Je automaticky nastavena na 8, což znamená, že při každém spuštění skriptu existuje šance 1: 8, že vygeneruje tweet. Pro účely testování bych doporučil změnu těchto 8 na 1.

Objednat

To říká skriptu, jaký smysl chcete, aby tyto tweety měly. Zkoušel jsem to jen na 2, což se zdá být šťastným médiem mezi uvěřitelným až zcela nesmyslným, ale můžete zkusit 1 nebo 3, pokud chcete. Kód nepovoluje čísla, která nejsou 1–3.

Ladicí a statický test

Tyto dvě možnosti slouží pro účely testování, které můžete přeskočit. Nastavte možnost Ladit na False a je dobré jít. A můžete ponechat možnost TEST_SOURCE tak, jak je.

Tweet_Account

Toto je poslední věc, které se v tomto souboru dotknete! Zadejte do svého uvítacího účtu svého nového robota Twitter a bez symbolu @, jako je výše, @.

Nyní vytvoříme nový soubor. Je to proto, že skript, který používáme, hledá určitý název souboru. V tomto případě je to „local_settings.py.“ TextEdit vám neumožňuje automaticky vytvořit vlastní typ souboru, jako je soubor Python, takže v aplikaci TextEdit klikněte na TextEdit v levém horním rohu, klikněte na „Předvolby“ a pak klikněte na „Obyčejný text“ v části Formát.

Poté vytvořte nový soubor, vložte kód a pojmenujte tento soubor „local_settings.py“ a uložte jej.

Krok 6: Heroku

Jsme doma, chlapi! Nyní budete používat službu s názvem Heroku. Je známá jako cloudová platforma jako služba. V zásadě bude váš kód žít. Heroku se také postará o spuštění skriptu a tweeting podle plánu. Nejdříve však musíte nahrát svůj kód.

(přes Giphy)

Nejprve se musíte zaregistrovat k účtu Heroku. Jděte sem a udělejte to. Na registrační stránce v části Primární vývojový jazyk můžete vybrat Python. Na váš e-mail zašle potvrzení účtu, takže se o to postarejte a jste připraveni jít.

Také si musíte stáhnout nástroj Heroku Toolbelt, který umožňuje rozhraní vašeho příkazového řádku hovořit s Heroku. Po dokončení stahování otevřete soubor a nainstalujte jej.

V rámci tohoto procesu registrace budete muset propojit svou kreditní kartu s heroku. Je to chromé, že vás to Heroku nutí udělat, ale neúčtuje vám to za to, co budete dělat.

Teď půjdete na příkazový řádek. Spusťte aplikaci Terminal. Pokud jste s Terminálem dříve pracovali, můžete přeskočit několik následujících odstavců.

Pokud jste terminál nikdy nepoužili, nevydělejte se. Víte, jak najdete soubory pomocí Finderu? Je to v zásadě podobné, kromě toho, že píšete příkazy pro přístup k souborům a jejich úpravu (provádí také některé další věci, ale VÍCE NEŽ JINÉ).

Pro tuto další část se musíte dostat do složky heroku_ebooks, která pravděpodobně přešla do složky Stažené soubory. Zde je příkaz, který musíte zadat; poté to uděláte stiskem Enter:

CD ke stažení / heroku_ebooks-master

„Cd“ znamená „change directory“. Tímto příkazem se tedy ponoříte do složky heroku_ebooks.

Jakmile jste uvnitř složky, musíte nastavit git. Git je prostředník, který dostane vaši složku z počítače na Heroku.

Git není nainstalován v počítači. Je dodáván v sadě vývojářských nástrojů zvaných XCode. Do terminálu zadejte „git“ a stiskněte Enter. Pokud není nainstalována, zobrazí se výzva k instalaci XCode. Po dokončení můžete spustit následující příkazy. Budete muset psát a stisknout Enter, jeden po druhém, tak.

git init

Tím se vytvoří nové úložiště git. V podstatě to vytváří prostor pro vložení kódu.

git add.

To říká git, že to bude zpracovávat všechny soubory v aktuální složce.

git commit -am „Přidat všechny soubory“

Toto je zpráva, která popisuje akci, kterou s těmito soubory provádíte.

heroku create - stack cedr

Heroku to řekne, aby vytvořil prostor (server) pro vaše soubory na svém webu (formálně nazývaný prostředí pro nasazení). Může to chvíli trvat. Poté vás vyzve k zadání e-mailu a hesla přidruženého k vašemu účtu Heroku.

git push heroku master

Toto je poslední krok a „posune“ vaši složku do Heroku.

Poznámka: Pokud chcete něco změnit v souboru nastavení nebo pokud jste udělali chybu, změňte soubor, uložte a spusťte následující příkazy. Pamatujte, že k tomu musíte být ve složce heroku_ebooks, o kterou se první příkaz postará po spuštění Terminálu.

cd heroku_ebooks
git add local_settings.py
git commit -am “Aktualizovat local_settings.py”
git push heroku master

Pokud to funguje, měli byste získat výstup, který má spoustu řádků začínajících „remote:…“, které končí tím, co by mělo vypadat takto:

Nyní, okamžik pravdy! Spusťte následující příkaz v Terminálu a zjistěte, zda funguje.

heroku běžící pracovník

To nemusí vždy fungovat dokonale. Algoritmus neposílá tweety, pokud jsou příliš podobné předchozím tweety nebo jsou-li příliš dlouhé. V těchto případech by návratový text četl něco jako „TOO SIMILAR:“ nebo „TOO LONG:“. Tohle by mělo vypadat, když to bude fungovat:

Ale dál spusťte příkaz heroku run worker, dokud něco neprojde. Udržujte účet robota na Twitteru otevřený, abyste se ujistili, že ano. (Pro tip: V Terminálu místo opakování příkazu pokaždé stačí stisknout šipku nahoru, která volá poslední příkaz, a stisknout Enter.)

Krok 7: Nastavení plánu

Dosud bude robot pípat pouze tehdy, pokud v Terminálu spustíte příkaz heroku run worker. Chcete to automatizovat, takže se o to postará za vás. To znamená, že musíte nastavit plán, který může Heroku také udělat.

Typ a spuštění:

heroku addons: add plánovač: standard

To říká Heroku, aby nainstaloval nástroj plánovače. Pokud jste do svého účtu Heroku dříve nepřidali svou kreditní kartu, tento příkaz nebude fungovat. Zde je odkaz, jak to udělat znovu.

Další:

heroku addons: otevřený plánovač

Otevře se stránka pro nastavení plánovače. Klikněte na „Přidat novou úlohu“, za znak $ zadejte „pracovník“ a nastavte frekvenci na „hodinovou“ (nebo cokoli chcete).

Poznámka: Pokud máte proměnnou ODDS v souboru nastavení nastavenou na 1 a máte ji tweeting každou hodinu, twepluje asi 70 procent času (kvůli tomu, že běží do problému TOO SIMILAR nebo TOO LONG). Jen něco, co byste měli mít na paměti.

Krok 8: Užijte si to!

(přes Giphy)

V pořádku! Dokázali jsme to! Happy botting!