Jak postavit Photo Tweeting Twitter Bot s Raspberry Pi a Node.js

  • Brian Curtis
  • 1
  • 2393
  • 246
reklama

Hledáte způsob, jak učinit Twitter užitečnějším, i když jen pro jiné lidi? Jedním ze způsobů je vytvoření automatizovaného robota Twitter, který tweety obrázků s užitečnými popisy. Dalo by se to udělat ručně ... nebo byste to mohli postavit pomocí Node.js a hostovat na Raspberry Pi. Čtěte dál a zjistěte jak.

Proč stavět Twitter Bot?

Pokud jste někdy byli na Twitteru a viděli jste účty, které zveřejňují fotografie, fakta nebo karikatury atd., Pak je naprosto pravděpodobné, že jsou automatizované. Je to skvělý způsob, jak vybudovat publikum lidí, kteří se zajímají o stejné téma.

Existuje však i jiný důvod, kromě pravidel a následků. Vytvoření robota na Twitteru vás naučí některé užitečné programovací dovednosti. Dříve jsme se zabývali tím, jak pomocí Pythonu vybudovat základní Twitter bot Jak vytvořit Raspberry Pi Twitter Bot Jak vytvořit Raspberry Pi Twitter Bot Twitter je největší světové úložiště krátkých zpráv od lidí, kteří nemají co říct - a teď vy také můžete přispět k tomuto epickému projektu automatizovaným Twitter botem, poháněným vaší Raspberry… (také na Raspberry Pi), ale tentokrát přistupujeme jiným způsobem.

V tomto projektu použijeme Node.js k sestavení botky na fotografie na Raspberry Pi. Fotografie budou fotografie z první světové války, doplněné krátkou větou a atributem). Tyto informace budou uloženy v matici, základní databázi. Co je vlastně databáze? [MakeUseOf vysvětluje] Takže co je vlastně databáze? [MakeUseOf vysvětluje] Pro programátora nebo technologického nadšence je koncept databáze něco, co lze skutečně považovat za samozřejmost. Pro mnoho lidí je však koncepce samotné databáze trochu cizí… .

Začínáme: Vytvořte databázi

Pokud chcete vytvořit botku na fotografie, musíte začít sbíráním obrázků, které chcete sdílet. Měly by to být buď vaše vlastní obrázky, nebo ty, které jste získali na základě Creative Commons nebo jiné licence s otevřeným zdrojovým kódem.

Měli byste si také poznamenat přiřazení a další informace, které chcete s obrázky přejít. K těmto informacím se vrátíme později, jakmile bude bota spuštěna.

Nainstalujte Node.js na Raspbian

Začněte instalací Node.js. Měli byste již mít Raspberry Pi v provozu a měli byste mít nainstalovaný Raspbian Jak nainstalovat operační systém na Raspberry Pi Jak nainstalovat operační systém na Raspberry Pi Zde je návod, jak nainstalovat operační systém na Raspberry Pi a jak klonovat váš dokonalý nastavení pro rychlé zotavení po havárii. . Pro tento projekt doporučujeme Raspberry Pi 2 nebo novější; projekt byl testován na modelu Raspberry Pi 3 B + Jak se rozhodnout, zda potřebujete nový model Raspberry Pi 3 B + Jak se rozhodnout, pokud potřebujete nový model Raspberry Pi 3 B + Byl vydán nový produkt Raspberry Pi 3 B +. Kolik to stojí, jaké tvrdé specifikace má a zlepší vaše stávající projekty? Máme odpovědi. .

V terminálu (nebo přes SSH VNC, SSH a HDMI: Tři možnosti pro prohlížení Raspberry Pi VNC, SSH a HDMI: Tři možnosti pro prohlížení Raspberry Pi Raspberry Pi je pozoruhodný malý počítač, ale může být časově náročné nastavit a připojte jej k monitoru.), aktualizujte seznam systémových balíčků a upgradujte na nejnovější verzi:

sudo apt-get update sudo apt-get dist-upgrade

Postupujte podle výzvy na obrazovce a počkejte, než se aktualizace Pi. Až budete hotovi, restartujte s

sudo restart

Až budete hotovi, stáhněte si Node.js pomocí curl:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

Poté jej nainstalujte pomocí

sudo apt-get install -y nodejs

Až bude vše hotovo, proveďte kontrolu, zda byl software správně nainstalován. Nejjednodušší je zkontrolovat číslo verze:

uzel -v

Odpověď by měla být něco jako v8.11.3 (nebo vyšší). Pokud něco takového vidíte, můžete si být jisti, že je Node.js připraven k použití.

Sestavte si Twitter Twitter

Další fází je zadání kódu, který vytvoří robota. Začněte vytvořením adresáře:

mkdir twitterbot

Poté jej změňte do nového adresáře vašeho robota:

cd twitterbot

Zde vytvořte soubor s názvem server.js

sudo nano server.js

V tomto souboru zadejte jeden řádek:

console.log („Já jsem robot na Twitteru!“);

lis Ctrl + X pro uložení a ukončení, spusťte skript:

uzel '/home/pi/twitterbot/server.js'

To by mělo vrátit frázi “Jsem cvrlikání bot!”. Nyní, když jste potvrdili, že to funguje, je čas nainstalovat knihovnu Twit npm ( Správce balíčků uzlů). Ujistěte se, že je nainstalován zadáním:

npm -v

Opět byste měli vidět číslo verze.

Následujte toto s:

npm init

Začneme tím, že budete vyzváni k zadání informací o aplikaci Node.js, kterou vytváříte. Zobrazí se výchozí možnosti (jako je tato), takže je můžete přijmout klepnutím na Enter. Můžete se také rozhodnout zadat své vlastní údaje. Jakmile tato konfigurace skončí, budete požádáni o potvrzení podrobností “Ano”.

Další fází je instalace modulu Twit z npm.

npm install twit --save

Počkejte, až se soubory stáhnou do podadresáře node_modules. Po dokončení znovu otevřete soubor server.js v nano.

sudo nano server.js

Zde odstraňte dříve zadaný příkaz a nahraďte jej:

var fs = vyžadovat ('fs'), cesta = vyžadovat ('cesta'), Twit = vyžadovat ('twit'), config = vyžadovat (path.join (__ dirname, 'config.js'));

Uložte a ukončete jako dříve.

Vytvořte aplikaci Twitter

Chcete-li vytvořit funkční Twitter bot, musíte vytvořit aplikaci Twitter. Jedná se o jednoduchý proces, který vyžaduje, abyste se nejprve zaregistrovali pro nový účet Twitter. Upozorňujeme, že to také vyžaduje telefonní číslo k ověření účtu, a jakmile je hotovo, přejděte k vývojáři vývoj.twitter.com a vytvořte aplikaci..

Pokud nemáte účet vývojáře, může to nějakou dobu trvat, protože je potřeba určité množství formuláře. Toto je krok, který Twitter učinil, aby se vyhnul spamu, takže si udělejte čas a odpovězte na otázky přesně.

Klikněte na Vytvořte aplikaci, a podle potřeby přidejte podrobnosti. V době psaní prochází vývojový systém opravou, takže možná budete muset počkat několik dní (a odpovědět na některé další otázky).

Dále přepněte na Klíče a žetony kartu a pod Oprávnění najít Přístupové oprávnění a ujistěte se, že je nastavena na Číst a psát (použití Upravit Pokud ne). Poté přepněte na Keys and Tokens a poznamenejte si následující:

  • Zákaznický klíč
  • Spotřebitelské tajemství

V části Přístupový token klikněte na Vytvořit vygenerovat:

  • Přístupový token
  • Získejte přístup k tajnému tokenu

Toto jsou klíče API, které budete potřebovat pro udělení přístupu k vašemu Twitteru.

Zpět na příkazovém řádku vytvořte config.js v nano:

sudo nano config.js

Přidejte následující

var config = consumer_key: 'XXXXX', consumer_secret: 'XXXXX', access_token: 'XXXXX', access_token_secret: 'XXXXX' module.exports = config;

Pokud je uvedeno „XXXXX“, nahraďte vlastní odpovídající podrobnosti o klíči API.

Uložte a ukončete a otevřete server.js.

sudo nano server.js

Zde připojte následující řádky na konec souboru:

var T = nový Twit (config); T.post ('statususes / update', status: 'My first tweet!', Function (err, data, response) console.log (data));

Mělo by to vypadat takto:

Opět uložte a ukončete, pak v příkazovém řádku zadejte

uzel server.js

Otevřete svůj účet Twitter v prohlížeči a zobrazte výsledky:

Potvrdili jste, že bot je tweeting, takže je čas dát mu něco na práci!

Vytvořte si složku obrázků

Chcete-li fotografie tweetovat, zkopírujte pořízené obrázky do složky (obvykle pojmenované) snímky). Začněte asi tuctem.

Dále se vraťte do dokumentu server.js:

sudo nano server.js

Zde odstraňte kód, který poslal tweet, řádek začínající T.post ('statususes / update').

Poté to nahraďte funkcí nazvanou random_from_array. Tím náhodně vyberete obrázek ze složky obrázků.

function random_from_array (images) return images [Math.floor (Math.random () * images.length)]; 

Jakmile to uděláte, budete muset přidat druhou funkci, upload_random_image:

function upload_random_image (images) console.log ('Otevření obrázku ...'); var image_path = path.join (__ dirname, '/ images /' + random_from_array (images)), b64content = fs.readFileSync (image_path, kódování: 'base64'); console.log ('Nahrávání obrázku ...'); T.post ('media / upload', media_data: b64content, funkce (err, data, response) if (err) console.log ('ERROR:'); console.log (err); else  console.log ('Image uploaded!'); console.log ('Now tweeting it…'); T.post ('statususes / update', media_ids: new Array (data.media_id_string), funkce (err, data , response) if (err) console.log ('ERROR:'); console.log (err); else console.log ('Zveřejnil obrázek!'););); 

Tato funkce náhodně vybere obrázek ze složky obrázků a jakmile je vybrána, je nahrána na Twitter pomocí rozhraní API pro média / upload.

Dále přidejte následující kód. Nalezne se adresář obrázků a odebere se z něj obrázek, každý za 60 vteřin zaúčtuje jeden. Toto načasování, které je v kódu znázorněno číslem 60000, můžete upravit (a měli byste). Doporučujeme delší mezery.

 setInterval (function () upload_random_image (images);, 60000); );

Uložit pomocí Ctrl + X, pak Ano pro uložení. (Celý kód tohoto projektu najdete na GitHubu).

Jednorázové použití uzel server.js příkaz potom vyzve fotografie, aby začaly tweeting! (Pokud potřebujete příspěvky ukončit, stiskněte tlačítko Ctrl + Z zrušit skript server.js.)

Přidání textu na vaše tweety s fotografií

Potřebujete-li k obrázkům přidat text, lze to provést pomocí pole. Pole odkazuje na názvy souborů obrázků a uvádí text, který by měl být přidán. Například můžete přidat přiřazení k obrázkům, které jste nefotografovali. Nebo můžete přidat některá fakta nebo citát.

Začněte vytvořením images.js

sudo nano images.js

Zde přidejte následující kód. Toto je pole se dvěma prvky, souborem a zdrojem. Tito obsahují jméno souboru obrázku a atribut (obvykle URL).

var images = [file: 'image0001.png', source: 'http://www.example.com/image0001.png', file: 'image0002.png', source: 'http: // www. example.com/image0002.png ',]

Opakujte podle potřeby pro každý obrázek a pak ukončete soubor images.js:

module.exports = images;

Uložte a zavřete soubor, pak znovu otevřete server.js a přidejte jej do seznamu proměnných:

images = vyžadovat (path.join (__ dirname, 'images.js'));

Uložte a ukončete a restartujte robot Twitter pomocí uzel server.js příkaz znovu.

Můžete také použít “zdroj” do pole vložte nějaký text, který vysvětluje pozadí obrázku. To lze zahrnout vedle adresy URL.

Vaše první cvrlikání, připravené k opětovnému použití!

Nyní byste měli mít automatické odesílání a spouštění Twitteru, sdílení fotek, faktů a atributů na dané téma.

Abychom to shrnuli, proces je:

  • Sbírejte své fotografie
  • Nainstalujte Node.js
  • Vytvořte si Twitter bot
  • Požádejte o status vývojáře na Twitteru
  • Vytvořte aplikaci Twitter
  • Přidejte pole přiřazení
  • Začněte tweeting!

Možná nejlepší na tom je, že kód lze použít k tweetování fotografií, faktů a atributů u doslova jakéhokoli předmětu.

Chcete vědět, jaké další roboty byste mohli spustit s podobným nastavením? Podívejte se na náš seznam nejlepších projektů na Twitteru pro Raspberry Pi 10 Nejlepší projekty na Twitteru pro Raspberry Pi 10 Nejlepší projekty na Twitteru pro Raspberry Pi !




09.03.24 00:37
atorvastatin 80mg brand <a href="https://lipiws.top/">buy generic lipitor 10mg</a> buy atorvastatin 40mg online
O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.